メール(SMTP)
任意の SMTP リレー経由で送信専用メールを送ります。最初の行から件名を自動分割し、本文はコンプライアンスおよびアーカイブパイプラインにそのまま流せます。
🟢 実行時すぐ使える。
nodemailer(MIT)をラップしています。ストリーミングはなく、メールは送信後にアトミックな単一メッセージとして扱われます。共有ヘルパーcreateStreamSinkは増分デルタをバッファリングし、ファイナライズ時に1件のメッセージを送信します。
機能
- Gmail、Office 365、SES、Postmark、Mailgun、セルフホストなど、任意の SMTP リレーで動作します
- 件名の自動分割: メッセージテキストの先頭が短い1行(120文字以下、改行なし)の場合、その行が件名になり残りが本文になります。それ以外の場合、件名は "Minara alert" になります。これにより LLM は2フィールドのツールを覚えることなく自然なアラートを書けます
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 | サーバー API トークンが 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件名 "Minara alert: test ping" のメッセージが EMAIL_TO に届いているか確認してください。
件名と本文のレイアウト
次の 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 アカウントの 2FA が必要です
Office 365: "5.7.57 SMTP client was not authenticated"
- テナントで SMTP 基本認証が無効になっています。安定したプログラム送信には SES / Postmark / Mailgun を使用するか、管理者にメールボックスの SMTP AUTH 有効化を依頼してください(Microsoft は廃止を進めています)
SES: "554 Message rejected (still in sandbox)"
- AWS アカウントがまだ SES の本番アクセスを取得していません。SES コンソールからリクエストしてください。承認には約1日かかります
迷惑メールに振り分けられる
EMAIL_FROMドメインに SPF / DKIM / DMARC を設定してください。設定がないと Gmail などのゲートウェイがプログラム送信メールを積極的にスパム判定します
"Stream doesn't appear live"
- 想定どおりの動作です。メールにはストリーミングの仕組みがありません。Minara はレスポンス全体をバッファリングし、ファイナライズ時に一括送信します