MINARA
Minaraを使用するクライアントとインターフェースメッセージングプラットフォーム

メール(SMTP)

任意の SMTP リレー経由で送信専用メールを送ります。最初の行から件名を自動分割し、本文はコンプライアンスおよびアーカイブパイプラインにそのまま流せます。

🟢 実行時すぐ使える。 nodemailer(MIT)をラップしています。ストリーミングはなく、メールは送信後にアトミックな単一メッセージとして扱われます。共有ヘルパー createStreamSink は増分デルタをバッファリングし、ファイナライズ時に1件のメッセージを送信します。

機能

  • Gmail、Office 365、SES、Postmark、Mailgun、セルフホストなど、任意の SMTP リレーで動作します
  • 件名の自動分割: メッセージテキストの先頭が短い1行(120文字以下、改行なし)の場合、その行が件名になり残りが本文になります。それ以外の場合、件名は "Minara alert" になります。これにより LLM は2フィールドのツールを覚えることなく自然なアラートを書けます
  • channel によるメッセージごとの宛先上書き。重要なアラートをポケットベル用アドレスにルーティングする際に便利です

セットアップ

1. リレーの選択

最もシンプルな方法を選んでください:

リレーホストポート備考
Gmail(個人)smtp.gmail.com587メインのパスワードではなく アプリパスワード が必要
Office 365smtp.office365.com587本番環境では OAuth のみ推奨。SMTP 基本認証は廃止予定
AWS SESemail-smtp.{region}.amazonaws.com587任意の宛先に送信するにはサンドボックス解除が必要
Postmarksmtp.postmarkapp.com587サーバー 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_USERSMTP_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 はレスポンス全体をバッファリングし、ファイナライズ時に一括送信します

リファレンス

目次