使用Perl直接向收件人邮件服务器发送电子邮件

时间:2011-01-14 06:31:51

标签: perl email smtp dns

我需要编写一个小的Perl应用程序来直接向收件人的邮件服务器发送电子邮件。我无法使用本地邮件服务器,因为我需要在发生电子邮件错误时立即了解它们。

我了解Email :: Sender和Net :: SMTP,但有没有可以处理MX查找的Perl模块,甚至可能还有重试?

1 个答案:

答案 0 :(得分:2)

今天很少有SMTP服务器接受来自未配置为中继的独立计算机的邮件 - 特别是如果他们不反向解析到发送域MX记录。但是,如果您愿意等待(可配置的)短时间来了解您的电子邮件发生了什么,可以在正确配置的SMTP中继上考虑以下几个选项:

  1. 使用扫描邮件日志的守护程序(例如,如果您使用的是Postfix,请查看:Mail::Log::Parse::Postfix并将每个条目记录到您的程序可以访问的某个位置
  2. 再次使用Postfix作为示例,将延迟的截止日期保持为非常短,以便延迟邮件被退回
  3. 在邮件中添加自定义标题,以便POP守护程序可以使用Mail::DeliveryStatus::BounceParser跟踪退回
  4. 我知道在检查电子邮件中发生的事情看起来很简单,但是如果你坚持不使用Net :: SMTP :)这是最好的办法,同时也避免了SMTP服务器的风险拒绝你的邮件