MINARA
使用 Minara客户端与界面消息平台

邮件(SMTP)

仅支持发送,适用于任何 SMTP 中继。主题自动从第一行拆分,正文可自然接入合规与归档流程。

🟢 运行时就绪,封装 nodemailer (MIT)。不支持流式传输,邮件发送后即为原子操作。共享的 createStreamSink 辅助函数会缓冲增量增量,并在 finalize 时统一发送一条消息。

功能概览

  • 兼容任意 SMTP 中继,包括 Gmail、Office 365、SES、Postmark、Mailgun 及自托管服务
  • 主题自动拆分:若消息文本以单行短文(≤ 120 个字符,无换行符)开头,该行将作为主题,其余内容作为正文;否则主题默认为 "Minara alert"。LLM 无需学习双字段工具,即可直接写出自然的提醒内容
  • 通过 channel 逐条消息覆盖收件人,适合将关键提醒路由至呼叫器地址

配置步骤

1. 选择中继

选择阻力最小的方式:

中继主机端口备注
Gmail(个人版)smtp.gmail.com587需要应用专用密码不能使用主账号密码
Office 365smtp.office365.com587生产环境仅支持 OAuth;SMTP 基本认证正在逐步淘汰
AWS SESemail-smtp.{region}.amazonaws.com587需退出沙盒状态,方可向任意收件人发送
Postmarksmtp.postmarkapp.com587Server 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_USERSMTP_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 时统一发送

参考资料

本页目录