
Я не могу отправлять письма после настройки Cloudflare. Я создал запись A mail.example.com и запись MX как example.com. Когда я получаю письма, все работает нормально, но когда сервер отправляет письмо, я получаю ошибку:
to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[74.125.205.26]:25, delay=0.58, delays=0.05/0.01/0.45/0.07, dsn=5.1.1, status=bounced (host ASPMX.L.GOOGLE.COM[74.125.205.26] said: 550-5.1.1 The email account that you tried to reach does not exist.
Однако странность в том, что поле to даже не содержит gmail-адрес. Так почему же Google вообще пытается разрешить его как gmail-пользователя? В чем может быть проблема с этой проблемой? DNS-setup og Postfix?
Если я отправляю почту на gmail-аккаунты, то все работает нормально. Но на любые другие домены, похоже, google просто отклоняет их, так как ожидает gmail-адрес.
РЕДАКТИРОВАТЬ:
main.cf (редактируйте значения, которые могут идентифицировать сервер):
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
disable_vrfy_command = yes
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 0
mydestination = $myhostname, mail.example.com, localhost.example.com, localhost, $mydomain
mydomain = example.com
myhostname = mail.example.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 xxx.xxx.xxx.xx
myorigin = $mydomain
readme_directory = no
recipient_delimiter = +
relayhost = myhost.com
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_helo_required = yes
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
мастер.cf:
smtp inet n - y - - smtpd
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
решение1
С помощью этой настройки relayhost = host.example.com
вы устанавливаете следующий пункт назначения нелокальной почты; т. е. вместо того, чтобы доставлять сообщения электронной почты непосредственно получателю, вы указываете Postfix, что он может просто передавать все сообщениярелейный сервер(иногда его называют"умный хозяин"), который должен осуществить фактическую доставку.
По умолчанию relayhost
не установлено, и Postfix будет (попытается) доставлять почту непосредственно получателю.
Обычно ваш сервер Postfix должен быть авторизован хостом-релеем, прежде чем этот сервер примет ваши сообщения. Эта авторизация часто представляет собой белый список на основе IP-адресов или вам необходимо предоставить учетные данные.
Если ваши письма возвращаются, это означает, что вы либо не авторизованы на хосте-ретрансляторе, либо этот хост-ретранслятор настроен неправильно.