在帝国 CMS 中使用 QQ 邮箱发送通知邮件,需要配置系统的邮件发送参数并确保服务器支持邮件发送功能。以下是详细的设置步骤:
步骤 1:准备 QQ 邮箱授权码
- 登录 QQ 邮箱,进入「设置」→「账户」
- 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」
- 开启「SMTP 服务」,按提示获取授权码(不是 QQ 密码,是专门用于第三方登录的密码)
步骤 2:配置帝国 CMS 邮件参数
- 登录帝国 CMS 后台,进入「系统」→「系统设置」→「邮件参数设置」
- 按以下参数配置:
- 邮件发送模式:选择「SMTP 服务器发送」
- SMTP 服务器地址:
smtp.qq.com - SMTP 服务器端口:
465(SSL 加密端口) - SMTP 服务器验证:选择「需要验证」
- SMTP 用户名:你的 QQ 邮箱地址(如
123456@qq.com) - SMTP 密码:填入前面获取的授权码
- 发件人邮箱:与 SMTP 用户名一致
- 发件人名称:可自定义(如网站名称)
步骤 3:修改帝国 CMS 邮件发送函数(解决 SSL 问题)
默认情况下,帝国 CMS 可能不支持 SSL 连接,需要修改邮件发送函数:
<?php
// 找到SendEmail函数,替换以下代码
function SendEmail($smtpserver, $smtpserverport, $smtpusermail, $smtpuser, $smtppass, $mailtype, $email, $subject, $body, $smtpauth = true) {
require_once(ECMS_PATH . 'e/class/phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = $smtpauth;
$mail->Host = $smtpserver;
$mail->Port = $smtpserverport;
// 新增QQ邮箱SSL支持
if($smtpserverport == 465) {
$mail->SMTPSecure = 'ssl';
}
$mail->Username = $smtpuser;
$mail->Password = $smtppass;
$mail->From = $smtpusermail;
$mail->FromName = $smtpusermail;
$mail->AddAddress($email);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->IsHTML($mailtype);
return $mail->Send();
}
?>
步骤 4:测试邮件发送功能
- 后台进入「系统」→「数据更新中心」→「发送测试邮件」
- 输入接收邮件地址,点击发送测试
- 若收到测试邮件,说明配置成功
常见问题解决
- 发送失败:
- 检查授权码是否正确(重新生成一次授权码试试)
- 确认服务器是否开放 465 端口(联系空间商)
- 检查 PHP 是否安装 openssl 扩展(需要支持 SSL)
- 邮件进入垃圾箱:
- 邮件内容避免敏感词
- 增加邮件模板的规范性(如添加网站签名、 unsubscribe 链接)
- 大批量发送问题:
- QQ 邮箱有发送频率限制,避免短时间内发送大量邮件
- 考虑使用专业邮件服务(如 SendCloud、阿里云邮件推送)
以上设置,帝国 CMS 就能正常使用 QQ 邮箱发送通知邮件了,包括会员注册通知、找回密码邮件、订单通知等系统自动发送的邮件。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END






