используя метод AddAttachment PHPMailer на PHP 5, кажется, я не могу заставить почтовый клиент декодировать секцию base64.
Практически, получая сообщение электронной почты с Thunderbird, вместо моего прикрепленного файла "asyF074.tmp", я обнаружил прикрепленный файл "Part1.2", который содержит заголовки разделов (
name="asyF074.tmp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="asyF074.tmp"
), за которым следует base64 представление содержимого файла.
Я не могу понять, что происходит с приложением:
$filename = tempnam ( "" , "asy" );
$f = fopen($filename, "wb");
fwrite($f, $tbl, strlen($tbl));
fclose($f);
/*
* Send mail...
*/
$mail = new phpmailer();
$mail->IsSMTP();
$mail->From = "andrew@" . $domain;
$mail->FromName = "Andrew";
$mail->Host = $mail_host;
$mail->Port = $mail_port;
$mail->AddAddress($mail_destination);
$mail->IsHTML(true);
$mail->Subject = "2011 Polls";
$mail->Body = $msg;
$mail->AddAttachment($filename, "2011-Polls.xls", "quoted-printable", "application/vnd.ms-excel");
$mail->Send(); // send message
unlink($filename);
Кроме того, даже если я явно установил кодировку на «quoted-printable», вложение всегда приходит в кодировке base64.
Спасибо.