问题描述

当我使用 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 所说,您可以使用这些过滤器过滤最终值,也可以安装此插件:

 Send From

它会给你一个选项设置来确定在 wp_mail 中使用什么名字和电子邮件。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。