【问题标题】:Can't override sendmail_path with mail() PHP无法使用 mail() PHP 覆盖 sendmail_path
【发布时间】:2012-11-16 08:50:31
【问题描述】:

在 php.ini 中,sendmail_path 是:-femail@site.com -t -i 但是,在子域中,我需要向发件人发送电子邮件:email@new.site.com

我尝试使用 ini_set('sendmail_path',-femail@new.site.com), 但是 sendmail_path 是系统的,所以没有附加任何内容。

我尝试在mail()中定义发件人,不起作用(在服务器的日志上,发件人仍然是email@site.com,但在电子邮件客户端中,发件人很好,但它没有'没关系)。

我尝试定义第5个参数,但函数停止工作(什么都不做,没有错误)。

有什么建议吗?

谢谢, 格雷格

【问题讨论】:

    标签: php email path sendmail


    【解决方案1】:

    想想邮件是如何在 PHP 中配置的——它只是一个 exec 调用的包装器(带有一些预定义的参数)。因此,通过 exec 替换您自己的参数来调用 sendmail 是微不足道的。 This is described 在描述 PHP 邮件配置的页面上的第一条评论中。您只需要合成自己的标头(sendmail 从标头中提取收件人地址以填充信封,在转发电子邮件之前将删除所有密件抄送行)。

    另一种方法是使用支持 SMTP 的抽象层,例如 swiftmailer 或 phpmailer - 但如果将 'localhost' 配置为从属中继,您可能无法使用它。

    【讨论】:

    • 谢谢,但是你能举个例子更明确一点吗?因为我在评论中看到的只是编辑 php.ini 文件,但我不能这样做。
    猜你喜欢
    • 2017-06-01
    • 2014-04-15
    • 2011-06-24
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2017-02-11
    相关资源
    最近更新 更多