,看來我不能讓任何郵件客戶端進行解碼的base64部分。PHPMailer的附件:使用的PHPMailer的AddAttachment方法對PHP 5的郵件客戶端不解碼
實際上,在接收電子郵件雷鳥,而不是我的附件「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 = "[email protected]" . $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);
而且,即使我明確地設置編碼爲「引用可打印」,附件總是編碼爲Base64。
謝謝。
這真的不是一個有用的自我回答 – HorusKol 2011-12-21 03:59:39