# 为 Twikoo 静态网站评论系统配置邮件通知功能(使用 Mailgun 的免费发信额度) **Published by:** [bewildcard](https://paragraph.com/@bewildcard/) **Published on:** 2025-03-03 **URL:** https://paragraph.com/@bewildcard/twikoo-mailgun ## Content 虽然早早配置了 Twikoo 评论系统,但是一直没有配置邮件通知功能。今天翻了下之前的文章检查错误的时候,偶然发现了用户一个月前的留言 🤦 虽然回复了但是恐怕帮不到他了,加个评论通知功能防止再发生一样的问题吧。操作步骤一、注册 Mailgun 账号并绑定域名Mailgun 提供了免费的、每天 100 封邮件的发信额度,对于个人博客来说绰绰有余。 需要注意的是,免费额度需要绑定信用卡,如果你没有信用卡的话,可以在这里创建:👉 野卡 WildCard | 一分钟注册,轻松订阅海外线上服务 注册完账号后,我们需要绑定域名,这里我绑定的是我的博客域名 senjianlu.com,具体操作如下:Add a Custom Domain输入 Domain name之后按照给定的 DNS 信息验证域名即可:添加 DNS 解析点击右上角的 Verify 按钮,等待验证通过即可:Verify验证通过二、获取 Mailgun 的 SMTP 信息该域名发信的 SMTP 在 Send -> Sending -> Domains 中的对应域名下:Domains域名需要进入绿色可用状态进入域名相关页后,再点击 SMTP credentials 即可查看到 SMTP 的相关信息,默认创建了一个 postmaster 用户:postmaster@senjianlu.com点击 Reset Password 重置并保存密码,就得到完成的 SMTP 信息了: 使用 Python 写个 Demo 测试下是否可以正常发信: 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')为了符合 Google 新的安全策略,发信方和收信方必须是同一个域名下的邮箱msg['From'] = 'postmaster@senjianlu.com' msg['To'] = '测试邮件接收者'发信方信息subject = 'Test Email' smtp_server = 'smtp.mailgun.org' smtp_port = 587 smtp_user = 'postmaster@senjianlu.com' smtp_password = 'aaaaabbbbbbbbbb-ccdd-eexxxxxxx'收信方信息to_addrs = ['user1@senjianlu.com', 'user2@senjianlu.com', 'user3@senjianlu.com']发信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() 这里请使用尽量多个邮件接收者。无论如何,我们在这一步只需要确定 Mailgun 的 SMTP 信息是正确的即可。 确定信息正确,收到邮件后即可开始下一步:脚本发信成功接收到邮件三、配置 Twikoo 评论系统的邮件通知功能进入博客评论模块,点击右上角的设置图标:配置选择配置管理:配置管理配置邮件通知:邮件通知配置 01邮件通知配置 02邮件通知配置 03之后保存即可。可以发送邮件测试一下:发送邮件测试发送邮件成功四、测试邮件通知功能是否正常1、配置管理员邮箱当其他用户评论时,管理员邮箱会收到邮件通知:管理员邮箱2、测试用户发布评论发表评论测试评论发布成功管理员邮箱成功收到邮件3、测试回复评论回复评论测试回复成功用户邮箱成功收到邮件五、设置 Mailgun 的发信上限在 Mailgun 的控制台选择 Manage Account:Custom Message Limit值是单月的发信上限,可以根据自己的需求设置:单月的发信上限最小值是 1000,我这里就设置了 1000。 ## Publication Information - [bewildcard](https://paragraph.com/@bewildcard/): Publication homepage - [All Posts](https://paragraph.com/@bewildcard/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@bewildcard): Subscribe to updates