如何在PHP中获取邮件传递的信息

时间:2010-11-12 17:21:04

标签: php

我想通过PHP mail()函数发送邮件。

PHP mail()函数是否返回传递状态?如果没有,那么在PHP中查找我的邮件是否被发送的方法是什么?

3 个答案:

答案 0 :(得分:2)

  

php mail()函数是否返回传递状态

没有。没有通用的方法来告诉电子邮件的实际交付状态。 mail()只会告诉您传出服务器是否接受了电子邮件。

Here是请求发送通知的方法列表,但没有一种是防水的。

如果您遇到电子邮件问题,有几个相关的SO问题,其中包括this one.

答案 1 :(得分:1)

它会返回一个状态,告诉您它是否已成功传送到负责实际发送邮件的MTA。 如果没有设置接收电子邮件退回的特殊邮箱,您无法确定邮件是否已实际发送给收件人。如果您决定创建一个并设置标题以确保跳转,那么请记住,在跳转到达之前可能需要一些时间,因此在调用mail()并获得TRUE返回值之后,您只需假设邮件已被发送成功。

答案 2 :(得分:0)

您可以查看/var/log/mail.log,这是sendmail日志的通常位置,且仅在sendmail中已正确配置syslog.conf时才会显示。

# Log anything of level info or higher.   
* .info;authpriv.none;cron.none
# Log all the mail messages in one place.  
mail.* /var/log/maillog