Назад | Перейти на главную страницу

Электронная почта PHPMailer попадает в спам, а электронная почта Outlook - нет

Я отправляю электронные письма с помощью PHPMailer через контролируемый мной SMTP-сервер, и у меня настроены и работают DKIM и SPF, однако, когда я отправляю тестовое электронное письмо на свою учетную запись gmail, оно немедленно попадает в папку спама и утверждает, что моя электронная почта похожа на сообщения, обнаруженные их спам-фильтрами.

Однако, если я затем использую Outlook для отправки того же сообщения через тот же SMTP-сервер, оно не будет отфильтровано как спам.

Это заголовки письма, отправленного в спам.

Delivered-To: my_address@gmail.com
Received: by 10.227.117.6 with SMTP id o6csp468220wbq;
        Thu, 16 Aug 2012 00:21:15 -0700 (PDT)
Received: by 10.43.117.129 with SMTP id fm1mr196323icc.1.1345101675202;
        Thu, 16 Aug 2012 00:21:15 -0700 (PDT)
Return-Path: <bounce+95719fab75@my_smtp_server_domain.com>
Received: from mailapproved.com (mailapproved.com. [199.195.193.140])
        by mx.google.com with ESMTP id s18si1547632igi.61.2012.08.16.00.21.14;
        Thu, 16 Aug 2012 00:21:15 -0700 (PDT)
Received-SPF: pass (google.com: domain of bounce+95719fab75@my_smtp_server_domain.com designates 199.195.193.140 as permitted sender) client-ip=199.195.193.140;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of bounce+95719fab75@my_smtp_server_domain.com designates 199.195.193.140 as permitted sender) smtp.mail=bounce+95719fab75@my_smtp_server_domain.com; dkim=pass header.i=@mailapproved.com
Received: from ml.my_smtp_server_domain.com.com (ml.my_smtp_server_domain.com.com [199.195.193.133])
    by my_smtp_server_domain.com.com (Postfix) with ESMTPA id E3CC68E057
    for <my_address@gmail.com>; Thu, 16 Aug 2012 07:21:12 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=my_smtp_server_domain.com;
    s=server1; t=1345101672;
    bh=TsyHxri8hUJjEnMBm8JUJzfLs5a3ea9aRZQ15toMNyQ=;
    h=Date:To:From:Reply-to:Subject:List-Unsubscribe;
    b=hOUSOx/fN8ZwTlEp4KBAKSGRZHgH6kSj0xUeLlq8J2JGBEE2x6c2b5sh/nFwqx45T
     kuorzu3TsLDDMHCBLmSNLfrYWqyCzkT4Iwh1NJlCL5zm4GwYDXVrVsd+6AjJNfzPN+
     W5idEJ62+MCgsMqgCd6gmpACMcqntgwgp+WcLKFc=
Date: Thu, 16 Aug 2012 15:21:12 +0800
To: Me <my_address@gmail.com>
From: Someone <no-reply@my_smtp_server_domain.com>
Reply-to: No Reply <no-reply@my_smtp_server_domain.com>
Subject: Welcome to Blah
Message-ID: <f2039f590798697bc998c686920020df@ml.my_smtp_server_domain.com>
List-Unsubscribe: <mailto:unsubscribe@my_smtp_server_domain.com?subject=Unsubscribe>, <http://ml.my_smtp_server_domain.com.com/unsubscribe/e783daa664>
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="b1_f2039f590798697bc998c686920020df"

Здесь два сервера: my_smtp_server_domain.com, который является SMTP-сервером, и ml.my_smtp_server_domain.com, который является почтовым приложением (для законных информационных бюллетеней для людей, у которых есть двойной OP'd).

Само сообщение представляет собой простое электронное письмо с подтверждением для списка рассылки.

Я не понимаю, как это может работать, когда я использую Outlook, но не могу использовать PHPmailer, в чем разница?

У меня была такая же проблема с использованием PHPMailer, и вот что решило проблему для меня: установите отправителя (он отличается и отличается от «От») на действительную учетную запись электронной почты для домена, с которого вы отправляете электронное письмо. Это заставляет PHPMailer правильно установить информацию «из конверта», чтобы электронное письмо прошло проверку SPF и Sender-ID. Без этого "конверт-от" - это комбинация идентификатора пользователя и сервера на уровне ОС, которая не поддается проверке. Надеюсь, это поможет.

Пример кода:

$mail = new PHPMailer;

$mail->From = 'from_email@domain.com';
$mail->Sender = 'sender_email@domain.com';
...

Заголовки, отправляемые Outlook и PHPMailer или любой другой почтовой программой, различаются. Многие фильтры спама автоматически повышают рейтинг сообщения при обнаружении таких заголовков. Предположительно, это потому, что они настолько распространены в спаме.

В качестве первого шага удалите все заголовки, которые идентифицируют отправляющую систему как PHPMailer. Если это не помогает, посмотрите на само сообщение и попробуйте изменить его, чтобы оно не выглядело как спам, поскольку ваше сообщение может быть на грани.