首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改PHP邮件函数中的返回路径

更改PHP邮件函数中的返回路径
EN

Stack Overflow用户
提问于 2012-09-16 18:06:33
回答 3查看 45.1K关注 0票数 26

是否可以更改通过PHP的mail()函数发送的电子邮件中的返回路径值?

它的值是'www-data@mydomain.com‘在我的网站上发送的邮件中,它会导致邮件发送失败的过程中出现一些问题。我想将它设置为我的电子邮件地址。

下面是我尝试过的代码:

代码语言:javascript
复制
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\n";
$headers .= "Return-Path: <adminemail@yahoo.com>"."\n";
$headers .= "Errors-To: <adminemail@yahoo.com>"."\n";
// Additional headers
$headers .= "To: email1@yahoo.com <adminemail@yahoo.com>" . "\n";
$headers .= "From: adminemail@yahoo.com <adminemail@yahoo.com>";
// Mail it
mail('email1@yahoo.com', 'test', 'salam', $headers, "f");
EN

回答 3

Stack Overflow用户

发布于 2012-09-16 18:12:24

您可以在headers中设置reply to & return path,如下所示

代码语言:javascript
复制
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'Return-Path: webmaster@example.com'

或者作为调整返回路径的第五个参数

代码语言:javascript
复制
mail($to, $subject, $message, $headers, "-f email@wherever.com");

其中email@wherever.com应该被你的邮件所取代。

票数 46
EN

Stack Overflow用户

发布于 2012-10-03 02:06:34

问题是邮件格式要求标题使用\r\n行结尾...不是\n,它的诀窍是一些服务器会接受两者(为你转换它们,它似乎神奇地工作),而其他人会认为那些没有\r\n结尾的是无效的,基本上忽略所有的头文件。因此,请尝试:

代码语言:javascript
复制
$headers = "MIME-Version: 1.0\r\n".
   "Content-type: text/html; charset=utf-8\r\n".
   "Return-Path: adminemail@yahoo.com";
mail ("email1@yahoo.com","test","salam",$headers);

顺便说一下,return-path需要一个RFC1123邮箱(没有尖括号,只需要电子邮件地址)……不知道为什么要像示例中那样设置return-path,因为它与from地址相同(非常多余)

票数 5
EN

Stack Overflow用户

发布于 2019-05-27 18:40:54

只需定义Return-Path

代码语言:javascript
复制
$returnPath = "-fadminemail@yahoo.com"; //-f will do the job
mail('email1@yahoo.com', 'test', 'salam', $headers, $returnPath);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12446039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档