Электронная почта не отправляется с помощью Shell cmd/script на Centos

Я пытаюсь отправить электронное письмо с моего Centos, используя командную оболочку cmd, на свой адрес Gmail.

Вот конфигурация, которую я сделал:

/etc/postfix/main.cf

myhostname = relay.example.com
relayhost = [smtp.gmail.com]:587
mailbox_size_limit = 0
recipient_delimiter = +
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous 

/etc/postfix/sasl_passwd

[smtp.gmail.com]:587 [email protected]:My_Password

Я создал файл базы данных хэшей для Postfix:

postmap /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Я запускаю cmd после перезапуска Postfix:

echo "Body" | mail -s "Subject" [email protected]

Я настроил Gmail так, чтобы он мог принимать менее безопасные приложения.

Обратите внимание, что у меня нет проблем с сетью (как показано ниже):

1-й тест подключения Второй тест подключения

После запуска cmd ошибка не появляется, но сообщение не отправляется.

Просмотр журналов: tail -f /var/log/maillog

Nov  2 00:55:43 quickstart sendmail[5228]: wA1JwGn3031205: to=<[email protected]>, ctladdr=<[email protected]> (501/501), delay=11:56:47, xdelay=00:00:00, mailer=esmtp, pri=390482, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Nov  2 00:55:43 quickstart sendmail[5228]: wA1JchlC026214: to=<[email protected]>, ctladdr=<[email protected]> (501/501), delay=12:16:44, xdelay=00:00:00, mailer=esmtp, pri=480482, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Nov  2 00:55:43 quickstart sendmail[5228]: wA1JCSq5019689: to=<[email protected]>, ctladdr=<[email protected]> (501/501), delay=12:42:59, xdelay=00:00:00, mailer=esmtp, pri=480482, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
Nov  2 01:17:17 quickstart postfix/postfix-script[8412]: fatal: the Postfix mail system is not running
Nov  2 01:17:17 quickstart postfix/postfix-script[8469]: warning: group or other writable: /etc/postfix/./main.cf
Nov  2 01:17:17 quickstart postfix/postfix-script[8483]: starting the Postfix mail system
Nov  2 01:17:17 quickstart postfix/master[8484]: fatal: bind 127.0.0.1 port 25: Address already in use
Nov  2 01:18:14 quickstart sendmail[8554]: wA28IEGk008554: from=cloudera, size=228, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Nov  2 01:18:14 quickstart sendmail[8558]: wA28IEsc008558: from=<[email protected]>, size=483, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Nov  2 01:18:14 quickstart sendmail[8554]: wA28IEGk008554: [email protected], ctladdr=cloudera (501/501), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30228, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (wA28IEsc008558 Message accepted for delivery)

Не могли бы вы помочь, спасибо!


person El Mehdi OUAFIQ    schedule 01.11.2018    source источник
comment
Пожалуйста, опубликуйте свои журналы postfix, которые показывают ошибки.   -  person Stephan    schedule 01.11.2018
comment
Извините за поздний ответ! Я только что добавил вид Maillog. Если это то, о чем вы просили?   -  person El Mehdi OUAFIQ    schedule 01.11.2018
comment
Google не примет, где адрес from является локальным хостом, ваш постфиксный сервер не прикрепляет реальный домен к пользователю.   -  person Stephan    schedule 01.11.2018
comment
Не могли бы вы перепроверить (новый) вид Maillog, который я только что добавил. (предыдущее не касалось). Виноват!   -  person El Mehdi OUAFIQ    schedule 01.11.2018
comment
Postfix не запущен, потому что что-то еще работает на порту 25. Запустите lsof | egrep -i "25|SMTP" Это должно сказать вам, что сидит на порту 25. Возможно, sendmail. Однако последняя строка указывает, что Google принял сообщение от sendmail.   -  person Terry Carmen    schedule 01.11.2018
comment
На самом деле я запускал некоторые рабочие процессы электронной почты на порту 25, используя Oozie (они тоже не работали). Я остановил Cloudera Manager (включая Oozie) и попытался повторно отправить сообщение, вот настоящий почтовый журнал ссылка. Если вам нужна дополнительная информация о моих рабочих процессах oozie, вы можете обратиться к Электронная почта, не отправленная с использованием Oozie. (Задание выполнено успешно!). Спасибо,   -  person El Mehdi OUAFIQ    schedule 01.11.2018


Ответы (2)


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

echo "Body" | mail -s "Subject" -m [email protected]
person Bigboss    schedule 21.11.2018
comment
Спасибо за вашу реакцию, это уже работает. Я добавил некоторые детали в свой ответ. - person El Mehdi OUAFIQ; 23.11.2018

Проблема в том, что также был установлен Sendmail, который является другим почтовым сервером. Таким образом, Postfix был автоматически отключен, потому что два из них не могут работать одновременно.

Вот фатальная ошибка из логов: tail -f /var/log/maillog

Nov  2 01:17:17 quickstart postfix/postfix-script[8412]: fatal: the Postfix mail system is not running

Я решил проблему, полностью удалив sendmail

[root@quickstart ~]# yum remove sendmail

Затем перезапустите Postfix

[root@quickstart ~]# service postfix restart
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
person El Mehdi OUAFIQ    schedule 02.11.2018