首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >后缀反弹两次(双跳)

后缀反弹两次(双跳)
EN

Server Fault用户
提问于 2017-11-16 17:45:50
回答 1查看 1.9K关注 0票数 3

我只配置了一个仅允许从@example.com发送的后缀MTA

当弹跳发生时,我想用脚本来处理。

我遵循了这个答案所给出的步骤:https://serverfault.com/a/735721/444076

我的脚本被正确调用,但是from地址仍然收到一封电子邮件。我怎样才能防止这种情况发生呢?

main.cf

代码语言:javascript
运行
复制
mydestination = bounce.example.com, localhost

# BOUNCE CONFIG
notify_classes = bounce
bounce_notice_recipient = bounce@bounce.example.com
transport_maps = hash:/etc/postfix/transport_maps
bounce_size_limit = 1

transport_maps

代码语言:javascript
运行
复制
# when you make changes to this file, run:
#   sudo postmap /etc/postfix/transport_maps
bounce@bounce.example.com   bulkbounce:

master.cf

代码语言:javascript
运行
复制
bulkbounce unix -       n       n       -       -       pipe
  flags=FRq user=nouser argv=/path/to/bouncescript.sh

然而,发送类似于(有效的,无效的rcpt)的邮件:

代码语言:javascript
运行
复制
FROM: someuser@example.com
TO: invalid@invalid.com
SUBJECT: ...
...

结果在我的脚本被调用(很好)和someuser@example.com收到电子邮件与反弹消息(不需要)。

我怎么能让它失效呢?或者我错过了什么。

示例日志:

代码语言:javascript
运行
复制
Nov 16 17:27:32 dev postfix/smtpd[6654]: connect from localhost[::1]
Nov 16 17:27:32 dev postfix/smtpd[6654]: 486FED9F98: client=localhost[::1]
Nov 16 17:27:32 dev postfix/cleanup[6658]: 486FED9F98: message-id=<3884f81324a6b2e7dfd90e01c3477084@swift.generated>
Nov 16 17:27:32 dev postfix/qmgr[6652]: 486FED9F98: from=<someuser@example>, size=544, nrcpt=1 (queue active)
Nov 16 17:27:32 dev postfix/smtpd[6654]: disconnect from localhost[::1]
Nov 16 17:28:13 dev postfix/smtp[6659]: 486FED9F98: to=<bouncetest@tribulant.com>, relay=tribulant.com[23.22.38.89]:25, delay=41, delays=0.05/0.02/21/20, dsn=5.0.0, status=bounced (host tribulant.com[23.22.38.89] said: 550 No such person at this address. (in reply to RCPT TO command))
Nov 16 17:28:13 dev postfix/cleanup[6658]: 7604CD9F9D: message-id=<20171116172813.7604CD9F9D@app.example.com>
Nov 16 17:28:13 dev postfix/qmgr[6652]: 7604CD9F9D: from=<>, size=2984, nrcpt=1 (queue active)
Nov 16 17:28:13 dev postfix/bounce[6693]: 486FED9F98: sender non-delivery notification: 7604CD9F9D
Nov 16 17:28:13 dev postfix/cleanup[6658]: 76DAED9F9E: message-id=<20171116172813.76DAED9F9E@app.example.com>
Nov 16 17:28:13 dev postfix/qmgr[6652]: 76DAED9F9E: from=<double-bounce@app.example.com>, size=2599, nrcpt=1 (queue active)
Nov 16 17:28:13 dev postfix/bounce[6693]: 486FED9F98: postmaster non-delivery notification: 76DAED9F9E
Nov 16 17:28:13 dev postfix/qmgr[6652]: 486FED9F98: removed
Nov 16 17:28:13 dev postfix/smtp[6659]: 7604CD9F9D: to=<someuser@example>, relay=mx.mailprotect.be[178.208.39.141]:25, delay=0.08, delays=0/0/0.05/0.03, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C0B5E4401F4)
Nov 16 17:28:13 dev postfix/qmgr[6652]: 7604CD9F9D: removed
Nov 16 17:28:13 dev postfix/pipe[6694]: 76DAED9F9E: to=<bounce@bounce.example.com>, relay=bulkbounce, delay=0.16, delays=0/0.01/0/0.15, dsn=2.0.0, status=sent (delivered via bulkbounce service)
Nov 16 17:28:13 dev postfix/qmgr[6652]: 76DAED9F9E: removed

fqdn: app.example.com

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-11-17 17:22:08

现在我明白了发生了什么,答案是显而易见的。

在RFC之后,MTA (应该)始终向发送方发送一条回弹消息(如果设置了返回路径,则从发送方返回)。

添加notify_classes不会改变这种行为,而是在其之上添加行为。(因此第二封邮件被发送)

为了实现我想要的结果,只调用脚本,我删除了notify_classes和bounce_notice_recipient。此外,我还将应用程序更改为始终使用bounce@bounce.example.com添加一个“返回路径”头。

当弹跳发生时,MTA会向FROM或返回路径发送一条回弹消息(现在是bounce@bounce.example.com)。由于这封电子邮件是映射在transport_maps,它得到管道到脚本,没有电子邮件实际上是发送。万岁

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/883805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档