我最近注册了SMTP2GO(smtpcorp)。 我在EC2服务器上安装了postfix,并把它指向我的smtp2go帐户:
relayhost = [smtpcorp.com]:2525
现在我所有的邮件都通过SMTP2GO路由,但问题是,由cron job ect生成的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
Postfix relayhost通常不会将本地邮件发送到中继主机:
来自postfix.org :
relayhost(默认:空)
非本地邮件的下一跳目的地; 覆盖收件人地址中的非本地域。 这些信息被relay_transport,sender_dependent_default_transport_maps,default_transport,sender_dependent_relayhost_maps和transport(5)表覆盖。
所以如果是这样的话,那是因为你的本地邮件没有被识别为本地邮件。 您需要将您的本地域包含在mydestination = config行中。 我看到你在那里有ec2 -…. amazonaws.com,但是可能你已经为你的局域网定义了一个不同于本地域的本地域。 如果你没有定义一个本地域,我认为(需要testing)如果你只在你的etc/hosts文件中添加127.0.0.1 localhost.localdomain localhost ,并将localhost.localdomain添加到mydestination=它应该是足够的。
它将cron等的输出发送到服务器上的根帐户,按照Ubuntu中的默认设置。
要将所有发送到此地址的邮件转移到其他地方,请编辑您的别名文件以包含以下行:
enter code here root:“[email protected]”
然后运行newaliases 。 这适用于后缀确定。
或者,您可以通过添加/编辑~root/.forward并添加一个包含首选电子邮件地址的行来设置转发所有邮件到根目录。