无法使用mail()PHP覆盖sendmail_path

时间:2012-11-16 08:50:31

标签: php email path sendmail

在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,但在电子邮件客户端,发件人很好,但它没关系)。

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

有什么建议吗?

谢谢, 格雷格

1 个答案:

答案 0 :(得分:1)

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

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