Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP mail()返回路径问题_Php_Email - Fatal编程技术网

PHP mail()返回路径问题

PHP mail()返回路径问题,php,email,Php,Email,搬到新的主机后,我开始有奇怪的问题 PHP邮件函数仅在我使用-f参数将以下行添加到PHP.ini时有效。 若省略-f参数,邮件函数将返回true,但不执行任何操作 [mail function] sendmail_path = "/usr/sbin/sendmail -t -i -f email@mydomain.com" 但是,这会导致所有消息都具有以下不需要的标头: Return-Path: <email@mydomain.com> 我已经尝试在邮件中添加第五个参数,但是

搬到新的主机后,我开始有奇怪的问题

PHP邮件函数仅在我使用-f参数将以下行添加到PHP.ini时有效。 若省略-f参数,邮件函数将返回true,但不执行任何操作

[mail function]
  sendmail_path = "/usr/sbin/sendmail -t -i -f email@mydomain.com"
但是,这会导致所有消息都具有以下不需要的标头:

Return-Path: <email@mydomain.com>
我已经尝试在邮件中添加第五个参数,但是没有效果

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

要检查/更改您的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_设置来正确配置邮件设置,如下所示

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

// 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');