【问题标题】:How to get mail message id from PHP before or after sending如何在发送之前或之后从 PHP 获取邮件消息 ID
【发布时间】:2023-03-18 01:38:01
【问题描述】:

我想跟踪将电子邮件分配为垃圾邮件的用户,然后将其从邮件列表中删除,或者只是将通知设置为 0,这样他们就不会再收到电子邮件了。

邮件反馈循环可以帮助您做到这一点,但它们只返回带有邮件 ID 的邮件,不会告诉您它来自哪个电子邮件地址。

http://www.unlocktheinbox.com/resources/feedbackloops/

所以我想知道,如何从使用 PHP mail() 函数发送的邮件中检索消息 ID?

【问题讨论】:

  • 我很确定只有一小部分垃圾邮件标记实际上会产生 FBL 反馈。另外,如果我对系统的理解正确,您必须积极提供服务。你为什么首先要这样做?如果人们不想再收到来自(合法)邮件列表的消息,他们只需点击“取消订阅”链接,不是吗?
  • 我正在创建退回电子邮件系统,当我阅读此消息stackoverflow.com/questions/10685799/… 时,我认为我也应该这样做以获得额外的保护。
  • 大多数邮件处理软件都会接受您自己生成的 Message-Id。如果你把一个放进去,它会通到另一端吗?只需确保开辟出自己的名称空间,不要产生重复。

标签: php email spam email-spam spam-prevention


【解决方案1】:

您无法获取通过mail() 命令发送的邮件的消息 ID。该消息 ID 由 sendmail 或其他任何下游生成。

您需要使用其他东西来生成您的邮件,例如PHPMailer,或许多其他替代方案之一。

【讨论】:

  • 是的,我正在通过 PHPMailer 发送电子邮件,但我如何设置消息 ID,我认为这是由 sendmail 自动完成的,如果从 php 脚本设置,则会过度正确。有什么解决办法吗?
  • 等等,你用的是PHPMailer还是mail()?您说您在问题中使用了mail()
  • PHPMailer 也在使用邮件.. 不是吗?它确实使用 smtp / sendmail 和邮件。我正在使用来自 PHPMailer 的邮件。
  • PHPMailer 可以直接连接到 SMTP 服务器。当它这样做时,已经创建了完整的消息(带有 ID 和所有内容)。 tig12.net/downloads/apidocs/wp/wp-includes/…
  • @Basit,这取决于您发送电子邮件的方式。我通常有一个后台进程来处理这个问题。 Web 应用程序只是编写要发送到数据库的电子邮件,然后在后台运行的脚本循环并发送电子邮件。此外,您可以在同一个机器上本地运行 SMTP 服务器,它与执行 sendmail 一样快。
猜你喜欢
  • 2018-02-16
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-23
  • 2018-09-11
  • 1970-01-01
  • 2016-05-29
相关资源
最近更新 更多