Gemini CLI 向け OpenEmail

メール送信を、Gemini CLI で。

プロンプトをひとつ貼り付ければ、Gemini CLI が SDK をインストールし、キーをサーバーに置いたまま、送信のコードを書きます。

Gemini CLI を開く
Gemini CLI 用のプロンプト
OpenEmail を使って、このアプリにトランザクションメールを追加して。

1. npm install @openemail/sdk で TypeScript SDK をインストールして。
2. API キーは環境変数 OPENEMAIL_API_KEY から、サーバー側でだけ読み込んで。ブラウザには絶対に渡さず、コミットもしないで。
3. init を一度だけ呼び、そのあと openemail.emails.send を呼ぶ sendEmail ヘルパーを書いて。送信元には、OpenEmail で確認済みのドメインのアドレスを使って。
4. 送信処理はサーバー側のコードに置いて。ユーザーを作成するコードのすぐそばに。
5. 再試行で二重に送信されないよう、welcome:<userId> のようにイベントから組み立てた idempotencyKey を渡して。
6. 誰かが登録したらウェルカムメールを送り、返ってきた id をログに出して。

SDK リファレンス: https://openemail.uk/docs/sdk

送信元とトリガーは、アプリに合わせて変えてください。それ以外は、OpenEmail が想定する呼び出し方そのものです。

三つのステップで、
送信が動き出す。

  1. 01

    キーを発行

    設定で、送信できるキーを作成します。シークレットは一度しか表示されません。

  2. 02

    秘密にしておく

    .env に OPENEMAIL_API_KEY として保存し、.env は git に含めないでください。

  3. 03

    プロンプトを貼り付ける

    Gemini CLI が SDK をインストールし、送信のコードを書きます。変更内容を読んでから実行してください。

書かれるコード。
ルートひとつ、呼び出しひとつ。

典型的な結果です。Gemini CLI がファイルに別の名前を付けることもあります。

lib/email.ts
import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) export async function sendWelcome(user: User) {  const sent = await openemail.emails.send({    from: 'Acme <[email protected]>',    to: user.email,    subject: `Welcome, ${user.name}`,    html: `<p>Thanks for signing up, ${user.name}.</p>`,  }, {    idempotencyKey: `welcome:${user.id}`,  })   console.log(sent.id)}

Gemini CLI にメールも読ませたいですか?

MCP でつなげば、承認したアクセスの範囲内で、スレッドを検索し、読み、返信できます。

Gemini CLI を MCP で接続

キーを発行。
何か送ってみる。

API、MCP、SDK のフルアクセスは、無料プランを含むすべてのプランで使えます。