据我所知,我需要在端口25 SMTP接收电子邮件,但我不希望这是一个中继端口。 相反,我将端口587用于注册(SASLauthentication)的用户从任何IP地址,通过我的服务器,以及任何电子邮件服务器(如GMail,雅虎)中继电子邮件。
我已经build立了Postfix来接收电子邮件,并对用户进行身份validation,但是我对25和587端口之间的区别以及如何使用端口接收和中继之间的区别感到十分困惑。
这是我的main.cf目前的相关部分。
myhostname = mx.example.com mydomain = example.com #myorigin = $mydomain mydestination = localhost localhost.localdomain mynetworks_style = host smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, # reject_unauth_destination is not needed here if the mail # relay policy is specified under smtpd_relay_restrictions # (available with Postfix 2.10 and later). reject_unauth_destination reject_rbl_client zen.spamhaus.org, reject_rhsbl_reverse_client dbl.spamhaus.org, reject_rhsbl_helo dbl.spamhaus.org, reject_rhsbl_sender dbl.spamhaus.org
和master.cf 。
smtp inet n - - - - smtpd #smtp inet n - - - 1 postscreen #smtpd pass - - - - - smtpd #dnsblog unix - - - - 0 dnsblog #tlsproxy unix - - - - 0 tlsproxy submission inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions=reject_sender_login_mismatch
不幸的是,当我试图用邮件客户端从不同的IP地址发送端口587时,我得到这个错误。
NOQUEUE: reject: RCPT from unknown[XXX.XXX.XXX.XXX]: 553 5.7.1 <[email protected]>: Sender address rejected: not owned by user [email protected]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.1.3]>
每端口configuration在master.cf完成,而不是在main.cf 。 默认的Postfixconfiguration文件已经有很好的示例设置,只需要取消注释即可。 端口587被标记为submission端口(端口25当然是smtp )。
您的设置可能会有所简化。 在main.cf ,仅将默认策略(对于端口25)指定为recipient_restrictions ,不过是必需的:
smtpd_recipient_restrictions =
permit_mynetworks
reject_unverified_recipient
reject_rbl_client zen.spamhaus.org
reject_rbl _......
permit_auth_destination
拒绝
在master.cf ,通过删除先前设置的限制并允许对已authentication用户进行不受限制的中继来覆盖它:
smtp inet n - n - - smtpd 提交inet n - n - - smtpd -o syslog_name =后缀/提交 -o smtpd_tls_security_level =encryption -o smtpd_sasl_auth_enable =是 -o smtpd_reject_unlisted_recipient =否 -o smtpd_recipient_restrictions = -o smtpd_relay_restrictions = permit_sasl_authenticated,拒绝 -o milter_macro_daemon_name = ORIGINATING