phpmailer, php, заголовок, письмо попадает в спам

Я столкнулся с проблемой при отправке электронных писем из системы, и проблема в том, что электронное письмо доставляется в ящик для спама в gmail/yahoo/hotmail. Я пишу здесь после того, как сделал свою домашнюю работу и уже проверил и проверил настройки SPF, настройки обратного DNS (указывал в другом месте и внес изменения сегодня утром около 5 часов назад). Проверка RDNS теперь говорит, что сопоставление идеально. Но не повезло. Письма попадают в спам. В чем может быть проблема?

Фон: я использую PHP с PHPMailer для отправки электронных писем.

Заголовок письма, попавшего в спам:

Delivered-To: [email protected]
Received: by 10.227.144.12 with SMTP id x12cs63931wbu;
    Mon, 9 May 2011 17:05:44 -0700 (PDT)
Received: by 10.68.64.225 with SMTP id r1mr11349194pbs.250.1304985942785;
    Mon, 09 May 2011 17:05:42 -0700 (PDT)
Return-Path: <[email protected]>
Received: from xpal.com (208.78.241.38.svwh.net [208.78.241.38])
    by mx.google.com with ESMTPS id w1si21200467pbh.199.2011.05.09.17.05.40
    (version=TLSv1/SSLv3 cipher=OTHER);
    Mon, 09 May 2011 17:05:41 -0700 (PDT)
Received-SPF: pass (google.com: domain of [email protected] designates 208.78.241.38 as permitted sender) client-ip=208.78.241.38;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of [email protected] designates 208.78.241.38 as permitted sender) [email protected]
Received: by xpal.com (Postfix, from userid 33)
id F31C12C30BA; Mon,  9 May 2011 17:05:29 -0700 (PDT)
To: Ajith Ravi <[email protected]>
Subject: checkarun replied on your xpalling on Sindura
X-PHP-Originating-Script: 0:phpmailer_class.php
Date: Mon, 9 May 2011 17:05:29 -0700
From: XPal Members Alert <[email protected]>
Reply-to: Xpal Members Alert <[email protected]>
Message-ID: <[email protected]>
X-Priority: 3
X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="b1_e773974b10a1d7a0e54d55f489427da1"

person sniper    schedule 10.05.2011    source источник


Ответы (2)


Это связано с тем, что когда вы отправляете письмо с помощью функции PHP mail(), если вы используете общий хост, оно появится в вашем заголовке Received. Один из способов — изменить заголовки, которые вы отправляете. Эта статья и эта статья дает хороший способ обойти спам-фильтры, изменив заголовки.

Из соображений передового опыта вам следует исследовать использование Sender Policy Framework (SPF), чтобы избежать расценивания как спам. .

Вас также может заинтересовать sendmail, который подключается к другой учетной записи электронной почты (например, к учетной записи Gmail). ) и отправляет почту с этой учетной записи, а не с вашего локального сервера.

person kevinji    schedule 10.05.2011
comment
@ mc10, спасибо!! Поскольку я использую phpmailer для отправки, я обязательно меняю свои заголовки. Я просмотрел эти статьи и, похоже, большую часть из них я делаю правильно. Сервер, который я использую, является выделенным сервером, так что это не может быть проблемой. Обновлены сведения о заголовке: получено: от xpal.com (xpal.com [208.78.241.38]) от mx.google.com с идентификатором ESMTPS k2si21395354pbo.204.2011.05.09.18.38.54 (версия = TLSv1/SSLv3, шифр = OTHER); В чем может быть потенциальная проблема? - person sniper; 10.05.2011
comment
Вот фрагмент кода, который я устанавливаю внутри функции класса, которая отправляет электронные письма: $mail = new phpmailer(); $mail->AddCustomHeader('Reply-to:[email protected]'); $mail->From="[email protected]"; $mail->FromName="XPal Members Alert"; - person sniper; 10.05.2011
comment
Вы отправляете почту с сервера XPal? В противном случае у вас могут возникнуть проблемы с DKIM. Вам также необходимо отправить DKIM-заголовок для подтверждения почтовыми агентами. - person kevinji; 10.05.2011
comment
Ааа, ты точно затронул мою серую зону. :) . Позвольте мне уточнить мои вопросы. Если я использую sendmail, доступный на сервере xpal, для отправки электронной почты (это делает класс phpmailer), обязательно ли это означает, что я отправляю почту с сервера xpal? Если нет, то что происходит после активации программы sendmail? Мой менеджер ключей домена сказал мне однажды, что он не добавил IP-адрес почтового сервера хостинговой компании в файл TXT. Может ли это быть причиной? Еще раз спасибо! :) - person sniper; 10.05.2011
comment
Еще одна проблема: ваш заголовок содержит 208.78.241.38.svwh.net [208.78.241.38], который содержит имя вашего хоста. - person kevinji; 10.05.2011
comment
Итак, я прав, когда вы говорите, что на самом деле отправляете почту на сервер XPal? - person kevinji; 10.05.2011
comment
О, я обновил последний заголовок в первом комментарии. Вот оно снова: Received: from xpal.com (xpal.com [208.78.241.38]) by mx.google.com with ESMTPS id k2si21395354pbo.204.2011.05.09.18.38.54 (version=TLSv1/SSLv3 cipher=OTHER); В оригинале Received:, возможно, была информация svwh.net, потому что настройки RDNS могли распространяться еще сегодня днем ​​:) - person sniper; 10.05.2011
comment
Думаю, я отправляю почту на сервер XPal (класс phpmailer использует программу sendmail по умолчанию на сервере для отправки электронной почты)... - person sniper; 10.05.2011

Попробуйте поискать или проверить по теме. В частности, почти на все ответы есть здесь.

person Mel    schedule 10.05.2011
comment
Спасибо Мел! Я прошел через это, прежде чем разместить свой вопрос здесь. Похоже, проблема связана с заголовком, но я просто надеюсь, что кто-то сможет увидеть что-то не так в заголовке, которым я поделился! :) - person sniper; 10.05.2011
comment
Я бы сказал, прежде чем читать это, убедитесь, что все заголовки для почты отправлены, а затем, если вы все еще не можете получить его, начните с этой ссылки. Я обнаружил, что большинство моих проблем всегда было связано с такими вещами, как плохая информация в заголовке, ссылки в заголовке или другие подобные мелочи. - person Kenny Cason; 16.02.2012