Skip to content
Go back

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

| 0 Views Edit page

前言

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


方案概述

  1. 注册 Mailgun 账号并绑定域名
  2. 获取 Mailgun 的 SMTP 信息
  3. 配置 Twikoo 评论系统的邮件通知功能
  4. 测试邮件通知功能是否正常
  5. 设置 Mailgun 的发信上限

操作步骤

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

官方网址:Mailgun
查看价格可以看到 Mailgun 提供了免费的、每天 100 封邮件的发信额度,对于个人博客来说绰绰有余:
Pricing

需要注意的是,免费额度需要绑定信用卡,如果你没有信用卡的话,可以在这里创建: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 信息了:

  • SMTP Server: smtp.mailgun.org
  • SMTP Port: 587
  • SMTP Username: postmaster@senjianlu.com
  • SMTP Password: aaaaabbbbbbbbbb-ccdd-eexxxxxxx

使用 Python 写个 Demo 测试下是否可以正常发信:

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 = ['test@gmail.com', 'test@163.com', 'test@qq.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 AccountAccount details
之后设置 Custom Message Limit
Custom Message Limit
值是单月的发信上限,可以根据自己的需求设置:
单月的发信上限
最小值是 1000,我这里就设置了 1000。

结束。


Edit page