问题如下:来自任何不属于您的邮件服务器的 IP 地址:
telnet me.myemailserver.com 25
helo me.someserver.com
mail from: <[email protected]>
rcpt to: <[email protected]>
data
This is spam. Buy my stuff.
.
我正在使用 Postfix。我在寻找要求对声称来自 mydomain.com 的电子邮件进行 SMTP-AUTH 的解决方案时遇到了问题。
通过 Google 搜索,这个人发现了同样的问题(我剪切粘贴了一些修改),上面的例子来自: http://www.smartertools.com/forums/t/13182.aspx
此链接 http://marc.info/?l=postfix-users&m=122814832915131&w=2 接近解决方案,但它有一个副作用,即要求对不是来自 mydomain.com 的邮件进行 SMTP-AUTH。对于不是来自 mydomain.com 的邮件,我会进行常规的 RBL 和垃圾邮件过滤。
简而言之,我想拒绝来自外部/未经身份验证的客户端的声称来自本地域(mydomain.com)的邮件到本地域(mydomain.com)。
这是我尝试过的:我尝试过将允许和拒绝都作为默认设置。以下是我的 main.cf 的准确摘录:
smtpd_recipient_restrictions = reject_unauth_pipelining,
permit_sasl_authenticated,
check_recipient_access pgsql:/etc/postfix/pgsql-recipient.cf,
reject_unauthenticated_sender_login_mismatch,
reject_unauth_destination,
reject_unlisted_recipient,
check_sender_access pgsql:/etc/postfix/pgsql-sender.cf,
reject_unlisted_sender,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client blackholes.wirehub.net,
reject_rbl_client relays.mail-abuse.org,
reject_rbl_client dialups.mail-abuse.org,
reject_rbl_client blackholes.mail-abuse.org,
reject_rhsbl_sender dsn.rfc-ignorant.org,
(reject and permit both tried here)
答案1
我会尝试这样的事情:
/etc/postfix/main.cf:
smtpd_sender_restrictions = 允许我的网络, 允许通过 SASL 进行身份验证, check_sender_access 哈希:/etc/postfix/access_table, ..., 允许
/etc/postfix/access_table:
mydomain.com 拒绝你不是我!
理论是这样的:
如果他们已经通过了身份验证,则会触发permit_sasl_authenticated
规则并被允许通过。如果他们未通过身份验证,则会按照规则进行操作check_sender_access
。如果发件人域名与“mydomain.com”匹配,则会拒绝发件人。(因此未经身份验证 + MAIL FROM “mydomain.com” = 拒绝。)如果是其他域名,则会继续执行其余规则。
注意:这尚未测试。在生产系统上尝试之前,我会warn_if_reject
在该规则前面加上一个。check_sender_access
答案2
在一台服务器上,我有带有 Dovecot 的 Postfix 以及 MySQL 中的身份验证数据,我在 main.cf 中执行以下操作:
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,拒绝
答案3
您可以使用 SPF 来避免此问题。它将检查尝试使用您的域名发送电子邮件的 IP 是否有权这样做。以下是您可以遵循的良好指南
https://www.linode.com/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/