为什么我的服务器发送到outlook / hotmail的电子邮件仍然被视为垃圾邮件?

时间:2018-01-16 09:50:12

标签: php email outlook phpmailer email-spam

我知道这个问题已被提出,但我花了好几个小时试图解决问题而不做任何改变。我使用PHPMailer发送的所有电子邮件都被hotmail / outlook帐户视为垃圾邮件。我没有gmail或yahoo这个问题。但前景似乎非常严格......

我的网站存储在Ex2 Hosting共享服务器上。使用https://mxtoolbox.com/我没有看到服务器可能被列入黑名单的迹象。

DKIM和SPF认证均已激活。并且在标题和html / body部分都有取消订阅链接。

当我使用https://www.mail-tester.com/进行测试时,SpamAssassin检测到的唯一问题是' MISSING DATE'。即使我在标题中设置当前日期(参见下面的代码)。

非常感谢任何想要帮助我的人:)

这是我的代码:

    date_default_timezone_set('Europe/Paris');
$dt = new Datetime('now');


    $mail = new PHPMailer(true);

    try {

        $mail->SMTPDebug = 0;
        $mail->isSMTP();
        $mail->Host = 'my.shared-server.com';
        $mail->SMTPAuth = true;
        $mail->Username = 'contact@myfirm.com';
        $mail->Password = 'MYPASSWORD';
        $mail->SMTPSecure = 'tls';
        $mail->Port = 587;
        $mail->ReturnPath = 'contact@myfirm.com';
        $mail->setFrom('contact@myfirm.com', 'My Firm');
        $mail->addAddress($recipient, '');
        $mail->addReplyTo('contact@myfirm.com', 'My Firm');
        $mail->addCustomHeader('List-Unsubscribe', '<mailto:postmaster@myfirm.com?subject=Unsubscribe>, <https://www.myfirm.com/unsubscribe>');
        $mail->MessageDate = $dt->format('Y-m-d H:i:s T');
        $mail->CharSet = 'UTF-8';
        $mail->isHTML(true);
        $mail->Subject = $title;
        $mail->Body    = '<!DOCTYPE html>
                <html>
                    <head>
                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                        <style>
                            /* css code */
                        </style>
                        <title>My Firm</title>
                        <meta name="description" content="An email from My Firm">
                        <link href="https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600,700,800" rel="stylesheet">
                    </head>
                    <body>
                        <p>$message_html</p>
                    </body>
                </html>';
        $mail->AltBody = $message_text;

        $mail->send();

        echo 'Message has been sent';

    } catch (Exception $e) {

        echo 'Error';

    }

0 个答案:

没有答案