问题描述
如何将通知电子邮件地址从 WordPress @ mydomain.net 更改为其他内容。
我想这样做是因为 WordPress @ mydomain.net 最终被标记为垃圾邮件。
谢谢
丹尼尔
最佳解决方案
我使用像 John P Bloch 和 Bainternet 这样非常相似的方法,只是稍微有点灵活,所以我不必更改任何客户端的邮件地址:
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: T5 Filter System From Mail
* Description: Sets the WP from mail address to the first admin』s mail and the from name to blog name.
* Plugin URI: http://toscho.de/?p=2201
* Version: 2012.08.30
* Author: Thomas Scholz
* Author URI: http://toscho.de
* License: MIT
*/
if ( ! function_exists( 't5_filter_system_from_mail' ) )
{
/**
* First admin's e-mail address or blog name depending on current filter.
*
* See wp-includes/pluggable.php::wp_mail()
*
* @param $input Name or email address
* @return string
*/
function t5_filter_system_from_mail( $input )
{
// not the default address, probably a comment notification.
if ( 0 !== stripos( $input, 'wordpress' ) )
return $input; // Not auto-generated
return get_option( 'wp_mail_from' === current_filter()
? 'admin_email' : 'blogname' );
}
add_filter( 'wp_mail_from', 't5_filter_system_from_mail' );
add_filter( 'wp_mail_from_name', 't5_filter_system_from_mail' );
}
次佳解决方案
有一个伟大的插件,这样做你叫 Send From 。但是,如果你想自己滚动,那就很简单了。要更改电子邮件地址,请在'wp_mail_from'
上添加一个过滤器,如下所示:
function just_use_my_email(){
return 'my.email@domain.com';
}
add_filter( 'wp_mail_from', 'just_use_my_email' );
您也可以使用'wp_mail_from_name'
过滤器更改发件人的姓名 (这是完全可选的):
function just_use_my_email_name(){
return 'My Real Name';
}
add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );
只是交换真实的电子邮件地址的假值,你很好去。
第三种解决方案
这里:
//email from name function
function my_wp_mail_from_name($name) {
return 'Name';
}
//email from email function
function my_wp_mail_from($content_type) {
return 'email@Domain.com';
}
add_filter('wp_mail_from','my_wp_mail_from');
add_filter('wp_mail_from_name','my_wp_mail_from_name');
将名称更改为您想要的名称,并将 email@Domain.com 更改为您想要的电子邮件地址。但如果您更改电子邮件地址,那么大多数反跨过滤器将阻止或垃圾邮件发送给您的邮件进行欺骗。
第四种方案
现有的答案是一个更好的方式来做到这一点,不过还有一个我想提到的方法。
add_action('phpmailer_init','modify_phpmailer');
function modify_phpmailer($phpmailer) {
$phpmailer->From = "Full Name";
$phpmailer->FromName = "from@address.com";
$phpmailer->AddReplyTo("replyto@address.com");
}
这发生在* wp_mail_from *和* wp_mail_from_name *过滤器之后。因此,您可以强制更改,并防止其他插件修改。您还可以直接与 phpmailer 对象进行工作,并执行诸如向地址添加回复 (如上所示)
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。