Я пытаюсь настроить очень простую запись SPF. Я размещаю свой веб-сайт на Godaddy и использую почтовые серверы Godaddy. Я использую вызов php mail () (я знаю, я читал массу мест, где можно было использовать PHP Mailer или другие, но я выбираю функцию mail () по умолчанию, и это не совсем мой вопрос). Сейчас spf-запись в электронном письме возвращается как neutral
со следующими строками:
Delivered-To: person@gmail.com
Received: by 10.52.171.166 with SMTP id av6csp133324vdc;
Tue, 16 Jul 2013 07:43:23 -0700 (PDT)
X-Received: by 10.49.104.180 with SMTP id gf20mr2338989qeb.59.1373985802775;
Tue, 16 Jul 2013 07:43:22 -0700 (PDT)
Return-Path: <noreply@onlineserver.cc>
Received: from p3nlsmtp14.shr.prod.phx3.secureserver.net (p3nlsmtp14.shr.prod.phx3.secureserver.net. [72.167.234.239])
by mx.google.com with ESMTP id d19si710455qey.143.2013.07.16.07.43.22
for <person@gmail.com>;
Tue, 16 Jul 2013 07:43:22 -0700 (PDT)
Received-SPF: neutral (google.com: 72.167.234.239 is neither permitted nor denied by best guess record for domain of noreply@onlineserver.cc) client-ip=72.167.234.239;
Authentication-Results: mx.google.com;
spf=neutral (google.com: 72.167.234.239 is neither permitted nor denied by best guess record for domain of noreply@onlineserver.cc) smtp.mail=noreply@onlineserver.cc
Received: from P3NW8SHG339 ([184.168.27.44])
by p3nlsmtp14.shr.prod.phx3.secureserver.net with
id 12jN1m0080x5yNo012jNyX; Tue, 16 Jul 2013 07:43:22 -0700
Date: Tue, 16 Jul 2013 07:43:21 -0700
Subject: Little Jaws Big Smiles Registration Confirmation
X-PHP-Originating-Id: [10610735]
To: "Person" <person@gmail.com>
From: "Little Jaws Big Smiles" <no-reply@littlejawsbigsmiles.com>
Reply-To: "Little Jaws Big Smiles" <no-reply@littlejawsbigsmiles.com>
Return-Path: "Little Jaws Big Smiles" <no-reply@littlejawsbigsmiles.com>
Message-ID: <51e55c0a.f351310a.61d2.ffffe3a0SMTPIN_ADDED_BROKEN@mx.google.com>
X-Mailer: PHP/5.2.17
MIME-Version: 1.0
Content-type: text/html; charset=ISO-8859-1
Organization: Little Jaws Big Smiles
IP 72.167.234.239
соответствует p3nlsmtp14.shr.prod.phx3.secureserver.net
, который, как я предполагаю, является почтовым сервером, который действительно отправляет мою электронную почту.
v=spf1 a mx ptr ip4:72.167.234.245 -all
Однако это все равно приводит к нейтральному результату SPF. Я ждал 48 часов, пока запись вступит в силу. Я также прочитал SPF Syntax
и я думаю, что настроил его соответствующим образом (но я никогда не делал этого раньше, поэтому я могу совершенно неправильно это понять)
Я тоже пробовал Kitterman's сценарий проверки со следующим результатом:
Found v=spf1 record for littlejawsbigsmiles.com: v=spf1 a mx ptr ip4:72.167.234.245 -all
evaluating... SPF record passed validation test with pySPF (Python SPF library)!
Кто-нибудь видит проблему с определением моей записи или что-то еще отсутствует?
Я пытаюсь отправить письмо с адреса no-reply@littlejawsbigsmiles.com
Дайте мне знать, если мне понадобится дополнительная информация.
Обновить По запросу @ TheCleaner я выполнил инструкции по Сайт Godaddys для создания записи SPF. Ниже приведены шаги и варианты, которые я выбрал с учетом того, почему я их выбрал.
Под Чтобы добавить запись SPF
GoDaddy.com, LLC only
All Inbound Servers May Send Mail
72.167.234.0/24
поскольку это, похоже, почтовые серверы, которые Godaddy использует для рассылки писемExclude all hosts not specified here
что добавляет -all
Результат SPF-записи ниже. Я попробую и отправлю ответ, если это решит мои проблемы. Пожалуйста, дайте мне знать, если мои предположения относительно моих шагов, описанных выше, неверны.
v=spf1 mx include:72.167.234.0/24 -all
Вы ввели неправильный IP-адрес в свою запись SPF.
Вот текущая запись:
littlejawsbigsmiles.com. 3600 IN TXT "v=spf1 a mx ptr ip4:72.167.234.245 -all"
Вот IP, с которого вы отправляете:
72.167.234.239
Что явно отличается от 72.167.234.245
.
Исправьте запись, чтобы в ней не было ошибки и все должно работать нормально.
Чтобы включить весь диапазон адресов, используйте:
"v=spf1 mx ip4:72.167.234.0/24 -all"
Кстати, GoDaddy предлагает статью в базе знаний о том, как настроить с ними запись SPF: http://support.godaddy.com/help/article/7926/adding-or-editing-spf-records
Итак, я, наконец, отследил проблему (техническая поддержка Godaddy сказала, что не может помочь с «устранением» проблем). Оказывается, у них есть проблема с записями SPF:
Очевидно, когда вы настраиваете новую учетную запись хостинга, по умолчанию C:\php5\php.ini
файл для хостов Windows устанавливает sendmail_from
к noreply@onlineserver.cc
, который был фактическим адресом отправки писем, которые я отправлял с помощью функции php mail (). Я изменил это на no-reply@littlejawsbigsmiles.com
и немного приблизился к решению моей проблемы.
Теперь перейдем ко второй проблеме, из-за которой SPF все еще не работал. Оказывается, создание SPF-записи с помощью Godaddys по умолчанию include:spf.secureserver.net
содержит слишком много запросов. Вы можете проверить это, используя этот парсер SPF и войти в spf.secureserver.net
. Вы увидите, что поисков намного больше, чем максимум 10.
С помощью Киттермана сценарий проверки, если вы введете spf.secureserver.net
, вы можете видеть, что он показывает ошибку PermError SPF Permanent Error: Too many DNS lookups
. Это проблема, которую Godaddy необходимо решить глобально (не только для моего сайта). Проблема задокументирована на их сайт. Я получил от них ответ, указывающий, что это не их проблема:
Кроме того, хотя мы предоставляем возможность создавать записи SPF, ответственность за управление и настройку лежит исключительно на клиентах.
Я смог обойти это, проверив заголовки своих писем и определив, какой сервер (ы) отправлял его (казалось, что это диапазон 72.167.234.236-245
). Используя SPF Parser, на который я ссылался выше, я смог определить, что мой сайт использует spf102.secureserver.net
. Я не уверен, что это изменится для моего сайта, и Godaddy еще не сказал мне ответа. Я изменил свою запись SPF, чтобы включить spf102.secureserver.net
, который не имеет проблемы Too many DNS lookups
, но это может быть проблемой, если электронные письма могут быть изменены и отправлены не в spf101.secureserver.net
.
Окончательная рабочая запись будет основана на серверах, которые используются для отправки электронных писем, но она должна выглядеть примерно так, если вы размещены и используете серверы Godaddys:
v=spf1 mx include:spf102.secureserver.net -all
С этими двумя обновлениями я смог отправлять почту на учетные записи электронной почты google и hotmail, и они больше не попадают в папки спама / нежелательной почты (да!)
Спасибо @MadHatter, @gparent и @TheCleaner за их поддержку в отслеживании этого.