You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaMail API识别退信通知?Gmail与IBM Domino邮件头差异

判断IBM Domino退信的邮件头标识
  • x-failed-recipient这个头不通用,IBM Domino环境下不会自动添加它,别指望靠这个识别Domino退信。
  • Domino退信有自己专属的标识,推荐优先检查这些邮件头:
    • Reporting-MTA:Domino生成的退信里,这个字段的值一般会包含domino字样或者Domino服务器的域名,比如Reporting-MTA: dns;domino01.company.com。
    • Diagnostic-Code:退信里会明确给出错误码,比如收件人不存在时会是smtp;550 User unknown,这是判断退信的核心依据之一。
    • X-Domino-Report:部分Domino版本会添加这个头,直接表明这是Domino生成的退信报告,识别起来更直接。
  • 用JavaMail API实现判断的简单示例:
    // 假设已获取到MimeMessage对象msg
    String reportingMTA = msg.getHeader("Reporting-MTA", null);
    String diagnosticCode = msg.getHeader("Diagnostic-Code", null);
    String dominoReportHeader = msg.getHeader("X-Domino-Report", null);
    
    boolean isBounceMail = false;
    // 多条件组合判断,提高准确率
    if ((reportingMTA != null && reportingMTA.toLowerCase().contains("domino")) 
        || (diagnosticCode != null && diagnosticCode.contains("550 User unknown"))
        || dominoReportHeader != null) {
        isBounceMail = true;
    }
    
  • 补充:如果邮件头判断拿不准,也可以结合邮件正文——Domino退信正文里通常会有"Unable to deliver mail to"这类明确提示,但邮件头的可靠性比正文高,优先用头判断。

内容的提问来源于stack exchange,提问作者Manish Chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:09:58