PHP邮件()返回路径问题


PHP mail() Return-Path Issues

迁移到新的主机后,我开始遇到一些奇怪的问题。

PHP mail()函数只工作,如果我添加以下行PHP .ini与-f参数。(如果省略-f参数,mail()函数将返回true,但不执行任何操作。)

[mail function]
  sendmail_path = "/usr/sbin/sendmail -t -i -f email@mydomain.com"

然而,这会导致所有消息都有以下不希望的消息头:

Return-Path: <email@mydomain.com>

我试着给mail()添加第五个参数,但是没有效果。

我将非常感谢你的帮助。提前感谢!

检查/更改PHP邮件配置:

打开你的php.ini文件(如果你不知道它在哪里,见下文)搜索[mail function]这一行添加/更改你的邮件服务器的详细信息。这可能是本地邮件服务器或您的ISP的邮件服务器。保存/关闭php.ini文件重新启动web服务器

第一次打开php.ini文件时的邮件设置示例:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

附加信息是在回显phpinfo(),您可以查看您的PHP配置细节。您可以创建一个.php文件,其中包含以下行:当您在浏览器中运行此命令时,您将看到PHP配置变量的完整列表。只需搜索包含php.ini和sendmail_path的行,就可以查看需要使用的值。

另一个想法是,您可以使用ini_set()来正确配置您的邮件设置,如下所示

如果您的邮件脚本继续失败,请将以下代码添加到邮件脚本的顶部。

// Please specify your Mail Server - Example: mail.example.com.
ini_set("SMTP","mail.example.com");
// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports.
ini_set("smtp_port","25");
// Please specify the return address to use
ini_set('sendmail_from', 'example@YourDomain.com');