WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress邮件通知搞不定?保姆级教程来了,看完就能用!

查看 WP集市 的更多文章WP集市 2025-08-21 【WordPress教程】 661人已围观

兄弟们,是不是经常遇到WordPress邮件发不出去的坑?注册用户收不到激活邮件,评论没提醒,订单通知石沉大海……我跟你说,这破事儿我当年也踩过N个坑,今天就掰开揉碎了给你讲明白,从基础设置到代码优化,保证你看完就能上手!

先搞懂:默认邮件为啥总掉链子?

WordPress默认用的是PHP的mail()函数发邮件,这玩意儿就像个没身份证的快递员,服务器一看“来路不明”,直接丢垃圾桶。而且发件人默认是wordpress@你的域名,很多邮箱服务商(比如QQ、网易)直接判定为垃圾邮件——你想啊,谁会信一个叫“wordpress”的人发的邮件?

解决方案:两条路,选一条走!

1. 插件法(小白首选,点点鼠标就行)

推荐用 WP Mail SMTP,这插件是邮件界的扛把子,免费版就够用。
步骤简单得一批:

  • 后台搜“WP Mail SMTP”安装激活,点“设置向导”;
  • 选邮件服务:新手用 SendGrid(免费额度够用)、腾讯云邮(国内服务器稳),或者Gmail(但要翻墙,麻烦);
  • 填SMTP信息:服务器地址(比如SendGrid是smtp.sendgrid.net)、端口(465用SSL,587用TLS,现在基本用587)、用户名(SMTP账号)、密码(SMTP密码);
  • 发件人邮箱填你自己的(比如admin@你的域名),发件人名称写“网站名称”,别用默认的“WordPress”;
  • 最后点“发送测试邮件”,填你自己的邮箱,收到了就成!

对了,用Gmail的话记得开两步验证,然后搞个“应用专用密码”——Google这破规则,我当年没开两步验证,卡了俩小时才发现问题,气到想砸键盘!

2. 代码法(程序员折腾专用,更灵活)

不想用插件?行,直接改代码!WordPress发邮件靠wp_mail()函数,咱们重写它的参数就行。
打开主题的functions.php(别改核心文件!改主题文件,更新主题会丢,记得备份),贴这段代码:

// 重写wp_mail发件人设置
add_filter('wp_mail_from', function() {
  return 'admin@你的域名.com'; // 改成你自己的邮箱,比如你的QQ邮箱
});
add_filter('wp_mail_from_name', function() {
  return '你的网站名称'; // 发件人名称,比如“XX博客”
});

// 配置SMTP参数(以SendGrid为例)
add_action('phpmailer_init', function($phpmailer) {
  $phpmailer->isSMTP(); // 告诉PHPMailer用SMTP发邮件
  $phpmailer->Host = 'smtp.sendgrid.net'; // SMTP服务器地址
  $phpmailer->SMTPAuth = true; // 启用SMTP认证
  $phpmailer->Username = 'apikey'; // SendGrid的用户名固定是apikey
  $phpmailer->Password = '你的SendGrid密钥'; // 去SendGrid后台创建API密钥
  $phpmailer->SMTPSecure = 'tls'; // 加密方式,tls或ssl
  $phpmailer->Port = 587; // 端口,587对应tls,465对应ssl
});

写完别急着关!写个测试函数,看看能不能发出去:

// 邮件测试函数(访问网站就触发)
add_action('init', function() {
  $to = '你的测试邮箱@qq.com';
  $subject = 'WordPress邮件测试';
  $message = '如果收到这封邮件,说明配置成功!';
  wp_mail($to, $subject, $message);
});

保存后访问你的网站,然后去邮箱看看——收到了?稳!没收到?检查密码、端口、发件人邮箱和SMTP账号是不是一致(比如用SendGrid的API密钥,用户名必须是apikey,我当年写成自己邮箱,死活发不出去,蠢哭)。

避坑指南:这些细节别踩雷!

  • 端口别选错:465是SSL加密(老端口),587是TLS加密(新端口),现在大部分用587+TLS,SSL偶尔会被服务器屏蔽;
  • 发件人邮箱要“真实”:别用no-reply@xxx.com,这种邮箱一看就像垃圾邮件,用你平时在用的邮箱(比如管理员邮箱);
  • 先看垃圾邮件箱:很多时候邮件发出去了,但被丢进垃圾邮件箱,记得提醒用户去翻一下;
  • 国内服务器用国内SMTP:如果你的服务器在国内,用SendGrid可能慢,试试腾讯云邮、阿里云邮,速度快还不容易被墙。

行了,核心就这些!插件法适合小白,代码法适合想折腾的——记住,邮件这东西,配置对了就稳如老狗,配置错了就天天抓瞎。赶紧动手试试,有问题评论区喊我,我看到就回!(别问我为啥这么懂,当年为了让用户收到注册邮件,我连服务器日志都翻烂了……)

Tags:

WordPress模板插件定制