【问题标题】:PHP mail() Return-Path IssuesPHP mail() 返回路径问题
【发布时间】:2013-03-27 00:00:03
【问题描述】:

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

PHP mail() 函数仅在我使用 -f 参数将以下行添加到 php.ini 时才有效。 (如果我省略 -f 参数,mail() 函数将返回 true,但什么也不做。)

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

然而,这会导致所有消息都有以下不受欢迎的标头:

Return-Path: <email@mydomain.com>

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

非常感谢您的帮助。 提前致谢!

【问题讨论】:

    标签: php email


    【解决方案1】:

    检查/更改您的 PHP 邮件配置:

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

    第一次打开 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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-29
      • 2011-06-19
      • 2012-12-23
      • 2012-06-12
      • 1970-01-01
      • 2013-04-30
      • 2011-01-08
      • 1970-01-01
      相关资源
      最近更新 更多