製品が送るメールを
呼び出しから結果まで
アプリがメールを POST すると、OpenEmail が自分のドメインから送信します。呼び出しはそれを行ったキーに紐づいて残り、送信ごとに結果を読めます。
呼び出しはメッセージ ID を返します。エンドポイントに届くイベントはすべて同じ ID を持ちます。
出発点
いまの状況。
メールはコードから出ていく
領収書、登録コード、パスワード再設定は人が書くのではなく、バックエンドが送ります。
送信したあと、何も返ってこない
コードが届かないと顧客に言われても、照合できる配信の記録がありません。
共有キーひとつ、呼び出しの記録なし
どのサービスも同じシークレットで送信し、どの呼び出しがいつ失敗したかは分かりません。
使い方
4 ステップで使い始める。
- 01
ドメインを確認
設定に表示されたレコードを公開すると、条件がそろった時点でドメインが緑になります。
- 02
範囲を限定したキーを発行
送信に使えるアドレスとドメインにキーを限定し、ロールで届く範囲を抑えます。
- 03
メールを POST
1 回の呼び出しでテンプレート、その値、宛先を指定します。再試行しても二重に送られることはありません。
- 04
Webhook を受け、ログを読む
エンドポイントはメッセージ ID ごとにすべてのイベントを受け取り、ログには配信済み、バウンス、失敗が表示されます。
支える機能
仕事をこなす部品。
動かしているのは、範囲を限定できるキーを持つ文書化された API、型付きの SDK、自分のエンドポイントへの Webhook、バージョン管理されたテンプレート、そして送信ドメインを裏づけるレコードです。
発行・スコープ設定・失効ができるキーを備えた、ドキュメント付きの HTTP API。
まずTypeScriptクライアント、その後に他の言語を。
メールの到着をエンドポイントに通知。ポーリングは不要です。
実際の使い方
それぞれの部品を、順を追って。
短いページが 4 つ、道筋をたどります。コードからの送信、呼び出しログの読み方、送信後に何が起きたか、そしてテスト実行の中のメール。最後のものはこれからです。
領収書、確認コード、再設定リンクを自分のコードから送り、届いたことを受け取れます。
キーによる呼び出しと送信した Webhook のすべてを、コードと所要時間つきで。
質問
登録前によく聞かれること。
再試行で同じメールが二度送られないのはなぜですか。
1 回の呼び出しでテンプレート、その値、宛先を指定するため、同じ呼び出しを再試行しても二度は送られません。呼び出しはメッセージ ID を返し、エンドポイントが受け取るすべてのイベントに同じ ID が付きます。
送信後に何が起きたかを見られますか。
はい。送信ごとに配信済み、バウンス、苦情、失敗が分かり、日付、送信元、送信アドレス別に見られます。リクエストログには、キーが行ったすべての呼び出しのメソッド、パス、ステータスコード、所要時間が残ります。
自分の言語の SDK はありますか。
多くの場合、まだありません。型付きクライアントは TypeScript が先行し、ほかの言語は後から続きます。それまでは、ほかの言語から文書化された HTTP API を直接呼び出してください。
関連
同じ受信箱でできるほかの仕事。
チケットも、レコードも、顧客も、それぞれ専用のアドレスを持てます。そこに届いたメールは署名付きイベントとしてエンドポイントに届き、コードがそのアドレスとして返信します。
エージェントに専用のアドレスと、できることに限定したキーを渡します。読み、ラベルを付け、下書きし、送信します。行った呼び出しはすべてログに残ります。