【发布时间】:2012-03-03 07:49:40
【问题描述】:
$headers = "\r\n" . "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$message = Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array('from@mail.com' => 'From Address'))
->setTo(array('to@mail.com' => 'To Address'))
->setBody($message_plain_txt)
->addPart($message, 'text/html')
;
if ($file_name)
{
$message->attach(Swift_Attachment::fromPath($file_path));
}
$result = $mailer->send($message);
在这种情况下,$filepath 是我在用户从表单中附加文件时使用的 tmp 路径,而 $file_name 是 tmp 文件名 $_FILES['file']['name']。
在此设置中,我可以发送邮件,但是当有附件时,邮件会进入垃圾邮件文件夹。如果没有附件,则邮件将进入收件箱。
当我从某个位置上传文件而不是从表单发送附件时,此设置非常有效。
我认为这与电子邮件标题有关,但我无法找出错误。
谁能帮我解决我在这里犯的错误。
通过将标题修改为
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
【问题讨论】:
标签: php email sendmail swiftmailer