Это проблема:
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
, которая является непосредственной проблемой.