我用PHP构建各种Web应用程序。客户通常需要向用户或内部发送电子邮件通知。
我经常被客户打电话或发电子邮件说“乔史密斯从来没有收到电子邮件通知,我做过”或类似事件。
跟踪您的网络应用实际发送的电子邮件的最佳方式是什么?我不关心他们离开我的网络服务器之后的跟踪,我只想要一个“是的,这封电子邮件被发送到乔并且被发送到一般办公室邮箱”的日志。
我已经从这家公司发送了促销资料 - click - 但它还处于测试阶段。有没有人知道/使用类似的服务等?
答案 0 :(得分:2)
假设您的网站使用“本地”邮件服务器,例如Postfix / Sendmail / Exim,您需要检查邮件日志。通常(在Unix-ish系统上),这是/ var / log / maillog。它将包含电子邮件通过邮件服务器的完整记录,从PHP从PHP传递到收件人的那一刻。
但是,有些接受服务器的人会告诉你有关邮件的信息 - 他们会接受通常的“200 OK”成功代码,然后将其转储到垃圾箱中,因为它会触发垃圾邮件过滤器或您的IP / IP- block已被列入黑名单。
您可以在邮件中嵌入一个Web错误,以便(希望)客户端的电子邮件程序在读取邮件时会ping您的服务器,但大多数邮件客户端现在默认阻止远程映像,因此这也是非常不可靠的。
基本上,电子邮件是一种尽力而为,不能保证成功的业务,而整个系统的设置都是骗你的。
答案 1 :(得分:1)
通常,当您调用mail函数时,php会使用某种邮件程序。该程序应该有一个日志。例如,我们使用postfix。如果我想检查是否发送了电子邮件:我只是引用了后缀日志。