当前位置:  开发笔记 > 编程语言 > 正文

如何使用PHP邮件从地址更改信封?

如何解决《如何使用PHP邮件从地址更改信封?》经验,为你挑选了1个好方法。

我在Linux上使用PHP和Apache,使用Sendmail.我使用PHP mail函数.该邮件被发送,但信封中Apache_user@localhostnameMAIL FROM(例如nobody@conniptin.internal)和一些远程邮件服务器拒绝这一点,因为域不存在(显然).使用mail,我可以强迫它改变信封MAIL FROM吗?

编辑:如果我在mail()函数的第四个字段中添加一个标题,它会更改From邮件正文标题中的字段,并且不会更改信封MAIL FROM.

我可以通过生成sendmail sendmail -t -odb -oi -frealname@realhost并将电子邮件内容传送给它来强制它.这是一种更好的方法吗?

是否有更好,更简单,更适合PHP的方法?

编辑:底线是我应该有RTM.谢谢你的回答,第五个参数有效,一切都很好.



1> Lucas Oman..:

mail()有第4和第5个参数(可选).第五个参数是应该作为选项直接传递给sendmail的内容.我使用以下内容:

mail('to@blah.com','subject!','body!','From: from@blah.com','-f from@blah.com');


@Lucas Oman:+1你的答案是对的,只是想警告几乎所有共享主机服务(cPanel/WHM)上的任何人可能感兴趣的PHP邮件功能第5个参数`-f ...`被`SAFE MODE禁用限制有效并且只是显示PHP警告而不更改默认信封 - 因此,在这些情况下您的答案将不是一个选项.关于Devon注释,无法在共享主机上更改`/ etc/mail/trusted-users`,因为属于主服务器配置.
注意:您可能还需要将发件人添加到/ etc/mail/trusted-users.
推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有