不知道是否与服务器设置有关,我安装到hostmosnter上的WordPress网站发送邮件的地址都是默认的邮箱,带着hostmonter.com后缀的。from地址不能反映真实域名,会让访客疑惑,地址超长的服务器邮箱也不美观,在WordPress Answers上找到一个不错的解决方案,记录一下。

Filter System From Mail

这段代码相当精简,作者将其做成了插件,名字就叫Filter System From Mail。代码如下

<?php # -*- coding: utf-8 -*-
/*
Plugin Name: Filter System From Mail
Description: Sets the WP from mail address to the first admin’s mail and the from name to blog name.
Version:     1.1
Author:      Thomas Scholz
Author URI:  http://toscho.de
License:     GPL
*/

if ( ! function_exists( 'filter_system_from_mail' ) )
{
    /**
     * First admin's e-mail address or blog name depending on current filter.
     *
     * @return string
     */
    function filter_system_from_mail()
    {
        return get_option( 'wp_mail_from' == current_filter()
            ? 'admin_email' : 'blogname' );
    }

    add_filter( 'wp_mail_from',      'filter_system_from_mail' );
    add_filter( 'wp_mail_from_name', 'filter_system_from_mail' );
}
?>

将这段代码保存到一个文件里,上传到plugins目录下,到WP后台激活即可。

发送地址会变为:博客名称<管理员电子邮箱>

这样WordPress发送评论通知或者注册通知,from地址就是可控的了。

至于这段代码,写成插件可以,写到主题的functions.php中也行,用哪个是个人自由。很多人不喜欢用插件,觉得插件会降低性能,个人感觉差别不大,插件的移植性更好。

原帖:changing notification emails from WordPress <wordpress>@mydomain.net to something else

2条留言

  1. 博主在用这个吗?
    我用了之后就发不出评论回复邮件通知了。

    1. 这跟from地址有关,不同服务器对from地址要求不同,写错了就发布出去。

评论功能已关闭