Hallo,
ich möchte gerne an die durch ein Kontaktformular versendeten eMails Anhänge im vCard-Format anhängen.
Zur Überprüfung steht mir als email-Client Thunderbird zur Verfügung. Zunächst dachte ich, daß dieser vCard-Anhänge nicht unterstützt. Heute bekam ich jedoch eine eMail mit korrekt dargestelltem vCard-Anhang ...
Über eine Funktion füge ich die Mime-Header zum Header-String hinzu (siehe unten).
Leider wird bislang der komplette Headerstring im Klartext in meinem eMail-Client dargestellt.
Hat jemand eine Idee, wo der Fehler liegen könnte?
Danke, Grüße,
Sebastian
/******************** vCard Header ********************/
function addVcard($str,$vcard_name='test')
{
global $vcard_str;
// content-type header for MIME mail
$vcard_mail_str = "MIME-Version: 1.0\r\n";
$vcard_mail_str .= "X-Priority: 3\r\n"; // 3 = Normal
$vcard_mail_str .= "Content-Type: multipart/mixed;\r\n";
// MIME boundary definition
$vcard_mail_str_boundary = '<<<:' . md5(uniqid(mt_rand(),1));
$vcard_mail_str .= " boundary="" . $vcard_mail_str_boundary . ""\r\n";
// message for non mime clients
$vcard_mail_str .= "This is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format\r\n";
$vcard_mail_str .= "\r\n";
// MIME boundary
$vcard_mail_str .= "--$vcard_mail_str_boundary\r\n";
// message (plain text)
$vcard_mail_str .= "Content-Type: text/plain; charset="iso-8859-1"\r\n";
$vcard_mail_str .= "Content-Transfer-Encoding: 7bit\r\n";
$vcard_mail_str .= "\r\n"; // line break is necessary
$vcard_mail_str .= $str . "\r\n";
// MIME boundary
$vcard_mail_str .= "--$vcard_mail_str_boundary\r\n";
// attachment (vcard)
$vcard_mail_str .= "Content-Description: vcard for $vcard_name;\r\n";
$vcard_mail_str .= "Content-Disposition: attachment;\r\n";
$vcard_mail_str .= "Content-Type: text/x-vcard; charset=us-ascii; name="$vcard_name.vcf"\r\n";
$vcard_mail_str .= "Content-Transfer-Encoding: 7bit\r\n";
$vcard_mail_str .= "\r\n"; // line break is necessary
$vcard_mail_str .= $vcard_str . "\r\n";
// MIME boundary
$vcard_mail_str .= "--$vcard_mail_str_boundary\r\n";
return $vcard_mail_str;
}
$mailhead = "From: $name <$from>";
$mailhead .= "\r\nReply-To: $name <$from>";
$mailhead .= "\r\nSender: $name <$from>";
$mailhead .= addVcard($msg);
mail("$mailto_name <$company_mailto>",$subject,$msg,$mailhead)