前言
本项目基于原博主 Rainshaw的项目Typecho Plugin Notice 进行二开,更新了一些功能和修复了一些bug
下面借用一下原博主的简介
Notice 是一款基于 Typecho 的评论提醒插件,现在支持 SMTP 发信通知和博主微信通知(基于 Server 酱)、博主 QQ 通知(基于 Qmsg 酱)。
原项目地址
原作者插件介绍
二开版插件地址
使用说明
在pr中看到作者不用Typecho了,就fork并且加上了一点功能,主要就两点
- 修复了对Server酱Turbo的测试返回消息的匹配(就是发送成功仍然提示发送失败的问题)
- 增加了Microsoft Graph API的邮件发送功能
功能没什么更改,所以在这简单介绍一下新加的功能及其原由
总所周知,Office365 A1 & E3 & E5是非常好用的订阅(可以白嫖),前段时间写了一个小脚本发现了微软禁止了POP和IMAP的密码登录方式,然而微软在禁用了POP和IMAP的账户密码登录方式又要禁用SMTP的基本身份验证,也就是之后不能直接用SMTP发件了
具体消息可以看下这个链接
为了之后能够正常发件,于是不得不折腾一下,开始是准备写个类似于Oauth程序用于回调的,通过smtp.send权限获取token发件的,正好前段时间折腾Jetbrains的Hub和Youtrack发现了一个简单的实现方法,加上刚考完期末考试没事情干,故赶在2026年3月微软改完他的屎山代码。不让人简单的发送邮件之前二开了此插件
MS Graph Api的用法
下面给大家单独介绍一下MS Graph Api的用法
注册应用程序
首先进入到Entra ID(前身Azure Active Directory)的界面
选择管理,点击应用注册,可以直接从下面这个链接进入
然后点击左上角的新注册按钮,此时会进入这样一个页面
这是一个只能使用租户内邮箱发送邮件的程序,所以选用仅此组织目录(单一租户)中的帐户
填写完名称,重定向URL留空即可
注册后会跳转到你创建的应用程序,如果没有的话返回到刚刚的应用注册界面,选择所有应用程序点击进入
这时你就能看到以下页面
将客户端ID和租户ID填写到插件的设置界面中即可,
客户端密钥在管理-证书与密码的客户端密码中创建,根据情况选择有效时长,填入客户端密钥中,记得记好过期时间防止发件失败
分配权限
进入管理-API权限,选择添加权限
选择Microsft API,并选中最上面的Microsoft Graph,选择右边的应用程序权限搜索Mail.Send勾选并选择添加权限
添加完毕后会回到上个界面
这时请确认已配置权限中有Mail.Send,类型为应用程序,然后点击上面的代表{你的组织名}授予管理员同意
然后看到这样的情况即可
这样,你就可以使用这个全局已有账户的任意一个用户名进行发件了
这时你就可以进入Typecho后台,选择导航栏的Notice进入配置测试,选择MSGraph发送测试即可
当然,有可用的解决方案欢迎pr or 通过邮件告诉我
开发日志
v1.1.1 2026.3.8
修复Typecho 1.3版本下模板编辑器UI显示错误的问题
v1.1.0 2026.2.4
v1.0.9 2026.1.5
- 更新发送逻辑(若作者为被评论者仅发送Owner模板邮件,否则发送guest邮件模板给被评论者,同时给作者发送Owner模板邮件)
v1.0.7 & v1.0.8 2026.1.2
- 修复了对Server酱Turbo的测试返回消息的匹配(就是发送成功仍然提示发送失败的问题)
- 增加了Microsoft Graph API的邮件发送功能