带附件的PHP邮件-附加文件:第1.4部分
我正在使用以下代码发送带有附件的电子邮件:带附件的PHP邮件-附加文件:第1.4部分,php,email,attachment,Php,Email,Attachment,我正在使用以下代码发送带有附件的电子邮件: $mime_boundary = "<<<--==+X[".md5(time())."]"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: multipart/mixed;\r\n"; $headers .= " boundary=\"".$mime_boundary."\""; $message .= "Th
$mime_boundary = "<<<--==+X[".md5(time())."]";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed;\r\n";
$headers .= " boundary=\"".$mime_boundary."\"";
$message .= "This is a multi-part message in MIME format.\r\n\r\n";
$message .= "--".$mime_boundary."\r\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n";
$message .= "\r\n";
$message .= "$message_body\r\n";
$message .= "--".$mime_boundary."\r\n";
foreach($attachments as $filename => $data)
{
$message .= "Content-Type: application/octet-stream;\r\n";
$message .= " name=\"$filename\"\r\n";
$message .= "Content-Transfer-Encoding: quoted-printable\r\n";
$message .= "Content-Disposition: attachment;\r\n";
$message .= " filename=\"$filename\"\r\n";
$message .= "\r\n";
$message .= chunk_split(base64_encode($data));
$message .= "\r\n";
$message .= "--".$mime_boundary."\r\n";
}
mail($email_address, $email_subject, $message, $headers);
$mime\u boundary=“IIRC最后一个部分分隔符必须是——某种独特的东西--
,即在您的情况下
$message .= "--".$mime_boundary."--\r\n";
但是mime邮件或多或少是一个已解决的问题(例如,对于应用程序开发人员来说,正确地处理它是令人厌烦的,而错误地处理它则是令人讨厌的;-))。帮自己一个忙,使用类似或任何其他邮件库/类的东西。这会发生在所有邮件客户端上吗?如果您还添加邮件正文,会发生吗?太好了!现在可以完美地工作了。谢谢:-)也刚刚让速递员试一试。非常好,使用简单。再次感谢。精彩:)尽管mime邮件并不完全是火箭科学它有许多棘手甚至是乏味的方面。我总是建议使用邮件库(除非你发现电子邮件非常有趣,以至于写最好的邮件库成了你的新项目/爱好——必须有人写那些整洁的包装)。对于大多数用户来说,测试电子邮件是否真的到达并正确显示对应用程序开发人员来说是一项足够大的任务-不需要使用字符串连接来处理内部内容=]