猿问

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

我在Linux上的Apache和Sendmail中使用PHP。我使用PHP mail函数。电子邮件已发送,但信封带有Apache_user@localhostnamein MAIL FROM(例如nobody@conniptin.internal),并且某些远程邮件服务器拒绝了该电子邮件,因为该域不存在(显然)。使用mail可以强制它更改信封MAIL FROM吗?


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


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


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


编辑:最重要的是我应该有RTM。谢谢大家的回答,第五个参数有效,一切都很好。


哔哔one
浏览 393回答 3
3回答

鸿蒙传说

mail()具有第4个和第5个参数(可选)。第五个参数是应作为选项直接传递给sendmail的参数。我使用以下内容:mail('to@blah.com','subject!','body!','From: from@blah.com','-f from@blah.com');

白猪掌柜的

您可以尝试以下操作(不确定):ini_set("sendmail_from", yourmail@example.com);mail(...);ini_restore("sendmail_from");
随时随地看视频慕课网APP
我要回答