跟踪SMTP使用PHP发送的电子邮件

时间:2011-11-15 08:45:24

标签: php email smtp phpmailer

我正在开发一个小型电子邮件发件人门户网站,允许注册用户发送一些电子邮件。我使用与localhost上安装的SMTP服务器的安全连接(我的意思是Apache和PHP的相同服务器)来发送电子邮件,我已经实现了一个系统来控制发送的电子邮件数量(我安排发送电子邮件到避免同时发送太多电子邮件。)

我使用PHPMAiler类发送电子邮件和我自己的一类来安排它们。

我唯一想念的是跟踪我发送的电子邮件,以了解是否发生了一些错误(特别是哪个错误,例如找不到地址,收件人邮箱已满等等)并知道用户是否打开电子邮件,然后。

我承认我实际上对SMTP服务器几乎一无所知,但我想知道是否有一些资源我可以找到一个可以与SMTP服务器通信的PHP类,询问它是否收到了已发送的电子邮件,或者如果在PHP中有任何方式可以检索已发送的电子邮件信息....或其他任何可能对我有用的信息。

2 个答案:

答案 0 :(得分:3)

不幸的是,一旦SMTP服务器将邮件发送到收件人邮件服务器,就无法“跟踪”电子邮件。

如果接收电子邮件服务器遇到错误,它会自动将错误消息发送到发件人地址。这可能是尝试发送电子邮件的注册用户的电子邮件地址。

希望这有帮助。

答案 1 :(得分:1)

一旦离开,就无法跟踪电子邮件,但是您有两个选项。一种是检查退回邮件。通常,外向消息将指定退回将返回的返回路径。

另一个选择是您可以控制发送服务器。如果您要发送到的服务器是抱怨用户丢失的服务器,那么您将收到一个SMTP错误代码。 SMTP错误代码几乎与HTTP相反,因为500是硬反弹(这里不知道像用户这样的永久性错误)和400次软反弹(临时错误)。

最后还可以添加一个小图片(将通过您的PHP脚本呈现)来跟踪电子邮件的打开,显然这对用户阻止图像无效,但它可以提供一些用户的想法已阅读电子邮件(以及链接跟踪)