AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 593878
Accepted
Jack
Jack
Asked: 2014-05-09 02:43:31 +0800 CST2014-05-09 02:43:31 +0800 CST 2014-05-09 02:43:31 +0800 CST

后缀通知发送

  • 772

我的场景

我正在编写一个使用本地后缀向用户发送电子邮件的网站。对于我要发送的任何电子邮件,我需要知道 postfix 是否已成功发送(到下一跳)。

到目前为止我所做的

我正确配置了脚本的执行,以防电子邮件被退回。为了实现这一点,我发送带有“info+2493@mydomain”之类的电子邮件作为信封发件人地址,其中 2493 是我邮件的唯一标识符,并为使用 ad-hoc 中继的 info@mydomain 配置了一个传输条目(在主.cf) 执行我的脚本。好的

我的问题

我如何配置脚本的执行,就像我为成功发送的电子邮件所做的退回电子邮件一样?

除了退回和投递之外,我应该关心的邮件发送还有哪些其他可能性?

postfix
  • 1 1 个回答
  • 2293 Views

1 个回答

  • Voted
  1. Best Answer
    masegaloeh
    2014-05-09T08:13:24+08:002014-05-09T08:13:24+08:00

    为了了解邮件传递的状态,postfix 使用 DSN作为RFC 3464中的状态。文档说明有 3 种交付状态

    • 成功(服务器接受消息)
    • 延迟(服务器现在无法投递,但会重试)
    • 失败(服务器无法投递,退回给发件人)

    如果您通过sendmail(例如 PHP 中的mail 函数)发送电子邮件,默认状态是 postfix 会在出现故障或延迟时通知您。如果您想在消息发送成功时收到通知,-N delay,failure,success请在您的 sendmail 命令中添加参数。此功能记录在Postfix DSN 支持和SENDMAIL(1)中。

    更新

    为了区分成功和失败,您可以解析 的附件DSN email,特别是在Delivery reportsection.

    这里是失败交付的片段

    Content-Description: Delivery report
    Content-Type: message/delivery-status
    
    Reporting-MTA: dns; example.com
    X-Postfix-Queue-ID: 3gPtcL5lvrzDFBC
    X-Postfix-Sender: rfc822; [email protected]
    Arrival-Date: Fri,  9 May 2014 08:04:50 +0700 (WIT)
    
    Final-Recipient: rfc822; [email protected]
    Original-Recipient: rfc822;[email protected]
    Action: failed
    Status: 5.1.1
    Remote-MTA: dns; example.com
    Diagnostic-Code: smtp; 550 5.1.1 <[email protected]>: Recipient address
        rejected: User unknown in virtual mailbox table
    

    这里是成功交付的片段

    Content-Description: Delivery report
    Content-Type: message/delivery-status
    
    Reporting-MTA: dns; www.example.com
    X-Postfix-Queue-ID: 5936DF75D4
    X-Postfix-Sender: rfc822; [email protected]
    Arrival-Date: Thu,  8 May 2014 22:58:40 +0700 (WIT)
    
    Final-Recipient: rfc822; [email protected]
    Original-Recipient: rfc822;[email protected]
    Action: relayed
    Status: 2.0.0
    Diagnostic-Code: X-Postfix; delivery via dovecot: delivered via dovecot service
    
    • 2

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve