WordPress 不用插件发Email 的设置方法

核心提示:Wordpress默认是采用PHP mail()函数来发Email的,通常安装好Wordpress后它就已经可以发Email了。但有的主机会把PHP mail()关闭掉,如果你有幸和我一样不幸的用了这样的主机,除了联系主机商让他取消PHP mail()...

WordPress默认是采用PHP mail()函数来发Email的,通常安装好Wordpress后它就已经可以发Email了。但有的主机会把PHP mail()关闭掉,如果你有幸和我一样不幸的用了这样的主机,除了联系主机商让他取消PHP mail()限制外,我们还可以用SMTP来发Email的。你可以采用插件的方式实现,但我认为为实现这样一个小小的功能而去用插件不太合适。我是通过对Wordpress的文件稍作修改实现用SMTP发信的。其实设置很简单,我们需要修改的只有wp-includes/class-phpmailer.php和wp-includes/pluggable.php两个文件:

wp-includes/class-phpmailer.php
在PROPERTIES FOR SMTP部分(约170行左右),把以下几个变量填上
$Host      SMTP服务器的地址
$Port      SMTP服务器端口,一般为25
$SMTPSecure      安全加密方式,如ssl
$SMTPAuth      是否需要认证,通常是true
$Username      SMTP服务器用户名
$Password      SMTP服务器密码
wp-includes/pluggable.php
在wp_mail()函数中约421行处有 $phpmailer->IsMail(); 我们要把它改为 $phpmailer->IsSMTP(); 。

经过上面的修改现在Wordpress就可以用SMTP发邮件了。但现在只是实现了SMTP的发邮件方式,还不是很完美,在测试中会发现它默认的发件人是WordPress,地址是wordpress@micross.cn 的形式的。所以我们还得进一步的修改,同样是在wp-includes/pluggable.php文件wp_mail()函数中,找到 $from_name = 'WordPress'; 把它改成 $from_name = 'Micross@CN'; 找到$from_email = 'wordpress@' . $sitename; 改成 $from_email = 'sendmail@' . $sitename; ,改到这里算是完成了。当然我们还可以更进一步修改它发送的内容,Micross在这里就不说了。

在线客服