【问题标题】:wp_mail - not working when $headers are setwp_mail - 设置 $headers 时不起作用
【发布时间】:2015-09-28 02:20:07
【问题描述】:

在我的文件中,如果我设置了可选的 $headers 参数,wp_mail 函数不会发送邮件。我只是在设置时没有收到任何邮件。但是,如果我把它放在一边,邮件就会到达。

$headers = 'From: My Name <myname@example.com>' . "\r\n";
wp_mail($to, $subjects, $message, $headers); // not working
wp_mail($to, $subjects, $message ); // working

这是什么原因造成的?

【问题讨论】:

  • 您是否使用确切的From: 电子邮件进行测试?
  • 其实我是。从你的问题我猜这是错的?当只放置电子邮件地址时,邮件现在已经到达,但仍然没有显示选择的发件人邮件地址,只有标准的 wp 电子邮件。

标签: php wordpress email


【解决方案1】:

从你对我的问题的回答:

您是否使用确切的 From: 电子邮件进行测试? – 匿名
其实我是……——墨

您的From: 地址似乎与您发送电子邮件的域不匹配。当您发送电子邮件的邮件服务器发现您试图欺骗发件人地址时,它可能会拒绝该电子邮件。

【讨论】:

  • 啊,好吧,我明白了。我想我试图将它用于错误的目的。我真正想要的是创建一个表单,用户在其中输入他的邮件地址和发送给我的消息。在我的收件箱中,我希望将电子邮件地址显示为发件人之一,这样我就可以简单地单击“答复”,然后他回信。有办法做到这一点吗?
  • 不,我希望不会。这将是一个巨大的安全风险。
【解决方案2】:

wp_mail() 中删除$header 并将其添加到您的functions.php 文件中:

add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');

function new_mail_from($old) {
    return 'admin@yourdomain.com';
}
function new_mail_from_name($old) {
    return 'Your Blog Name';
}

来源:
https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_fromhttps://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_from_name

【讨论】:

  • 谢谢,我试过了,但不知何故这也让它失败了。当放入我的函数文件时,邮件没有到达。
猜你喜欢
  • 2015-03-18
  • 2017-08-11
  • 1970-01-01
  • 2012-03-23
  • 2015-07-20
  • 2015-09-21
  • 2019-08-12
  • 1970-01-01
相关资源
最近更新 更多