Postfix 使用中继主机时将本地电子邮件发送给 root

Postfix 使用中继主机时将本地电子邮件发送给 root

我最近配置了一个没有邮件服务器的 Web 服务器。除此之外,我还使用另一台服务器将传入的电子邮件发送到我的域(MX 记录 IP 与 Web 服务器 IP 不同)。我还配置了 Postfix,以便通过 smtp 中继主机发送电子邮件,以便从 Web 服务器发送外发电子邮件。问题是:所有发送到其他域的外发电子邮件都可以正常工作,但当 Web 应用程序尝试将电子邮件发送到我的域电子邮件时(例如[电子邮件保护]),它发往并且无法送达。这是我的/etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =  $myhostname, localhost.localdomain, localhost
relayhost = smtp.emailsmtpprovider.com:2525
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:[email protected]:xxxxx-xxxxx-xxx-xxxx-xxxxxxxxxxxx
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
smtpd_sasl_auth_enable = yes
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_maps = hash:/etc/postfix/virtual

以下是我的/etc/postfix/virtual内容:

root     root@localhost

以下是我的/etc/aliases内容:

postmaster:    root

以下是我的/etc/mailname内容:

mydomain.com

最后这是我的/var/log/mail.log相关内容:

Mar 27 12:30:06 web-server-01 postfix/cleanup[25232]: 240BF1F5FA5: message-id=<[email protected]>
Mar 27 12:30:06 web-server-01 postfix/qmgr[24992]: 240BF1F5FA5: from=<[email protected]>, size=804, nrcpt=1 (queue active)
Mar 27 12:30:06 web-server-01 postfix/local[25234]: 240BF1F5FA5: to=<root@localhost>, orig_to=<root>, relay=local, delay=0.04, delays=0.02/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Mar 27 12:30:06 web-server-01 postfix/qmgr[24992]: 240BF1F5FA5: removed

我在 Google 上搜索了很多次,但没有任何进展。如果有人能帮助我,我将不胜感激。

答案1

看起来这里的问题是你有myhostname = mydomain.com然后mydestination = $myhostname, localhost.localdomain, localhost

这导致 postfix 将 mydomain.com 的所有邮件视为本地邮件。如果您按如下方式设置,该问题应该可以解决。

myhostname = hostname.mydomain.com
mydomain = mydomain.com

如果你正在寻找一种可以将电子邮件从本地主机转发到中继器的方法,你可以考虑 ssmtp

相关内容