PHP Mail()函数标题

时间:2011-08-08 20:20:04

标签: php email function

好的,所以我有一个PHP邮件功能。当我把它放在我的服务器上时它工作正常,但是当我把它邮寄到我的客户端,所以他可以把它放在他的服务器上它不起作用。它没有在他们的服务器上给我任何错误,并进入“谢谢”页面就好,但从未真正发送电子邮件。他们说这是因为PHP Mail没有正确的标题,但我认为它不需要标题,如果它只是简单地“邮件(主题,主题,消息)”他们说他们已经正确设置了所有与PHP相关的功能因为我最初以为是PHP Mail被关闭了。

任何建议都会很棒。

4 个答案:

答案 0 :(得分:3)

PHP的邮件功能是一块垃圾。如果它是真的,那只意味着电子邮件从PHP传递到本地邮件服务器。这并不意味着电子邮件实际上已经发送。在现实世界中,mail()将信封塞进角落的邮箱,然后开始自豪地说“我做了!我把它交付给你的用户!”......信封仍然卡在邮箱里。

您的客户端应检查其邮件服务器的日志,以查看从PHP切换后电子邮件发生的情况。即使邮件本身被反弹或后来被垃圾邮件删除,PHP的邮件功能也绝不会看到任何错误。

答案 1 :(得分:2)

您应始终使用“FROM”标题。

  

注意:

     

发送邮件时,邮件必须包含From标头。这可以   使用additional_headers参数设置,或者可以设置默认值   php.ini中。

     

如果不这样做,将导致类似于警告的错误消息:   mail():“sendmail_from”未在php.ini中设置或自定义“From:”标题   失踪。 From标头还设置了Windows下的Return-Path。

这直接来自mail()

的文档

答案 2 :(得分:0)

根据我的经验,我几乎总能在他们的邮件服务器上为其域中的客户端设置专用邮件帐户并使用邮件服务器进行身份验证并通过PEAR_Mail使用SMTP发送邮件。如果在发送过程中出现问题,您将从PEAR_Mail获得更多有用信息,再加上通过邮件服务器通过SMTP发送,您更有可能避免SPF问题等。

答案 3 :(得分:0)

确保服务器上安装了邮件传输代理,例如sendmail。