Я пытаюсь отправить электронное письмо через Postfix с mydomain.com на известный мне адрес (info@example.org). Postfix сообщает, что адрес не существует.
Выдержка из mail.log
Jun 7 07:01:47 mydomain postfix/smtp[50352]: 010BB40606: to=<info@example.org>, relay=remote.example.org[redacted]:25, delay=1.2, delays=0.37/0/0.37/0.48, dsn=5.0.0, status=bounced (host remote.example.org[redacted] said: 550 Address unknown (in reply to RCPT TO command))
.
Вот сеанс telnet (с сервера, на котором работает Postfix), показывающий, что адрес существует:
# telnet remote.example.org 25
Trying [redacted]...
Connected to remote.example.org.
Escape character is '^]'.
220 sophos.example.local ESMTP ready.
HELO mydomain.com
250 sophos.example.local Hello mydomain.com [redacted]
MAIL FROM: <myaddress@mydomain.com>
250 OK
RCPT TO: <info@example.org>
250 Accepted
Вот результат "postconf -n":
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 2h
inet_interfaces = loopback-only
inet_protocols = ipv4
mailbox_size_limit = 0
maximal_backoff_time = 15m
maximal_queue_lifetime = 2h
milter_default_action = accept
milter_protocol = 2
minimal_backoff_time = 5m
mydestination = mydomain.com, localhost.mydomain.com
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:12301
queue_run_delay = 5m
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_milters = inet:localhost:12301
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/letsencrypt/live/www.mydomain.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/www.mydomain.com/privkey.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
Сообщение возвращалось несколько раз.
Помощь очень ценится.
Соответствующая часть вашего журнала host remote.example.org[redacted] said: 550 Address unknown (in reply to RCPT TO command)
. Это в основном означает, что удаленный хост решил не принимать эту почту. Говорит, что адрес неизвестен.
В наше время спам-фильтров сообщения об ошибках не всегда означают то, что написано. Кроме того, "Адрес неизвестен" довольно неопределенно, так как может означать получателя или отправителя.
Поскольку ответ получен в ответ на RCPT TO
команда удаленного хоста имеет довольно ограниченные знания (т.е. он еще не видел содержимое почты, обратный путь и т. д.). Решение может быть основано на ip-адресе отправляющего сервера, HELO
имя хоста, MAIL FROM
адрес или RCPT TO
адрес.
Если сообщение об ошибке правильное, оно должно быть связано с MAIL FROM
или RCPT TO
поскольку это «адреса» - два других (по крайней мере, в контексте SMTP) не являются адресами.
Когда вы разговариваете с «обычным» почтовым сервером, который выдает более подробный вывод, ответ для неизвестного адреса получателя обычно читается как «пользователь неизвестен» или «адрес получателя отклонен». Краткое выражение «адрес неизвестен» - легкий намек на то, что что-то происходит. В этом случае нужно сделать две вещи:
HELO
или EHLO
ваша почтовая система использует и использует то же MAIL FROM
и RCPT TO
как почта, которая не удалась.