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

參考資料

本頁目錄