API と MCP による接続済みアカウント管理
TrekMail のメッセージ API と MCP ツールで Gmail などの外部メールを接続、管理し、スコープ、制限、ルーティング例を確認できます。
記事の詳細
種類・難易度・対象プラン・最終更新の情報。
▼
記事の詳細
種類・難易度・対象プラン・最終更新の情報。
- 種類
- ガイド
- 難易度
- 上級
- プラン
- Pro · Agency
- 最終更新
- 2026年8月23日
接続済みアカウントを使用すると、ウェブメールのメールボックスから外部メールボックス、Gmail、Yahoo、iCloud、Outlook.com/Microsoft 365、または任意の IMAP サーバーにあるメールを読んだり送信したりできます。メッセージ API と MCP ツールは、同じ機能をプログラムから利用できるようにします。接続済みアカウントの一覧表示、追加、テスト、編集、削除のほか、通常のメッセージ呼び出し(一覧、閲覧、送信、フラグ、移動、削除、フォルダー)を、トークン自身のメールボックスではなく接続済みアカウントに向けることができます。
簡単に言うと、mailbox_id はエージェントが代理で操作できる TrekMail メールボックスを選び、external_account_id はその中の Gmail または別の接続済みメールボックスを選びます。両者を入れ替えることはできません。
プラン、制限、カタログの規模
| プラン | メールボックスごとの接続済みアカウント | ダッシュボード/ウェブメール | API と MCP による管理 |
|---|---|---|---|
| Nano | 0 | いいえ | いいえ |
| Starter | 5 | はい | いいえ |
| Pro | 10 | はい | はい |
| Agency | 30 | はい | はい |
接続済みアカウントの管理には 7 つのメッセージツールがあります。スコープが限定されたトークンには、製品カタログ全体ではなく、実際に使用できるツールだけが表示されます。
始める前に
- 接続済みアカウントはウェブメール機能であり、メッセージトークンのインターフェース (
/api/v1/messages/...) を使用します。ダッシュボード API トークンではなく、以下のスコープを持つメッセージトークンで認証します。 - プランの制限はメールボックスごとに適用されます:Starter 5, Pro 10, Agency 30。Nano プランには接続済みアカウントが含まれません。
- 各 endpoint の範囲はトークン自身のメールボックスに限定されます。トークンが表示、管理できるのは自身の接続済みアカウントだけであり、別のメールボックスのアカウントにはアクセスできません。
- 認証情報と OAuth トークンは、応答では常にマスクされます。パスワードまたはアプリパスワードを書き込むことはできますが、後から読み戻すことはできません。
- Outlook.com および Microsoft 365 アカウントは、ウェブメール UI の Microsoft サインイン (OAuth) で接続します。接続後は API で管理、使用できますが、対話型の Microsoft 同意手順を API が実行することはありません。
スコープ
| スコープ | 機能 |
|---|---|
messages:read |
接続済みアカウントを一覧表示し、メールアドレスからプロバイダーを検出する |
messages:write |
接続済みアカウントを追加、テスト、編集、削除する |
メッセージ呼び出しで接続済みアカウントを指定するには、その呼び出しで通常必要となるものと同じスコープが必要です(たとえばメッセージの一覧には messages:read、送信には messages:send が必要です)。
接続済みアカウントの管理
ベースパス:/api/v1/messages/external-accounts
| メソッド | パス | スコープ | 目的 |
|---|---|---|---|
GET |
/external-accounts |
messages:read |
メールボックスの接続済みアカウントを一覧表示する |
POST |
/external-accounts/detect |
messages:read |
メールアドレスからプロバイダーと推奨サーバー設定を検出する |
POST |
/external-accounts/test |
messages:write |
未保存の認証情報をテストする(アカウントは作成されません) |
POST |
/external-accounts |
messages:write |
接続済みアカウントを追加する(テスト必須。不正な認証情報は保存されません) |
PATCH |
/external-accounts/{id} |
messages:write |
ラベル、色、統合表示の設定、または認証情報を編集する |
POST |
/external-accounts/{id}/test |
messages:write |
保存済みアカウントを再テストする |
DELETE |
/external-accounts/{id} |
messages:write |
アカウントを削除する(保存された認証情報を消去し、リモートメールボックスには影響しません) |
アカウントを追加する
POST /api/v1/messages/external-accounts
Scope: messages:write
リクエスト本文:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
email |
string | はい | 外部メールボックスのアドレス |
provider |
string | はい | gmail、yahoo、aol、icloud、zoho、gmx、yandex、fastmail、または custom |
password |
string | はい | パスワードまたはアプリパスワード(ほとんどのプロバイダーではアプリパスワードが必要です) |
imap_host |
string | はい | IMAP ホスト名 |
imap_port |
integer | はい | 143 または 993 |
imap_encryption |
string | はい | ssl または tls |
smtp_host |
string | はい | SMTP ホスト名 |
smtp_port |
integer | はい | 465、587、または 2525(ポート 25 は拒否されます) |
smtp_encryption |
string | はい | ssl または tls |
imap_username |
string | いいえ | デフォルトはメールアドレス |
smtp_username |
string | いいえ | デフォルトは IMAP ユーザー名 |
smtp_password |
string | いいえ | デフォルトは IMAP パスワード |
label |
string | いいえ | 表示ラベル(デフォルトはメールアドレス) |
include_in_unified |
boolean | いいえ | すべての受信トレイに表示する(デフォルトは true) |
最初に POST /external-accounts/detect を呼び出すと、provider とサーバー設定が自動入力されます。保存処理は保存前に実際の IMAP + SMTP テストを実行します。422 とエラーカテゴリー (auth、tls、network、transient_throttle) が返された場合、認証情報が機能せず、何も保存されなかったことを意味します。
メッセージ呼び出しで接続済みアカウントを指定する
メールボックスを操作するすべてのメッセージ endpoint は、任意の external_account_id を受け取ります。これを指定するとトークン自身のメールボックスではなく、その接続済みアカウントに対して呼び出しを実行します。メールボックス自体を使う場合は省略します。これは一覧、閲覧、送信、返信、フラグ、移動、削除、フォルダー一覧に適用されます。
GET /api/v1/messages?external_account_id=42&folder=INBOX
Scope: messages:read
POST /api/v1/messages/send
Scope: messages:send
{
"external_account_id": 42,
"to": "someone@example.com",
"subject": "Sent from my connected account",
"text": "..."
}
external_account_id だけを指定した送信では、そのアカウント自身の SMTP サーバー(プロバイダーの SPF/DKIM)が使われます。代わりにソースに紐づいた identity_id を指定すると、その差出人 ID のドメインまたは保存済みプロファイルのルートを使用しながら、送信済みコピーは接続済み受信トレイに保存されます。アカウントは正常 (status: active) である必要があります。切断されたアカウントでは、再接続を求めるエラーが返されます。API と MCP による差出人アドレスを参照してください。
MCP ツール
同じ機能は MCP を介して AI エージェントでも利用できます(プライベート stdio サーバーとパブリック MCP サーバーの両方):
| ツール | スコープ | 目的 |
|---|---|---|
list_external_accounts |
read | メールボックスの接続済みアカウントを一覧表示する |
detect_external_account |
read | メールアドレスからプロバイダーと設定を検出する |
test_external_account |
manage | 未保存の認証情報をテストする |
create_external_account |
manage | 接続済みアカウントを追加する |
update_external_account |
manage | ラベル/色/統合表示/認証情報を編集する |
test_saved_external_account |
manage | 保存済みアカウントを再テストする |
delete_external_account |
manage | 接続済みアカウントを削除する |
メッセージツール list_messages、read_message、send_message、list_folders、update_message_flags、move_message、delete_message、prepare_reply、prepare_reply_all、prepare_forward は、任意の external_account_id 引数を受け取ります。送信、下書き、予約送信では、ソースに紐づいた identity_id も使用でき、この値は list_identities が返します。
管理ツールは、ユーザーが指定した認証情報を使って任意のメールサーバーへの外向き接続を開くため、接続済みアカウント機能のほかの部分と同じ安全対策を採用しています。具体的には、ホストの許可リスト、プライベート範囲のブロック、ポートの許可リスト、ホストごとの接続上限です。
関連記事
ワークフローの続きとなる関連ガイドに移動します。