在搭建 Twikoo 评论系统后,若未配置邮件通知功能,可能会导致错过用户的重要留言。不久前,我发现自己竟然错过了一个月前的用户评论 🤦 虽然事后进行了回复,但可能已无法解决问题。为了避免类似情况再次发生,我决定为 Twikoo 配置邮件通知功能。本文将分享具体操作步骤。
操作步骤
一、注册 Mailgun 账号并绑定域名
Mailgun 是一款优秀的邮件服务提供商,提供了每天 100 封邮件的免费发信额度,非常适合个人博客使用。
- 访问 Mailgun 官网:Mailgun
- 注册账号并登录。
- 绑定您的域名,例如:
senjianlu.com
。
绑定域名后,按照 Mailgun 提供的 DNS 信息进行验证,点击右上角的 Verify
按钮,等待验证通过。
提示:使用虚拟信用卡可以更好地控制发信限额,避免超额损失。👉 WildCard | 一分钟注册,轻松订阅海外线上服务
二、获取 Mailgun 的 SMTP 信息
- 登录 Mailgun 控制台,进入
Send
->Sending
->Domains
。 - 点击绑定的域名,进入详情页。
- 点击
SMTP credentials
,查看默认创建的postmaster
用户信息。 - 点击
Reset Password
重置密码并保存。
使用以下 Python 代码测试 SMTP 信息是否正确:
python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
邮件内容
msg = MIMEText(‘Hello, this is a test email.’, ‘plain’, ‘utf-8’)
msg[‘Subject’] = Header(‘这是一封内部测试邮件’, ‘utf-8’)
msg[‘From’] = ‘[email protected]’
msg[‘To’] = ‘测试邮件接收者’
发信方信息
smtp_server = ‘smtp.mailgun.org’
smtp_port = 587
smtp_user = ‘[email protected]’
smtp_password = ‘your_password’
收信方信息
to_addrs = [‘[email protected]’, ‘[email protected]’]
发信
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(smtp_user, smtp_password)
server.sendmail(smtp_user, to_addrs, msg.as_string())
print(‘Send email successfully.’)
except Exception as e:
print(‘Failed to send email:’, e)
finally:
server.quit()
注意:测试时建议使用多个邮件接收者,确保 SMTP 信息正确无误。
三、配置 Twikoo 评论系统的邮件通知功能
- 进入博客的评论模块,点击右上角的设置图标。
- 选择
配置管理
,进入邮件通知配置页面。 - 填写从 Mailgun 获取的 SMTP 信息,并保存配置。
- 发送测试邮件,确保邮件通知功能正常。
四、测试邮件通知功能是否正常
1. 配置管理员邮箱
当其他用户评论时,管理员邮箱会收到邮件通知。确保管理员邮箱已正确配置。
2. 测试用户发布评论
发布一条新评论,检查管理员邮箱是否收到通知。
3. 测试回复评论
回复用户的评论,检查用户邮箱是否收到通知。
五、设置 Mailgun 的发信上限
为了避免邮件发送超量,可以在 Mailgun 控制台中设置发信上限:
- 进入
Manage Account
->Custom Message Limit
。 - 根据需求设置单月发信上限,最小值为 1000。
通过以上步骤,您的 Twikoo 评论系统已成功配置邮件通知功能,确保不再错过任何用户评论!