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 / 问题 / 904363
Accepted
Farhan
Farhan
Asked: 2018-03-25 02:03:31 +0800 CST2018-03-25 02:03:31 +0800 CST 2018-03-25 02:03:31 +0800 CST

使用 postfix 日志跟踪 rails 电子邮件日志,以实现电子邮件传递能力

  • 772

我正在运行 rails 应用程序,它使用 postfix 作为中继发送电子邮件。这里是流量

Rails -> Resque workers -> Postfix -> SES -> 发邮件给客户

我的问题是我想找到 rails 日志和 postfix 之间的关系,以确保不会丢失任何一封电子邮件并正确发送给收件人。

例如,如果 Rails 日志显示,电子邮件发送到“[email protected]”,那么我可以在日志中检查电子邮件发送到 [email protected],我也想检查后缀中的同一电子邮件。当然它会在那里有一个条目,但要准确和准确地发现该特定电子邮件是否是使用 postifx 发送的?就像收件人可以向 [email protected] 发送 100 封电子邮件,或者可能是 50 封电子邮件,时间间隔不同,所以我如何在 rails 应用程序中添加任何特殊的 TAG、ID 或任何东西,我可以在其中跟踪它postifx 日志?

我希望问题很清楚。

谢谢

email
  • 1 1 个回答
  • 954 Views

1 个回答

  • Voted
  1. Best Answer
    Esa Jokinen
    2018-03-25T03:18:32+08:002018-03-25T03:18:32+08:00

    如果您的 Rails 使用 SMTP 连接到 Postfix,您对250响应感兴趣:

    250 2.0.0 Ok: queued as 41F1A40412
    

    如果你让 Rails 记录这个 ID,很容易从 Postfix 日志中找到它后来发生的事情:

    $ grep 41F1A40412 /var/log/mail.log
    
    postfix/smtpd[1900]: 41F1A40412: client=localhost[127.0.0.1]
    postfix/cleanup[1903]: 41F1A40412: message-id=<[email protected]>
    postfix/qmgr[29213]: 41F1A40412: from=<[email protected]>, size=299, nrcpt=1 (queue active)
    postfix/smtp[1904]: 41F1A40412: to=<[email protected]>, 
        relay=example.net[198.51.100.51]:25, delay=14, delays=13/0.07/0.26/0.71, dsn=2.0.0, 
        status=sent (250 2.0.0 OK 5D47140412)
    postfix/qmgr[29213]: 41F1A40412: removed
    

    至少该deliver.now!方法显示了此响应,因为它强制立即发送。如果正常方法没有发生这种情况,deliver那可能是因为 SMTP 在设计上明确了谁负责传递消息:只有在下一跳接受响应的责任时,它才应该从任何队列中删除250 Ok。

    • 1

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

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