检索邮件的SMTP响应

时间:2009-02-23 06:40:44

标签: smtp

是否可以检索邮件的SMTP响应。例如,我正在向不存在的电子邮件ID发送邮件。当然,我们的服务器会向我们发送一封邮件守护程序失败邮件给我们的邮件ID。我需要捕获失败的邮件。

怎么可能?请解释一下。有时我们可能会输入多个不存在的电子邮件ID,因此我必须为每个相应的电子邮件单独检索所有失败的邮件

请指导我!

提前致谢,

Praveen J

4 个答案:

答案 0 :(得分:2)

我想我现在正确地理解了你的问题。据我了解,您正在编写一个发送邮件的应用程序。在您的应用程序中,无论何时发送邮件,您还需要验证邮件是否已发送以及邮件是否已发送,那么您希望在应用程序中获取失败消息。这是你的意思吗?

好吧,如果这就是你的意思,那么我认为用你的应用程序代码跟踪邮件状态是不可能的。例如,如果您在应用程序中使用java sendMail,则只能确保代码成功发送(没有任何发送异常,如java.net.SocketException或javax.mail.MessagingException)。但是,您永远无法确保邮件是否真正到达了接收者。即如果邮件因收件人地址错误而被拒绝,或者收件邮件服务器上的非法附件或发件人ID被阻止等错误,您就永远无法在申请中进行追踪。

这是因为任何这样的错误条件将由接收邮件服务器传送到发送邮件服务器,其信息存在于发送邮件的标题中。

这会回答你的问题吗? (或者我是否正确理解了你的问题?; - ))

答案 1 :(得分:1)

我不确定我的问题是否正确。如果您从地址yyy@yourhost.com发送电子邮件至任何不存在的地址xxx@gmail.com,gmail.com的邮件服务器将回复您在yourhost.com上的邮件服务器,其中包含失败消息和原因。地址,您自动收到fialure邮件。你不需要做任何额外的事情。

如果您正在谈论查看邮件标题,那么这取决于您使用的是哪个客户端。对于instace,如果您使用的是MS Outlook,则可以右键单击该消息并单击选项,然后查看Internet头部分以获取邮件头。如果您使用的是某些基于Web的邮件,那么我确信可以选择查看详细的邮件标题。

答案 2 :(得分:1)

退回的邮件将返回邮箱。您应该能够通过在发送的邮件上正确设置标头来配置该邮箱。然后,您需要监视该邮箱,或让该邮箱将消息传递给您的程序。

我建议您考虑对发出的所有邮件使用VERP。它将使您更容易识别特定跳出所属的电子邮件地址。为此,您需要控制邮件服务器。它需要一些配置工作。

要更详细地回答这个问题,您需要告诉我们您的邮件发送方式,运行的邮件服务器类型以及您对邮件服务器的控制程度。

答案 3 :(得分:0)

在Unix上,您可以使用“procmail”。 Procmail是一种服务,可以拦截您的邮件并按照规则处理它们。

如果您可以访问我的IMAP邮件,我建议您查看Python模块imaplib

相关问题