Php 快捷邮件进入垃圾邮件文件夹

Php 快捷邮件进入垃圾邮件文件夹,php,email,sendmail,swiftmailer,Php,Email,Sendmail,Swiftmailer,在本例中,$filepath是用户从表单附加文件时使用的tmp路径,$file\u name是tmp文件名$\u files['file']['name'] 在这个设置中,我可以发送邮件,但当有附件时,邮件会进入垃圾邮件文件夹。若并没有附件,邮件将进入收件箱 当我从某个位置上载文件而不是从表单发送附件时,此设置工作得非常好 我认为这与电子邮件标题有关,但我无法找出错误 谁能帮我纠正一下我在这里犯的错误吗 通过将标题修改为 $headers = "\r\n" . "MIME-Version: 1.

在本例中,$filepath是用户从表单附加文件时使用的tmp路径,$file\u name是tmp文件名$\u files['file']['name']

在这个设置中,我可以发送邮件,但当有附件时,邮件会进入垃圾邮件文件夹。若并没有附件,邮件将进入收件箱

当我从某个位置上载文件而不是从表单发送附件时,此设置工作得非常好

我认为这与电子邮件标题有关,但我无法找出错误

谁能帮我纠正一下我在这里犯的错误吗

通过将标题修改为

$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);

添加以下标题以避免转到垃圾邮件文件夹:

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers.=“邮件ID:\r\n”;
$headers.=“X-Mailer:PHP v”.phpversion()。”\r\n;

在2015年的SwiftMailer版本中,您将使用内置的
getHeaders()
方法设置标题

$headers .= "Message-ID: <".time()." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";         

谢谢你的帮助。。。即使添加了上面的代码,邮件也会变成垃圾邮件。我不确定是什么问题,这对我来说是有效的,这可能取决于服务器垃圾邮件过滤器。。。很难说是什么问题。@user434509您还做了哪些修改?从中,您不需要通过ref(
=&
)返回。
$headers =& $message->getHeaders();
$headers->addIdHeader('Message-ID', "b3eb7202-d2f1-11e4-b9d6-1681e6b88ec1@domain.com");
$headers->addTextHeader('MIME-Version', '1.0');
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion());
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']);