【问题标题】:How to handle email address status in PHP?如何在 PHP 中处理电子邮件地址状态?
【发布时间】:2011-04-20 13:12:25
【问题描述】:

我正在开发一个电子邮件营销系统,该系统允许用户向多个地址发送电子邮件。我有一个需要完成的任务列表,可能我会有很多关于这些任务的问题。这是其中之一:正如我所说,用户正在向多个地址发送电子邮件。 如果收件人地址阻止电子邮件,我想检查每封发送的电子邮件以及阻止的原因。

通常这是来自 Mail Delivery System 的电子邮件。我认为解决方案必须围绕以某种方式检查传入电子邮件的想法。请帮我找到最佳解决方案。

谢谢

**
  • 更新:

**

我将更新问题的内容。我忘了说这些邮件是从带有用户名和密码的有效 SMTP 服务器发送给我们的,应该有办法以某种方式从 PHP 获取收件箱的内容。

【问题讨论】:

    标签: php email email-client


    【解决方案1】:

    如果收件人地址阻止电子邮件,我想检查每封发送的电子邮件以及阻止的原因。

    算了。大多数垃圾邮件过滤器只会吞下不需要的电子邮件而不加评论(以免给垃圾邮件发送者任何关于他们成功或失败的暗示)。

    此外,您将无法查明用户是直接删除了您的电子邮件,还是在他们的电子邮件客户端中设置了删除它的规则。除非收件人告诉您,否则您永远无法掌握这些信息。

    只有极小部分被拒绝的电子邮件实际上会导致回复发送到电子邮件发件人地址 - 如果有的话!一方面,我的邮件被垃圾邮件过滤器吞没了,但我从未收到回复说“您的电子邮件被过滤为垃圾邮件”。有吗?

    可以做的是捕获由于技术原因而无法投递的电子邮件 - 未知收件人、收件人邮箱已满、中继失败...这些将作为“mailer-daemon”错误消息返回发件人地址或errors-to 标头中指定的地址。您可以使用 PHP 解析的那些邮件。但我认为这不是你想要的。

    【讨论】:

    • 开始不错。这正是我想知道的:如果它因为错误而失败。从 PHP 发送电子邮件后,我可以以某种方式自动执行此操作吗?我将更新问题的内容。我忘了说这些电子邮件是从一个有效的 SMTP 服务器发送的,带有用户名和密码,应该有办法从 PHP 获取收件箱的内容。
    • 作为后续:它认为解析退回邮件非常困难。您可以为最常见的错误(未找到收件人、邮箱已满等)编写解析器,但这样做需要大量时间和精力,因为没有真正的标准。最常见的方法是为每封邮件使用唯一的发件人地址(返回路径),这样您就可以看到某些收件人会出现退回错误(但不是为什么退回)。
    • @Ervin @Emil 已经说得很好:解析退回邮件很难,但应该可以找出是否有错误。参见例如stackoverflow.com/questions/1011714/…
    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 2016-06-20
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    相关资源
    最近更新 更多