我们在Ubuntu 15.10上使用Postfix 2.11.3
这里是configuration文件:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no 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 = server.ip-5.ru alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_alias_domains = virtual_alias_maps = hash:/etc/postfix/virtual myorigin = /etc/mailname mydestination = $mydomain mynetworks = 0.0.0.0 mailbox_command = mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4 home_mailbox = Maildir/ soft_bounce = yes header_checks = regexp:/etc/postfix/header_checks smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination,permit smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination,permit
现在,我从本地用户的域名“ip5.ru”发送邮件给本地用户,
发送和发送是成功的。
[email protected] – > [email protected]
如果我发送邮件到连接到远程邮箱的本地别名,它也是成功的。
[email protected] – > [email protected] – > [email protected]
问题来了,当我发送邮件从本地用户到gmail.com的远程邮箱。
[email protected] – > [email protected]
我得到:
NOQUEUE: reject: RCPT from unknown[xx.xx.xx.xx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[yy.yy.yy.yy]>
我读到,我们需要使用SSL获得中继权限…
那么,为什么我可以通过本地别名来传递?
现在SSLconfiguration非常困难的问题…我试图configuration它,并得到很多错误…
我想把你的注意力,用户名和密码提供SMTPauthentication,所以我的服务器不是垃圾邮件和无限的中继目标,我只是想find一些SSL的方式!
是否有可能从本地邮箱直接发送到远程,而不使别名和没有SSL?
我想你的意思是SASL。 问题是,如果你的邮件服务器没有使用某种限制/控制(允许客户发送邮件到其他域),那么它就变成了一个开放的中继。 这意味着任何人都可以使用您的电子邮件服务器发送垃圾邮件。 这当然是不可预料的。 这就是为什么你需要使用某种限制来限制谁可以使用服务器中继邮件。 阅读更多下面:
http://www.postfix.org/SMTPD_ACCESS_README.html#relay
中继控制,垃圾邮件控制和每用户策略
在遥远的过去,互联网是一个友好的环境。 邮件服务器代表任何人向任何目的地愉快地转发邮件。 在今天的互联网上,垃圾邮件发送者滥用从任意系统转发邮件的服务器,滥用系统最终导致反垃圾邮件黑名单。 例如,请参阅http://www.mail-abuse.org/和其他网站上的信息。
默认情况下,Postfix对邮件转发有一个适度限制的方法。 Postfix仅将邮件从可信networking中的客户端,经过SASLauthentication的客户端或configuration为授权中继目标的域转发。 有关默认邮件中继策略的说明,请参阅postconf(5)手册页中的smtpd_relay_restrictions参数以及从那里引用的信息。
如上所述,来自某个局域网的客户端的另一种select是使用postfix中提供的mynetworks选项。 在这里,您可以定义一个networking,并允许来自该networking的用户在没有身份验
您的configuration需要进行调整以允许SASL身份validation。 添加以下选项以启用身份validation。
smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_security_options = noanonymous
然后调整中继限制:
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit