您好,我遇到了邮件被退回的问题,这种情况不是经常发生,但同时也非常频繁。大多数情况下,如果我将电子邮件发送到不存在的地址,那么我会被退回到 failues@domain,但似乎有些情况下我会收到以下错误
9 月 30 日 13:38:53 postfix/smtp[62566]: DB8E6D6F9EA: to=, reply=none, delay=0, delays=0/0/0/0, dsn=5.4.6, status=bounced (域邮件循环回到我自己)
当我收到立即退回的邮件时,我似乎会遇到这种情况,即我尝试连接的服务器立即阻止电子邮件,因为它知道该地址不存在。如果电子邮件发出后稍后被退回,这似乎可以正常工作。
有谁知道为什么我会收到这个“域名邮件循环回到我自己”错误消息。
显然,这是我试图将电子邮件发回给自己,因为我的服务器在尝试发送邮件时收到了阻止,然后它尝试将邮件发送回 ReplyTo 标头,在这种情况下是它自己,但它不应该能够处理这个问题吗?
........
注意:我必须从这篇文章中删除所有“.com”,因为我只能发布 1 个网址
感谢您提供的 2 个答案,但是我们仍然遇到同样的问题。因此,下面我尝试提供一些更详细的信息。
下面的两个示例都尝试发送到不存在的地址。RealTSP 从另一个 postfix 实例反弹有效。Yahoo 的反弹无效。我们期望将“未送达通知”发送到,因为两种情况下的 Return-Path 都是等效的 VERP 地址。请注意,如果我们不使用 VERP,即“Return-Path: ”,那么 yahoo 也可以工作。
日志条目
realtsp.....正在工作! ==================== 10 月 6 日 16:46:08 米尔福德 postfix/smtpd[58480]: 5027DD6E971: 客户端 = takapuna.realtsp[89.187.108.20], sasl_method=LOGIN, sasl_username=***** 10 月 6 日 16:46:08 milford postfix/cleanup[58482]: 5027DD6E971: message-id= 10 月 6 日 16:46:08 milford postfix/qmgr[57929]: 5027DD6E971: from=, size=9468, nrcpt=1 (队列活跃) 10 月 6 日 16:46:08 milford postfix/smtp[57936]: 5027DD6E971: to=,relay=milford.realtsp[89.187.108.21]:25,delay=0.64,delays=0.63/0/0/0.01,dsn=5.1.1,status\ =bounced(主机 milford.realtsp[89.187.108.21] 说:550 5.1.1:收件人地址被拒绝:虚拟邮箱表中的用户未知(回复 RCPT TO comm\ 和)) 10 月 6 日 16:46:08 milford postfix/bounce[58483]: 5027DD6E971: 发件人未送达通知: EA68FD6EAB7 10 月 6 日 16:46:08 milford postfix/qmgr[57929]: 5027DD6E971: 已删除 10 月 6 日 16:46:08 milford postfix/cleanup[58482]: EA68FD6EAB7: 消息 ID= 10 月 6 日 16:46:08 milford postfix/qmgr[57929]: EA68FD6EAB7: from=,size=11600,nrcpt=1(队列活跃) 10 月 6 日 16:46:09 米尔福德 postfix/lmtp[58484]: EA68FD6EAB7: to=,relay=smtp.news.t1ps[/var/imap/socket/lmtp],delay=0.76,delays=0/0.0\ 1/0/0.75,dsn=2.1.5,状态=已发送(250 2.1.5 正常) 10 月 6 日 16:46:09 milford postfix/qmgr[57929]: EA68FD6EAB7: 已删除 雅虎...不工作! ======================== 10 月 6 日 16:42:01 米尔福德 postfix/smtpd[57732]: 33EBBD6EE87: 客户端 = takapuna.realtsp[89.187.108.20], sasl_method=LOGIN, sasl_username=**** 10 月 6 日 16:42:01 milford postfix/cleanup[57735]: 33EBBD6EE87: message-id= 10 月 6 日 16:42:01 milford postfix/qmgr[57598]: 33EBBD6EE87: from=, size=9480, nrcpt=1 (队列活跃) 10 月 6 日 16:42:10 米尔福德 postfix/smtp[57636]: 33EBBD6EE87: to=,relay=e.mx.mail.yahoo[206.190.53.191]:25,delay=9.4,delays=0.02/0/6.5/2.9,dsn=5.0.0,s\ tatus=bounced (host e.mx.mail.yahoo[206.190.53.191] 说:554 投递错误:dd 此用户没有 yahoo 帐户 (nkaderibigbe@yahoo) [0] - mta164.mail.re2.yaho\ o(回复 DATA 命令的结束) 10 月 6 日 16:42:10 milford postfix/bounce[57756]: 33EBBD6EE87: 发件人未送达通知: A083ED6EA01 10 月 6 日 16:42:10 milford postfix/qmgr[57598]: 33EBBD6EE87: 已删除 10 月 6 日 16:42:10 milford postfix/cleanup[57735]: A083ED6EA01: message-id= 10 月 6 日 16:42:10 milford postfix/qmgr[57598]: A083ED6EA01: from=, size=11696, nrcpt=1 (队列活跃) 10 月 6 日 16:42:10 米尔福德 postfix/smtp[57631]: A083ED6EA01: to=, reply=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.6, status=bounced \ (news.t1ps 的邮件循环回到我自己) 10 月 6 日 16:42:10 milford postfix/qmgr[57598]: A083ED6EA01: 已删除
主配置文件
soft_bounce = 否 队列目录 = /var/spool/postfix_rsh 命令目录 = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix 数据目录 = /var/db/postfix_rsh mail_owner = postfix 我的主机名 = smtp.news.t1ps inet_interfaces = 89.187.108.81 本地收件人映射 = $虚拟邮箱映射 未知本地收件人拒绝代码 = 550 mynetworks_style = 主机 中继域 = $我的目的地 收件人分隔符 = + 邮箱传输 = lmtp:unix:/var/imap/socket/lmtp header_checks = regexp:/usr/local/etc/postfix_rsh/header_checks 调试对等级别 = 10 debug_peer_list = 雅虎 调试器命令 = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $守护进程目录/$进程名$进程id & sleep 5 sendmail_path = /usr/local/sbin/sendmail newaliases_path = /usr/local/bin/newaliases mailq_path = /usr/local/bin/mailq setgid_group=maildrop html_directory = 否 manpage_directory = /usr/local/man 样本目录 = /usr/local/etc/postfix_rsh readme_directory = 否 masquerade_domains = $mydomain 消息大小限制 = 51200000 虚拟传输 = lmtp:unix:/var/imap/socket/lmtp 虚拟邮箱域名 = news.t1ps, domain2, domain3.co.uk, domain4 virtual_alias_maps = hash:/usr/local/etc/postfix_rsh/virtual virtual_mailbox_maps = 哈希:/usr/local/etc/postfix_rsh/virtual_mailbox_maps transport_maps = regexp:/usr/local/etc/postfix_rsh/transport broken_sasl_auth_clients = 否 smtp_bind_address = 89.187.108.81 smtpd_sasl_auth_enable = 是 smtpd_sender_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_helo_restrictions = rejection_invalid_hostname smtpd_require_helo = 是 slow_destination_concurrency_limit = 15 慢速目标收件人限制 = 5 syslog_facility = local1
在 /usr/local/etc/postfix_rsh/virtual_mailbox_maps 中
[电子邮件保护]假的
主配置文件
拾取 fifo n - n 60 1 拾取器 清理 unix n - n - 0 清理 qmgr fifo n - n 300 1 qmgr tlsmgr unix--n 1000?1 tlsmgr 重写 unix - - n - - 简单重写 弹跳 unix - - n - 0 弹跳 推迟 unix - - n - 0 反弹 跟踪 unix - - n - 0 反弹 验证 unix - - n - 1 验证 刷新 unix n - n 1000? 0 刷新 代理映射 unix - - n - - 代理映射 smtp unix - - n - 500 smtp 慢速 unix - - n - 100 smtp -o smtp_connect_timeout=5 中继 unix - - n - 100 smtp -o fallback_relay= showq unix n - n - - showq 错误 unix - - n - - 错误 重试 unix - - n - - 错误 丢弃 unix - - n - - 丢弃 本地 unix-nn--本地 虚拟 unix - nn - - 虚拟 lmtp unix - - n - - lmtp anvil unix - - n - 1 铁砧 scache unix - - n - 1 scache 26 inet n-n-- smtpd -o 内容过滤器= smtp inet n-n--smtpd -o content_filter=spamchk:dummy spamchk unix-nn-10 管道 标志 = Rq 用户 = spamd argv = / usr / local / bin / spamchk_rsh -f $ {sender} -- ${收件人} proxywrite unix - - n - 1 proxymap
答案1
当 domain.com 具有指向您的 Postfix 服务器的 MX 记录(或在没有 MX 的情况下为 A 记录)但您的 Postfix 服务器未配置为接受该域的邮件时,就会发生这种情况。这种情况通常出现在两种情况下:
- 您已获得一个新域名,想要将其用于电子邮件,但您只是忘记将其添加到 Postfix。有几种方法可以做到这一点。就我而言,我使用虚拟表将地址映射到真实的本地用户,因此我在
virtual_alias_domains
main.cf 中的指令中列出了我的域。 - 该域的 MX 记录设置为解析为 127.0.0.1 的主机。某些恶意软件会利用这一技巧,将回复地址设置为有效域,大多数反垃圾邮件措施都会检查该域。但是,MX 可以有效阻止向该地址发送任何邮件,因此发件人无需处理回复或退回邮件。
答案2
假设 Postfix 尝试将邮件发送至“[电子邮件保护]",每当“example.net”的 MX DNS 记录(或transport_maps
条目)指向服务器本身(或用 指定的 IP 地址之一proxy_interfaces
)并且“example.net”未被识别为本地域(不在mydestination
、virtual_mailbox_domains
或relay_domains
- 以及一些非常深奥的特殊情况,涉及自由使用virtual_alias_maps
和 IP 文字寻址)时,就会发生上述错误。
就您而言,有问题的邮件是由空发件人发送的,收件人将是原始邮件的发件人。这意味着:找出“domain.com”的邮件为何被路由到您的 Postfix 服务器,以及“domain.com”为何未被识别为本地地址。
答案3
嗨,只是一个快速更新,我们发现了这个问题,它与我上面发布的任何配置文件都没有关系,它完全与传输配置文件有关
我们使用正则表达式传输匹配,以便我们可以通过慢速连接到邮件服务器,例如 yahoo 和 hotmail,我们的正则表达式非常宽松,每次 postfix 尝试路由退回时,它都会查看传输,发现它与正则表达式匹配,并尝试将其发送到外部世界,此时它发现循环并导致原始错误。查看正则表达式解决了这个问题。
感谢你的帮助。
对于任何感兴趣的人,这现在都是传输正则表达式:
/@.*hotmail\./ 慢: /@.*live\./ 慢: /@.*msn\./ 慢: /@.*yahoo\./ 慢: /@.*aol\./ 慢: /@.*btinternet\./ 慢: /@.*btopenworld\./ 慢: /@.*talk21\./ 慢:
希望这对遇到类似问题的其他人有所帮助。