# 为 Twikoo 静态网站评论系统配置邮件通知功能（使用 Mailgun 的免费发信额度）

By [bewildcard](https://paragraph.com/@bewildcard) · 2025-03-03

---

虽然早早配置了 Twikoo 评论系统，但是一直没有配置邮件通知功能。今天翻了下之前的文章检查错误的时候，偶然发现了用户一个月前的留言 🤦 虽然回复了但是恐怕帮不到他了，加个评论通知功能防止再发生一样的问题吧。

操作步骤
----

### 一、注册 Mailgun 账号并绑定域名

Mailgun 提供了免费的、每天 100 封邮件的发信额度，对于个人博客来说绰绰有余。

需要注意的是，免费额度需要绑定信用卡，如果你没有信用卡的话，可以在这里创建：👉 [野卡 WildCard | 一分钟注册，轻松订阅海外线上服务](https://bit.ly/yekapay)

注册完账号后，我们需要绑定域名，这里我绑定的是我的博客域名 `senjianlu.com`，具体操作如下：

![Add a Custom Domain](https://storage.googleapis.com/papyrus_images/099de84227f76a34a63c8424672011c34edb3991b5be2b772cc5e19f3e423da2.webp)

Add a Custom Domain

![输入 Domain name](https://storage.googleapis.com/papyrus_images/93323fc14112fb5f2499ad1c643392df90b11da7a0f23549c1a097aab037493c.webp)

输入 Domain name

之后按照给定的 DNS 信息验证域名即可：

![添加 DNS 解析](https://storage.googleapis.com/papyrus_images/3f457847b05310ec90fb3380940abc119348ba2d9608685923e742756c2a34cb.webp)

添加 DNS 解析

点击右上角的 `Verify` 按钮，等待验证通过即可：

![Verify](https://storage.googleapis.com/papyrus_images/d4755f65d5a62dbee1d16908cff051c85311c5f28bcb73549a918fd335a006d7.webp)

Verify

![验证通过](https://storage.googleapis.com/papyrus_images/033779e696b5309a57ca6125792fdfa4b5f197f09bcc26b440b9dea8f4cfc63f.webp)

验证通过

### 二、获取 Mailgun 的 SMTP 信息

该域名发信的 SMTP 在 `Send` -> `Sending` -> `Domains` 中的对应域名下：

![Domains](https://storage.googleapis.com/papyrus_images/03e574804f8fe66866b274e1ea82aa3ce2c30f7a4d3ab14f3d92efbdca7ac98d.webp)

Domains

![域名需要进入绿色可用状态](https://storage.googleapis.com/papyrus_images/36e3788f786508eadb5d5b2ed24564fa728cd1ceb24b3c2c00f15cb9464fcf13.webp)

域名需要进入绿色可用状态

进入域名相关页后，再点击 `SMTP credentials` 即可查看到 SMTP 的相关信息，默认创建了一个 `postmaster` 用户：

![postmaster@senjianlu.com](https://storage.googleapis.com/papyrus_images/69148e620f63f74dd6e19e9b4939612f83b892612186a437c06c214fe2aa5592.webp)

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](mailto:postmaster@senjianlu.com)' msg\['To'\] = '测试邮件接收者'

发信方信息
=====

subject = 'Test Email' smtp\_server = '[smtp.mailgun.org](http://smtp.mailgun.org)' smtp\_port = 587 smtp\_user = '[postmaster@senjianlu.com](mailto:postmaster@senjianlu.com)' smtp\_password = 'aaaaabbbbbbbbbb-ccdd-eexxxxxxx'

收信方信息
=====

to\_addrs = \['[user1@senjianlu.com](mailto:user1@senjianlu.com)', '[user2@senjianlu.com](mailto:user2@senjianlu.com)', '[user3@senjianlu.com](mailto: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 信息是正确的即可。

确定信息正确，收到邮件后即可开始下一步：

![脚本发信成功](https://storage.googleapis.com/papyrus_images/589a27221ef877e06142adcd49b5e3cd466bb28652ec685daf527a09b3e13d73.webp)

脚本发信成功

![接收到邮件](https://storage.googleapis.com/papyrus_images/93a51c1a29a1ab32ee1acaa1b678da0c46e0970250631340aba22485c7b718ea.webp)

接收到邮件

### 三、配置 Twikoo 评论系统的邮件通知功能

进入博客评论模块，点击右上角的设置图标：

![配置](https://storage.googleapis.com/papyrus_images/4c9fed8058514d7dd257040eb2153c36c88a76dc0610f0527e7ebf5d4168b76e.webp)

配置

选择配置管理：

![配置管理](https://storage.googleapis.com/papyrus_images/5dc68e9456903be0e888d5f157bfd2e6169cec4e9ce364aa2bfc73a48d3e6598.webp)

配置管理

配置邮件通知：

![邮件通知配置 01](https://storage.googleapis.com/papyrus_images/389bb368789f9a1c425c4f3babbaaf0fb0d84cb411e129d6c0c64674fe48d5d4.webp)

邮件通知配置 01

![邮件通知配置 02](https://storage.googleapis.com/papyrus_images/9df947098a4b0b266e8e734bae72144c0235d27e38c09599c4b0daaeedad2e7c.webp)

邮件通知配置 02

![邮件通知配置 03](https://storage.googleapis.com/papyrus_images/f40a81afdb407eff982b93689d664c1153c584166fe0a0efac8cddd4a4b7ebcc.webp)

邮件通知配置 03

之后保存即可。可以发送邮件测试一下：

![发送邮件测试](https://storage.googleapis.com/papyrus_images/6536df1d28e6e1a3add1a7d1cca45c9e6c1918d43f2fe83bc8fda89ccf93a3c2.webp)

发送邮件测试

![发送邮件成功](https://storage.googleapis.com/papyrus_images/5403110020bcaac31d5ce6b6bc6ea30ad6aa8a4cf328e6f7899f4256864fd272.webp)

发送邮件成功

### 四、测试邮件通知功能是否正常

#### 1、配置管理员邮箱

当其他用户评论时，管理员邮箱会收到邮件通知：

![管理员邮箱](https://storage.googleapis.com/papyrus_images/01e75304ae8880ccdbe7b5339b45b4f4b11a70315d612941a2940a45775ed228.webp)

管理员邮箱

#### 2、测试用户发布评论

![发表评论测试](https://storage.googleapis.com/papyrus_images/013739330cacb3db8face1c3b724919e3c6cbe3287b8e96cd0aa2f446e2f539f.webp)

发表评论测试

![评论发布成功](https://storage.googleapis.com/papyrus_images/e1bca36974d10f953198d59b77da6e6ce276a1804c3199b9a182d5fa54856592.webp)

评论发布成功

![管理员邮箱成功收到邮件](https://storage.googleapis.com/papyrus_images/071cc88eb8d580ad5952cd5923e845dbc7737b3076d6cafc31084d1b7f98c673.webp)

管理员邮箱成功收到邮件

#### 3、测试回复评论

![回复评论测试](https://storage.googleapis.com/papyrus_images/b134a4a2d8a262dd25e39402eb2f7311619a122a6868f79857960a5a21e30b87.webp)

回复评论测试

![回复成功](https://storage.googleapis.com/papyrus_images/a4548b1da8c4725725c160dcbfc43026d316982c44460f414ef8227344ed8f40.webp)

回复成功

![用户邮箱成功收到邮件](https://storage.googleapis.com/papyrus_images/3b159f2f0eebf285b109d8b0be6d0f2198decedb0df634627d69a19d0ed37d79.webp)

用户邮箱成功收到邮件

### 五、设置 Mailgun 的发信上限

在 Mailgun 的控制台选择 `Manage Account`：

![Custom Message Limit](https://storage.googleapis.com/papyrus_images/5d8be3408e9db40db731bae739ece9b1b2740c7b4d86d9647f3b222f33fe27dd.webp)

Custom Message Limit

值是单月的发信上限，可以根据自己的需求设置：

![单月的发信上限](https://storage.googleapis.com/papyrus_images/eccbc93f6216840afe6184ccf1e1e594c7576746db6946a6f4726ae57b95482d.webp)

单月的发信上限

最小值是 1000，我这里就设置了 1000。

---

*Originally published on [bewildcard](https://paragraph.com/@bewildcard/twikoo-mailgun)*
