使用 Minara客户端与界面消息平台
邮件(SMTP)
仅支持发送,适用于任何 SMTP 中继。主题自动从第一行拆分,正文可自然接入合规与归档流程。
🟢 运行时就绪,封装
nodemailer(MIT)。不支持流式传输,邮件发送后即为原子操作。共享的createStreamSink辅助函数会缓冲增量增量,并在 finalize 时统一发送一条消息。
功能概览
- 兼容任意 SMTP 中继,包括 Gmail、Office 365、SES、Postmark、Mailgun 及自托管服务
- 主题自动拆分:若消息文本以单行短文(≤ 120 个字符,无换行符)开头,该行将作为主题,其余内容作为正文;否则主题默认为 "Minara alert"。LLM 无需学习双字段工具,即可直接写出自然的提醒内容
- 通过
channel逐条消息覆盖收件人,适合将关键提醒路由至呼叫器地址
配置步骤
1. 选择中继
选择阻力最小的方式:
| 中继 | 主机 | 端口 | 备注 |
|---|---|---|---|
| Gmail(个人版) | smtp.gmail.com | 587 | 需要应用专用密码,不能使用主账号密码 |
| Office 365 | smtp.office365.com | 587 | 生产环境仅支持 OAuth;SMTP 基本认证正在逐步淘汰 |
| AWS SES | email-smtp.{region}.amazonaws.com | 587 | 需退出沙盒状态,方可向任意收件人发送 |
| Postmark | smtp.postmarkapp.com | 587 | Server API token 同时用作 SMTP 用户名和密码 |
| 自托管 | 自定义主机 | 587 或 465 | 端口 465 自动启用 secure: true |
2. 配置 Minara
快捷方式,直接告诉 Agent:
"configure email alerts,I'll give you the SMTP settings"
手动方式:
minara auth messaging add email或直接编辑项目根目录的 .env 文件:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your-app-password
[email protected]
[email protected]SMTP_USER 和 SMTP_PASSWORD 为可选项。若使用无需认证的开放中继(如内部 SMTP 网关),可省略两者。
3. 测试
minara auth messaging test email检查 EMAIL_TO 收件箱,确认收到主题为 "Minara alert - test ping" 的邮件。
主题与正文格式
输入以下 text:
Position liquidated — BTC long @ $61 800
Reason: 3σ drawdown on 15m chart; watching for re-entry.Minara 发送的邮件格式如下:
Subject: Position liquidated — BTC long @ $61 800
Body: Reason: 3σ drawdown on 15m chart; watching for re-entry.若第一行超过 120 个字符,或文本中不含段落换行符,则整段文本作为正文,主题回退为 "Minara alert"。
覆盖收件人
send_message({
provider: "email",
channel: "[email protected]",
text: "Critical: position liquidation imminent",
})适用于呼叫器或合规路由场景,无需重新配置 EMAIL_TO。
常见问题排查
Gmail:"Username and Password not accepted"
- 使用的是主账号密码,而非应用专用密码。前往应用专用密码页面,为 "Mail" 生成一个密码,并填入
SMTP_PASSWORD。需先为 Google 账号开启两步验证
Office 365:"5.7.57 SMTP client was not authenticated"
- 该租户已禁用 SMTP 基本认证。建议改用 SES、Postmark 或 Mailgun 进行可靠的程序化发送;或联系管理员为邮箱开启 SMTP AUTH(微软正在逐步弃用该功能)
SES:"554 Message rejected (still in sandbox)"
- AWS 账号尚未获得 SES 生产访问权限。请在 SES 控制台提交申请,通常约需一天
邮件进入垃圾箱
- 为
EMAIL_FROM域名配置 SPF、DKIM 和 DMARC。缺少这些记录时,Gmail 等网关会将程序化邮件标记为垃圾邮件
"Stream doesn't appear live"
- 此为预期行为:邮件无流式传输界面。Minara 会缓冲完整响应,在 finalize 时统一发送