使用 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 時統一發送