ランタイムAPI
EmailEventは、Workerを使用してプログラム的にメールを処理するためのイベントタイプです。Worker内で構築したロジックに従って、メールを拒否、転送、または破棄することができます。
EmailEventは、addEventListenerを使用してemailイベントに接続することで、サービスワーカー構文で書かれたWorker関数で処理できます。
addEventListener("email", (event) => { event.message.forward("<YOUR_EMAIL>");});-
event.messageEmailMessage
EmailEventは、ESモジュール形式で書かれたWorker関数で、モジュールのエクスポートされたハンドラーにemail関数を追加することで処理できます。
export default { async email(message, env, ctx) { message.forward("<YOUR_EMAIL>"); },};-
messageEmailMessage -
envobject- ESモジュール形式を使用してWorkerに関連付けられたバインディングを含むオブジェクト。KV名前空間やDurable Objectsなどが含まれます。
-
ctxobject- ESモジュール形式を使用してWorkerに関連付けられたコンテキストを含むオブジェクト。現在、このオブジェクトには
waitUntil関数のみが含まれています。
- ESモジュール形式を使用してWorkerに関連付けられたコンテキストを含むオブジェクト。現在、このオブジェクトには
interface EmailMessage<Body = unknown> { readonly from: string; readonly to: string; readonly headers: Headers; readonly raw: ReadableStream; readonly rawSize: number;
public constructor(from: string, to: string, raw: ReadableStream | string);
setReject(reason: string): void; forward(rcptTo: string, headers?: Headers): Promise<void>; reply(message: EmailMessage): Promise<void>;}-
fromstring- メールメッセージの
Envelope From属性。
- メールメッセージの
-
tostring- メールメッセージの
Envelope To属性。
- メールメッセージの
-
headersHeaders -
rawReadableStream- メールメッセージの内容のストリーム。
-
rawSizenumber- メールメッセージの内容のサイズ。
-
setReject(reasonstring): void- 指定された理由を含む永続的なSMTPエラーを接続クライアントに返すことで、このメールメッセージを拒否します。
-
forward(rcptTostring, headersHeadersoptional): Promise- このメールメッセージをアカウントの確認済みの宛先アドレスに転送します。必要に応じて、メールメッセージに追加のヘッダーを追加できます。
X-*ヘッダーのみが許可されています。 - プロミスが解決されると、メッセージが確認済みの宛先アドレスに転送されたことが確認されます。
- このメールメッセージをアカウントの確認済みの宛先アドレスに転送します。必要に応じて、メールメッセージに追加のヘッダーを追加できます。
-
reply(messageEmailMessage): Promise- このメールメッセージの送信者に新しいEmailMessageオブジェクトで返信します。
- プロミスが解決されると、メッセージが返信されたことが確認されます。