Postfix не будет отправлять сообщения электронной почты в WordPress моей учетной записи Gmail

5

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

Моя проблема

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

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

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

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

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

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

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

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

Failed to send your message.

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

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

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

Разрешения:

rw-r--r-- 1 root root

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

Воспроизведение моей проблемы:

  1. Создайте капельку DigitalOcean Ubuntu 16.04.
  2. Создайте стек LEMP и запустите на нем веб-сайт WordPress.
  3. MX .
  4. Выберите конфигурацию «интернет-сайт».
  5. Введите домен сайта, с которым вы работаете.
  6. Установите контактную форму 7 на свой сайт WordPress и попробуйте отправить себе тестовое письмо.

Мой вопрос

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

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

В прошлом я установил Postfix, как описано выше, и проблем не было. Если у вас есть идея, что проверить, какие детали я должен предоставить, скажите, пожалуйста, и я отредактирую.

Update

1) Файл sudo apt-get update && sudo apt-get upgrade postfix по умолчанию.

2) Результат /etc/postfix/main.cf :

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
    
задан JohnDoea 09.03.2018 в 16:19
источник

2 ответа

2

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

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

Здесь также я не получил сообщение даже в папке Spam, но, по крайней мере, ответ был другим, и исходная проблема не имела ничего общего с Postfix.

    
ответ дан JohnDoea 13.03.2018 в 11:29
источник
2

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

Почему WordPress не отправляет письма

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

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

Вот почему мы рекомендуем использовать SMTP для отправки писем из WordPress вместо использования почтовой функции PHP по умолчанию.

SMTP (Simple Mail Transfer Protocol) - это стандартный способ отправки электронных писем, которые используют надлежащий метод проверки подлинности для обеспечения доступности электронной почты.

Семь разных способов воскресенья

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

  1. WP Mail SMTP: настройка SMTP
  2. Gmail или G Suite
  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
[email protected]

# 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

[email protected]
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, пароль и имя машины:

[email protected]
[email protected]
AuthPass=WinEunuuchs2UnixPassword
hostname=alien

Обратите внимание, что WinEunuuchs2UnixPassword - ваш пароль gmail, а не ваш пароль для Linux. Чтобы получить hostname , используйте echo $HOSTNAME .

Следуйте ссылкам в статье WordPress.

Для настройки gmail следует использовать ссылки в статье WordPress в первой ссылке выше. Для получения основного обзора обратитесь к моей ссылке.

    
ответ дан WinEunuuchs2Unix 11.03.2018 в 17:05