我最近注册了 SMTP2GO (smtpcorp)。我在一台 EC2 服务器上设置了 postfix,并将其指向我的 smtp2go 账户:
relayhost = [smtpcorp.com]:2525
现在,我的所有邮件都通过 SMTP2GO 路由,但问题是,由 cron 作业等生成的 1000 多封电子邮件正在使用以下电子邮件地址发送到 SMTP2GO:
[email protected]
我的问题是,阻止所有这些“本地”电子邮件被路由到 SMTP2GO 的最佳方法是什么?
谢谢
马丁
我的main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
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
myhostname = ec2-46-51-151-256.eu-west-1.compute.amazonaws.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ec2-46-51-151-256.eu-west-1.compute.amazonaws.com, localhost.eu-west-1.compute.internal, localhost
relayhost = [smtpcorp.com]:2525
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:account:password
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
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 = ipv4
答案1
Postfix 中继主机无法正常发送本地邮件到中继主机:
中继主机(默认:空)
非本地邮件的下一跳目的地;覆盖收件人地址中的非本地域。此信息由relay_transport、sender_dependent_default_transport_maps、default_transport、sender_dependent_relayhost_maps和transport(5)表决定。
因此,如果发生这种情况,那是因为您的本地邮件未被识别为本地邮件。您需要在mydestination =
配置行中包含您的本地域。我看到您在那里有 ec2-....amazonaws.com,但您可能为您的 LAN 定义了一个与此不同的本地域。如果您没有定义本地域,我认为(需要测试)如果您只添加127.0.0.1 localhost.localdomain localhost
文件etc/hosts
并添加localhost.localdomain
到mydestination=
它就足够了。
答案2
它会按照 Ubuntu 中的默认设置,将 cron 等的输出发送到服务器上的 root 帐户。
要将发送到该地址的所有邮件转移到其他地方,请编辑别名文件以包含以下行:
enter code here
根: ”[电子邮件保护]“
然后运行newaliases
。这可以与 Postfix 配合使用。
~root/.forward
或者,您可以通过添加/编辑并添加一行首选电子邮件地址来设置将所有邮件转发给根。