我想设置我的Postfix下面的方式:
其实我在main.cf只有以下限制:
relayhost = relay_domains = $mydestination smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,permit smtpd_sender_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_sender,reject_unknown_sender_domain,permit virtual_alias_maps = hash:/etc/postfix/virtual alias_database = hash:/etc/postfix/aliases, hash:/etc/aliases
/etc/postfix/virtual文件的内容旨在收集指定虚拟用户到现有本地用户的所有邮件:
[email protected] postfix [email protected] postfix [email protected] postfix [email protected] postfix
据我所知smtpd_recipient_restrictions值reject_unauth_destination应该是足够的,但是当我打开我不能发送电子邮件到任何外部系统 – 后缀说Relay access denied 。 我无法得到如何解决这个问题。
UPD:最后我把“偏执型”的logging放在:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, # permit, reject_unauth_destination, reject
当您将reject_unauth_destination添加到smtpd_recipient_restrictions ,您记得/知道Postfix从左到右评估这些值吗? 如果你把它
smtpd_recipient_restrictions = reject_unauth_destination,permit_sasl_authenticated...
它会拒绝一切。
把它列在最后,它应该工作。
smtpd_recipient_restrictions = permit_sasl_authenticated, # permit_mynetworks, # permit, reject_unauth_destination, reject
这是行不通的。 其他邮件服务器将无法发送邮件给你。 您必须至less添加permit_auth_destination 。 我认为最好的解决办法是以下几点
mynetworks = 127.0.0.0/8 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, permit_auth_destination, reject