Постфикс не передаст электронные письма формы контакта WordPress моей учетной записи Gmail

В Ubuntu 16.04 VPS с LEMP в DigitalOcean у меня есть веб-сайт WordPress, который имеет форму контакта, которую я создал с Формой контакта 7 (CF7).

Моя проблема

У меня есть проблема при передаче электронных писем от моей формы контакта WordPress (CF7) на мой адрес электронной почты (Gmail).

Я должен сказать, я кротко предпочту несменное решение.

Зона DNS для моей машины

  1. A запись, содержащая домен.
  2. Cname запись, содержащая a www. вариант для домена.
  3. Три NS записи для соединения запросов DNS к моему домену, с моим IP и соответствующим приложением в его машине.

Я действительно пытался добавить MX записи, автоматическим DigitalOcean способ сделать так (путем нажатия Add Gmail MX records кнопка в инструменте управления DNS DigitalOcean), и 5 MX записи были добавлены, но у меня все еще была та же ошибка после того, как я сразу попытался послать тестовое электронное письмо из WordPress (см. ошибку ниже).

В настоящее время зона DNS имеет нет MX записи, потому что я не уверен, что они даже требуются, если все я требую в контексте электронных писем, должны только послать запросы формы контакта WordPress на мой счет Gmail, и я нахожусь все еще в том же состоянии с той же ошибкой.

Точная ошибка и попытки отладки:

Я всегда получаю следующее сообщение об ошибке, в красное поле под формой контакта:

Не удалось отправить Ваше сообщение.

Из-за этой ошибки, ничто не отправляется никуда (в даже Папку для спама).

Пытаясь отладить это, я выполнил следующий код для создания журнала для Постфикса:

touch /var/log/mail.log
  • В журналах Nginx нет никаких ошибок.

Полномочия:

rw-r--r-- 1 root root

Но ничто не записано в этом журнале ошибок после того, как я попытаюсь послать мне тестовое электронное письмо и сбой.

Репродуцирование моей проблемы:

  1. Создайте капельку Ubuntu 16.04 DigitalOcean.
  2. Создайте стек LEMP и выполните веб-сайт WordPress на нем.
  3. sudo apt-get update && sudo apt-get upgrade postfix.
  4. Выберите конфигурацию "сайта".
  5. Введите домен сайта, с которым Вы работаете.
  6. Форма Контакта установки 7 на Вашем сайте WordPress и попытке послать себе тестовое электронное письмо.

Мой вопрос

Что вызывает эту проблему?

Возможно, я могу попробовать что-то Постфиксом или альтернативным инструментом, который я должен использовать как sSMTP? Я предпочел бы минимальное никакому-conf инструменту. Я подчеркиваю, что не посылаю никакие другие электронные письма своему Gmail помимо тех, которые приземляются в форме контакта WordPress, и при этом я не посылаю никакие другие электронные письма нигде от этой машины.

В прошлом я установил Постфикс, как описано выше и не было никаких проблем. Если у Вас есть какая-либо идея, что проверить, что детализирует, я должен обеспечить, скажите мне, и я отредактирую.


Обновление

1) Файл /etc/postfix/main.cf все значение по умолчанию.

2) Вывод ps -efl | grep postfix:

5 S root      4611     1  0  80   0 - 16352 ep_pol 07:42 ?        00:00:00 /usr/lib/postfix/sbin/master -w
4 S postfix   4613  4611  0  80   0 - 16881 ep_pol 07:42 ?        00:00:00 qmgr -l -t unix -u
4 S postfix   4930  4611  0  80   0 - 16869 ep_pol 11:02 ?        00:00:00 pickup -l -t unix -u -c
0 S root      5201  5187  0  80   0 -  3236 pipe_w 12:19 pts/0    00:00:00 grep --color=auto postfix
5
задан 12 March 2018 в 05:51

2 ответа

Проблема, кажется, возникает из WordPress, формирует конфигурацию формы контакта, в частности, поскольку проблема также произошла с sSMTP который некоторые рассматривают более простым инструментом, чем Постфикс:

Когда я удалил исходную форму и создал новую, я получил зеленое сообщение, говоря, что сообщение было отправлено в тестовом электронном письме.

Здесь также, я не получил сообщение даже к dir Спама, но по крайней мере ответ отличался и исходная проблема Постфикс, к которому не имеют никакого отношения.

2
ответ дан 23 November 2019 в 09:30

От того, Как зафиксировать форму контакта Wordpress, не посылающую электронное письмо с smtp:

Почему WordPress не посылает электронные письма

WordPress использует почтовую функцию PHP для отправки электронных писем, сгенерированных WordPress или любым плагином контакта как WPForms. Однако много хостинг-серверов WordPress не настроены для использования почтовой функции.

Кроме того, для сокращения спама, почтовый поставщик часто проверяет, происходит ли электронная почта из местоположения, из которого это утверждает, что произошло. Например, если Вашим почтовым сервером является yahoo.com, но Ваше электронное письмо утверждает, что было послано от домена Вашего веб-сайта, возможности являются Вашим уведомлением о форме, будет заблокирован, прежде чем это даже достигнет папки для спама.

Поэтому мы рекомендуем использовать SMTP для отправки электронных писем из WordPress вместо того, чтобы использовать почтовую функцию PHP по умолчанию.

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


Семь различных путей к воскресенью

Этот заголовок раздела - то, потому что сегодня воскресенье, и статья How для фиксации формы контакта Wordpress, не посылающей электронное письмо с smtp, перечисляет Семь различных способов установить SMTP:

  1. Почта WP SMTP: установка SMTP
  2. Gmail или комплект G
  3. SendGrid
  4. Mailgun
  5. Почтовый штемпель
  6. WP SES
  7. SparkPost

Установка SMTP

Для меня я использую самый самый простой метод, чтобы иметь cron пошлите мне по электронной почте сообщения об ошибках и ежедневно копируйте отчеты: Скопируйте конфигурацию Linux, сценарии и документы Gmail.

Суммировать шаги:

sudo apt install ssmtp
sudo apt install sharutils

Также необходимо дать Gmail команду предоставлять менее безопасный доступ к себе для принятия электронных писем. Это документируется в мой ответ выше.

Ваш конфигурационный файл для ssmtp ДОЛЖЕН быть изменен. Здесь является моим:

$ sudo cat /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.

# November 17, 2017.
# Required for cron to e-mail backups as per Ask Ubuntu answer:
# https://askubuntu.com/questions/917562/backup-linux-configuration-scripts-and-documents-to-gmail/922493#922493

#root=postmaster
root=WinEunuuchs2Unix@gmail.com

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub=smtp.gmail.com:587

AuthUser=WinEunuuchs2Unix@gmail.com
AuthPass=WinEunuuchs2UnixPassword
UseTLS=YES
UseSTARTTLS=YES
#Debug=YES

# Where will the mail seem to come from?
#rewriteDomain=
rewriteDomain=gmail.com

# The full hostname
hostname=alien

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Измените вышеупомянутые строки на свое имя учетной записи Gmail, пароль и название машины:

root=WinEunuuchs2Unix@gmail.com
AuthUser=WinEunuuchs2Unix@gmail.com
AuthPass=WinEunuuchs2UnixPassword
hostname=alien

Обратите внимание, что WinEunuuchs2UnixPassword является Вашим паролем Gmail не Ваш пароль Linux. Получить Ваш hostname использовать echo $HOSTNAME.

Перейдите по ссылкам в статье WordPress.

По ссылкам в статье WordPress в первой ссылке выше нужно перейти для установки Gmail. Только обратитесь к моей ссылке для основного обзора.

2
ответ дан 23 November 2019 в 09:30

Другие вопросы по тегам:

Похожие вопросы: