Products
GG网络技术分享 2025-03-18 16:13 38
wordpress 的SMTP邮件服务可以帮助我们更好的管理网站,功能包括使用 WordPress 邮件评论回复通知、用户注册邮件通知、以及其他邮件通知功能,这些基本都会使用 SMTP邮件服务,WP自带了mail函数,但用自带mail函数发送邮件很容易失败或者被拒收。所以很多人选择用更方便高效的SMTP来发送邮件。要用SMTP发送邮件,首先需要拥有一个支持SMTP的邮箱(包括Gmail、QQ、126、163等主流邮箱都支持SMTP功能,可能需要到设置中打开),然后在WordPress中简单设置一下。下面介绍的是无插件实现SMTP发送功能,毕竟插件多了对速度有不利的影响。
关联文章导航
【开启wordpress 的SMTP邮件通知服务:WP SMTP插件——墨涩网】
【WordPress纯代码无插件开启SMTP邮件服务——墨涩网】
【解决腾讯云主机无法使用SMTP邮箱——墨涩网】
方法一:
编辑主题文件functions.php文件(wordpress可以在后台“外观”下的“编辑”中找到文件添加,手动修改地址:主机目录/wp-content/themes/主题名/functions.php)添加如下代码。
请修改代码中的邮箱信息为你自己的信息。(如果是QQ邮箱,登录密码填写生成的授权码并不是邮箱登录密码,具体获取方式请参考(开启wordpress 的SMTP邮件通知服务:WP SMTP插件——墨涩网)文章的第1-5步。
//WordPress邮箱SMTP配置开始(www.sunweihu.com)
add_action(\'phpmailer_init\', \'fanly_mail_smtp\');
function fanly_mail_smtp( $phpmailer ) {
$phpmailer->IsSMTP();
$phpmailer->SMTPAuth = true;//启用 SMTPAuth 服务
$phpmailer->FromName = \'墨涩网\'; //发件人名称
$phpmailer->Port =465;//MTP 邮件发送端口,常用的端口为25和465(SSL加密端口)
$phpmailer->SMTPSecure =\"ssl\";//是否验证 ssl,与 MTP 邮件发送端口对应,如果不填写,则上面的端口须为 25
$phpmailer->Host =\"smtp.qq.com\";//邮箱的 SMTP 服务器地址,目前 smtp.exmail.qq.com 为 QQ 邮箱
$phpmailer->Username = \"mosewang@qq.com\";//你的邮箱地址
$phpmailer->Password =\"fgywfgksfjcwbvva\";//你的邮箱登录密码(如果是QQ邮箱填写生成的授权码)
}
add_filter( \'wp_mail_from\', \'fanly_wp_mail_from\' );
function fanly_wp_mail_from() {
return \'mosewang@qq.com\'; //邮箱账户,和上面的邮箱地址一致
}
//WordPress邮箱SMTP配置end(www.sunweihu.com)
方法二:
直接修改WordPress源文件class-phpmailer.php和pluggable.php,这个方法需要对WordPress的2个源文件做小小的修改。好处就是你不需要每次更改主题都修改functions.php,而且更安全。
在WordPress的wp-includes目录下找到pluggable.php和class-phpmailer.php两个文件。
将pluggable.php中的”$phpmailer->IsMail(); “替换为:”$phpmailer->IsSMTP();”
在class-phpmailer.php中修改下面对应的设置:需要找到对应的参数修改即可。
public $Mailer = \'smtp\';
public $Host = \'smtp.gmail.com\'; //邮箱的SMTP服务器地址
public $Port = 465; //SMTP邮件发送端口
public $SMTPSecure = \"ssl\"; //是否验证 ssl或tls
public $SMTPAuth = true; //开启SMTPAuth
public $Username = \'username@gmail.com\'; //你的邮箱地址
public $Password = \'******\'; //你的邮箱登陆密码
注意:此方式并未测试,是否可用请自行测试。
在WordPress中,可以给每篇日志设置单独的密码,然后通过其他方式发送给特定的用户,这个功能本来比较人性化了,但是对于用户转化没有任何好处,而且还比较繁琐,其实我们可以通过设置文章的自定义栏目,实现这个目的。那么WordPress网站想要设置注册用户看文章的方法是什么?
假设我们设置一个自定义栏目:Useronly,当文章中有这个设置的字段的时候,就表示这篇文章是限制会员阅读的。
add_filter(\'the_content\', \'Useronly\');function Useronly($text){
global $post;
$Useronly = get_post_meta($post->ID, \'Useronly\', true);
if($Useronly){
global $user_ID;
if(!$user_ID){
$redirect = get_permalink($post->ID);
$text = \'该内容仅限于会员浏览,请登录!\';
}
}
return $text;
}将上面的代码加入到主题的functions.php文件中即可,也可自定义提示文字和栏目名。
然后在wordpress后台的右上角,最上方,有一个”显示选项”,点一下那个三角形箭头勾选自定义栏目.
然后在编辑文章的时候在自定义栏目窗口中,输入key(键)为“Useronly”,value(值)为常量“true”即可。
Demand feedback