问题描述
当我使用 wp_mail( $to, $subject, $message, $headers )
(当然值在适当的地方),电子邮件将发送一个名称和电子邮件,它不设置在任何可以找到的位置 (甚至不在 PHP 或 Apache 设置) 。但是,使用 mail( $to, $subject, $message, $headers )
可以正常工作。 wp_mail()
可能会发生什么事情呢?
最佳解决方案
嗨 @helenyhou:
您可以设置标题,只是不带参数。 WordPress 使用”hooks”,您需要的钩子是'wp_mail_from'
和'wp_mail_from_name'
钩子。
以下是您可以添加到主题的 functions.php
文件中的钩子,以便在将 wp_mail()
用于电子邮件地址 Helen Hou-Sandi <helenyhou@example.com>
时修改"From:"
标题:
add_filter('wp_mail_from','yoursite_wp_mail_from');
function yoursite_wp_mail_from($content_type) {
return 'helenyhou@example.com';
}
add_filter('wp_mail_from_name','yoursite_wp_mail_from_name');
function yoursite_wp_mail_from_name($name) {
return 'Helen Hou-Sandi';
}
次佳解决方案
那么,如果您在标题中使用 From: "Your Name" <youremail@example.com>rn
格式,则不应该出现问题 (除非您安装了插件以覆盖 wp_mail 函数) 。
但是,正如 Mike 所说,您可以使用这些过滤器过滤最终值,也可以安装此插件:
它会给你一个选项设置来确定在 wp_mail 中使用什么名字和电子邮件。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。