密件抄送所有外发电子邮件 wordpress
Posted
技术标签:
【中文标题】密件抄送所有外发电子邮件 wordpress【英文标题】:BCC all outgoing emails wordpress 【发布时间】:2021-08-13 06:35:08 【问题描述】:所以我想将所有从我的 wordpress 网站发出的电子邮件密送到两个静态的硬编码电子邮件地址。
我去了 pluggable.php 文件并将 BCC 标头硬编码到 wp_mail() 函数中,如下所示:
function wp_mail( $to, $subject, $message, $headers = ['Bcc: example@mail.com', "bcc: maik@gmail.com"], $attachments = array() )
但似乎什么都没有发生。
我错过了什么?
【问题讨论】:
请不要编辑核心 WordPress 文件!相反,在你的情况下使用相关的钩子,比如wp_mail
。
您好,感谢您的回复!你能告诉我在哪里放置一个钩子或任何资源吗?谢谢!
查看我的答案 - 只需将电子邮件地址替换为正确的 :)
【参考方案1】:
请不要编辑核心 WordPress 文件!
在您的情况下,请使用 wp_mail
之类的相关钩子。
这是一个示例,此代码将添加到theme functions file,或者您可以将其添加为Must Use plugin:
add_filter( 'wp_mail', 'my_wp_mail_args' );
function my_wp_mail_args( $args )
// Just replace the email addresses with the correct ones. And note that you
// don't have to add multiple Bcc: entries - just use one Bcc: with one or
// more email addresses separated by a comma - Bcc: <email>, <email>, ...
if ( is_array( $args['headers'] ) )
$args['headers'][] = 'Bcc: example@mail.com, maik@gmail.com';
else
$args['headers'] .= "Bcc: example@mail.com, maik@gmail.com\r\n";
return $args;
PS:如果您将其添加为 Must Use 插件,请不要忘记在顶部添加 <?php
。
顺便说一句,只是为了解释“似乎没有发生任何事情”,这是因为在调用函数时可以覆盖 $headers
(第四个参数)值,例如wp_mail( 'foo@example.com', 'test', 'test', [ 'From: no-reply@example2.com' ] )
— $headers
已设置,因此不使用默认值。
所以我希望这个答案能有所帮助,并且请记住,永远不要编辑任何核心 WordPress 文件!首先,因为在许多 WordPress 函数(以及模板)中,您可以使用挂钩来修改函数/模板输出,其次,当 WordPress 更新时,您的编辑将消失。 ?
【讨论】:
谢谢莎莉!我正在测试这种方法。 当然,慢慢来。 像魅力一样工作!太感谢了。还要感谢您解释我应该在哪里编写代码:)以上是关于密件抄送所有外发电子邮件 wordpress的主要内容,如果未能解决你的问题,请参考以下文章