Правильно ли я настроил серверную электронную почту с помощью Google SPF? - PullRequest
0 голосов
/ 18 мая 2018

Доброе утро У меня возникли некоторые проблемы с получением SPF Pass для заголовков писем, когда письма отправляются через контактную форму 7 в Wordpress.

Почта, отправляемая через контакт от 7, часто переходит в спам и при просмотреЗаголовки источника почты. Я вижу, что IP-адрес сайта не назначен в качестве разрешенного отправителя.

ARC-Authentication-Results: i=1; mx.google.com;
   spf=neutral (google.com: *serverIP* is neither permitted nor denied by 
best guess record for domain of www-data@ubuntu) smtp.mailfrom=www-data@ubuntu;
   dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=*domain*
Return-Path: <www-data@ubuntu>
Received: from ubuntu (*domain*. [*serverIP*])
    by mx.google.com with ESMTP id 91-v6si4638670wre.46.2018.05.17.07.10.20;
    Thu, 17 May 2018 07:10:20 -0700 (PDT)
 Received-SPF: neutral (google.com: *serverIP* is neither permitted nor 
denied by best guess record for domain of www-data@ubuntu) client- 
ip=*ServerIP*;
Authentication-Results: mx.google.com;
   spf=neutral (google.com: *ServerIP* is neither permitted nor denied by 
best guess record for domain of www-data@ubuntu) smtp.mailfrom=www- 
data@ubuntu;
   dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=*Domain*
Received: by ubuntu (Postfix, from userid 33)
id 036C93F7D3; Thu, 17 May 2018 14:10:20 +0000 (UTC)

Все записи SPF были настроены в настройках DNS и являются правильными, если они проверены инструментом тестирования SPF от Google.с помощью Google Business Apps.С DKIM, DMARC и SPF все в порядке, поэтому не уверен, почему говорят, что SPF Neutral и DMARC терпят неудачу ...

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 18 мая 2018

Это проблема:

Return-Path: <www-data@ubuntu>

Заголовок обратного пути добавляется принимающим сервером (google), и его не следует указывать в качестве отправителя.Принимающий сервер устанавливает его с адреса SMTP MAIL FROM, также известного как «отправитель конверта».Этот адрес также используется для отправки отказов, а не адресов отправителя или ответа, указанных в сообщении.

Проблема здесь заключается в том, что при отсутствии явно установленного отправителя конверта,PHP пытается угадать один, ища текущего пользователя и имя хоста, на котором выполняется процесс отправки.Вот почему ваш отправитель конверта www-data (имя пользователя) @ ubuntu (имя хоста вашего сервера).ubuntu не является разрешаемым именем хоста, поэтому Google не может найти запись SPF, чтобы проверить ее, поэтому он возвращается к стандартному «нейтральному» вердикту SPF, который вы видите.

Есть несколько способов справиться с этим.Прежде всего, вы должны установить имя хоста вашего сервера, чтобы он знал, что вызывать сам - PHP увидит эту информацию и использует ее для установки резервного адреса.Если вы запустите команду hostname, вы, вероятно, получите ubuntu, поэтому исправьте это (сразу и навсегда), выполнив:

sudo hostname myhostname.example.com
echo "myhostname.example.com" | sudo tee /etc/hostname

вместо вашего реального имени хоста и имени домена.

Задать имя пользователя сложнее, но на самом деле не нужно получать пропуск SPF, потому что он смотрит только на домен, поэтому www-data@myhostname.example.com будет работать нормально, хотя вы можете столкнуться с проблемами, если захотите разобратьсяотскочил правильно.

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

В любом случае, просто исправив имя хоста, вы получите SPF pass, которая является непосредственной проблемой.

...