Невозможно отправить электронную почту с моего хоста Linux

Попробуйте проверить rsyslog conf с помощью:rsyslogd -f /etc/rsyslog.conf -N 1
Если все в порядке, попробуйте перезапустить systemd-journald.socketс помощью :

.
systemctl restart systemd-journald.socket 

вы можете использовать команду logger, чтобы проверить, запущен ли rsyslogили нет:

logger "hello"
1
08.02.2021, 18:30
2 ответа

В обновлении вы показали, что ваш /var/log/mail.logсодержит это:

Feb  8 15:29:43 Efendibey_Live postfix/qmgr[1193]: E4F5F16A9: 
     from=<root@efendibey_live.localdomain>, size=467, nrcpt=1 (queue active)
Feb  8 15:29:45 Efendibey_Live postfix/smtp[18225]: E4F5F16A9:
     to=<mohtashim@digiklug.com>, 
     relay=mx.zoho.com[136.143.191.44]:25, 
     delay=1.2, delays=0.03/0.01/0.67/0.51, dsn=5.7.1, 
     status=bounced (host mx.zoho.com[136.143.191.44] said: 
         541 5.7.1 Mail rejected due to antispam policy (in reply to RCPT TO command))

Это означает, что ваше сообщение было успешно отправлено, но было отклонено получателем. Что еще интересно, так это адрес from=. Похоже, ваш домен efendibey_live.localdomain. Если получатель не может выполнить поиск DNS вашего домена, он часто отклоняет вашу электронную почту.

Когда postfixсконфигурирован, он использует выход hostname -fдля настройки всего. Это функция имени вашей машины и записи DNS для вашей машины. Решение состоит в том, чтобы обновить ваш /etc/postfix/main.cf.

Мои вещи выглядят так:

$ hostname -f
mail.example.com

$ cat /etc/hostname
mail.example.com

$ host -t mx example.com
example.com is handled by 10 MAIL.example.com

$ host -t a mail.example.com
mail.example.com has address aa.bb.cc.dd

$ cat /etc/postfix/main.cf | grep myhostname
smtpd_banner = $myhostname ESMTP $mail_name
myhostname = example.com
mydestination = $myhostname, example.com, mail.example.com, localhost.example.com, localhost

1
18.03.2021, 22:31

Авторство этого ответа принадлежит linuxbabe , которым я недавно пользовался, когда столкнулся с той же проблемой.

Выполните следующую команду на почтовом сервере, чтобы проверить, не заблокирован ли исходящий )порт 25 (.

telnet gmail-smtp-in.l.google.com 25

Если он не заблокирован, вы увидите сообщения, подобные приведенным ниже, что означает, что соединение успешно установлено. (Подсказка :Введите quitи нажмите Enter, чтобы закрыть соединение.)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Если порт 25 (исходящий )заблокирован, вы увидите что-то вроде:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

В этом случае ваш Postfix не сможет отправлять электронные письма на другие SMTP-серверы. Попросите вашего интернет-провайдера/хостинг-провайдера открыть для вас исходящий порт 25. Если они отклонят ваш запрос, вам нужно настроить ретранслятор SMTP для обхода блокировки порта 25 или использовать VPS, например ScalaHosting , который не блокирует порт 25.

Некоторые люди могут спросить: «Могу ли я изменить порт 25 на другой порт, чтобы обойти блокировку»? Ответ - нет. Изменение порта работает только тогда, когда вы контролируете и сторону сервера -, и сторону клиента -. Когда Postfix отправляет электронные письма, он действует как SMTP-клиент. Почтовый сервер получателя действует как SMTP-сервер. У вас нет контроля над принимающим SMTP-сервером . SMTP-серверы прослушивают порт 25 для получения электронной почты. Они ожидают, что SMTP-клиенты будут использовать порт 25. Другого порта для получения электронной почты нет. Если ваш Postfix не подключается к порту 25 принимающего SMTP-сервера, вы не сможете отправлять электронные письма.

2
18.03.2021, 22:31

Теги

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