koishi-plugin-adapter-mail-pro 邮件适配器
816 字
4 分钟
koishi-plugin-adapter-mail-pro 邮件适配器

📬 项目介绍
koishi-plugin-adapter-mail-pro 是一款基于 @satorijs/adapter-mail 扩展开发的 Koishi 邮件适配器插件。它让 Koishi 机器人可以直接通过 SMTP 发送邮件、IMAP 接收邮件,把邮件变成机器人的一种”聊天平台”——收到的邮件会触发消息事件,发送邮件就像发私聊消息一样简单。
邮件适配器增强版,支持自定义邮件主题、发件人名称、STARTTLS加密模式
⭐ 开源地址:https://github.com/opwop1/koishi-plugin-adapter-mail-pro
✨ 功能特性
- SMTP 发送:通过标准 SMTP 协议发送邮件,支持 SSL 直连与 STARTTLS
- IMAP 接收:实时监听新邮件并触发 Koishi 消息事件
- 私聊语义:邮件被当作私聊消息处理,发件人邮箱即 userId
- 自定义标题:单封邮件可覆盖默认主题(
subject) - 自定义发件人:单封邮件可覆盖默认发件人名称(
fromName) - 广泛兼容:QQ 邮箱、163、Gmail、Outlook、企业邮箱等标准 SMTP/IMAP 服务均可使用
📦 安装与配置
1. 准备邮箱信息
在邮箱后台获取以下信息:
- SMTP 服务器地址和端口(用于发送)
- IMAP 服务器地址和端口(用于接收)
- 授权码 / 应用专用密码(大部分邮箱不允许直接使用登录密码)
2. 配置示例
{ "username": "your@email.com", "password": "your_authorization_code", "selfId": "your@email.com", "subject": "Koishi", "imap": { "host": "imap.example.com", "port": 993, "tls": true }, "smtp": { "host": "smtp.example.com", "port": 465, "tls": true }}| 配置项 | 必填 | 说明 |
|---|---|---|
username | 是 | 邮箱账号 |
password | 是 | 密码或授权码 |
selfId | 否 | 邮件地址(默认同 username) |
name | 否 | 发件人显示名称 |
subject | 否 | 机器人发送邮件的默认主题 |
imap | - | 接收服务器配置(host / port / tls) |
smtp | - | 发送服务器配置(host / port / tls) |
🚀 使用方法
发送邮件
给邮件适配器”发私聊消息”即可发送邮件,频道格式固定为 private:对方邮箱地址:
const bot = ctx.bots.find((b) => b.platform === "mail");await bot.sendMessage("private:someone@example.com", "你好,这是一封测试邮件");也可以封装成指令:
ctx .command("sendmail <to> <content:text>") .action(async ({ session }, to, content) => { const bot = ctx.bots.find((b) => b.platform === "mail"); if (!bot) return "mail 适配器未启用"; await bot.sendMessage(`private:${to}`, content); return "已发送"; });自定义邮件标题与发件人
import { h } from "koishi";
const bot = ctx.bots.find((b) => b.platform === "mail");await bot.sendMessage( "private:someone@example.com", h("message", { subject: "这里是标题", fromName: "这里是发件人名字" }, "这里是正文内容"),);接收邮件
开启 IMAP 后,新邮件会触发 Koishi 消息事件(私聊消息),发件人邮箱就是 session.userId:
ctx.on("message", async (session) => { if (session.platform !== "mail") return; // session.userId 就是发件人邮箱 await session.send(`已收到你的邮件:${session.content}`);});🌐 常见邮箱服务参数
Outlook / Microsoft 365 / Exchange Online
| 协议 | 服务器 | 端口 | TLS |
|---|---|---|---|
| SMTP(STARTTLS,微软官方推荐) | smtp.office365.com | 587 | true |
| SMTP(SSL 直连) | smtp.office365.com | 465 | true |
| IMAP | outlook.office365.com | 993 | true |
端口为
587且smtp.tls为true时会自动走 STARTTLS。若开启了双重验证,需要生成”应用专用密码”。
QQ 邮箱 / 163 等
请在邮箱后台开启 SMTP/IMAP 服务并生成授权码,服务器地址与端口以官方文档为准。
❓ 常见问题
- 一直发不出去:检查 SMTP 配置是否正确,端口是否匹配 TLS
- 收不到邮件:检查 IMAP 是否开启,端口和 TLS 是否正确
- 需要授权码:大部分邮箱不允许直接用登录密码,需在邮箱后台生成”授权码”
📄 许可证
MIT License
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
koishi-plugin-adapter-mail-pro 邮件适配器
https://www.114512.xyz/posts/koishi-plugin-adapter-mail-pro/相关文章智能推荐
1
koishi-plugin-ets2-tools-tmp 欧卡tmp信息查询插件
代码分享一款专为欧洲卡车模拟2(ETS2)与美国卡车模拟(ATS)玩家打造的多功能 Koishi 插件,集成 TruckersMP 数据查询与车队活动管理,支持玩家信息、服务器路况、里程排行、智能活动提醒等功能。
2
koishi-plugin-auto-exit-group 自动退群管家
代码分享一款 Koishi 自动退群管理插件(仅限 OneBot 平台),基于白名单机制定时检查机器人所在群列表,自动退出未设置的群组,支持多适配器实例、手动检查指令与白名单查看。
3
koishi-plugin-platform-clock 车队平台打卡排行榜插件
代码分享一款车队平台打卡统计 Koishi 插件,调用车队平台接口按活动日期统计成员打卡次数,生成前 10 名精美 PNG 排行榜图片,前三名拥有金银铜徽章,并支持每周、每月定时推送到群聊。
4
ets-map-example 欧卡在线地图示例
代码分享一个 ETS2 欧洲卡车模拟 2 地图代码示例项目,包含标准地图和 ProMods 地图,支持双颜色主题切换,附带可在线访问的地图演示页面。
5
欧卡专用服务器安装教程(Linux)
游戏教程从零开始在欧洲卡车模拟 2 中搭建自己的专用服务器(Dedicated Server):云服务器选型与端口放行、SteamCMD 安装、服务端部署、server_packages 生成与上传、server_config 完整配置详解,一文搞定联运房间搭建。
随机文章随机推荐














