コンテンツにスキップ

ランタイムAPI

背景

EmailEventは、Workerを使用してプログラム的にメールを処理するためのイベントタイプです。Worker内で構築したロジックに従って、メールを拒否、転送、または破棄することができます。


構文: サービスワーカー

EmailEventは、addEventListenerを使用してemailイベントに接続することで、サービスワーカー構文で書かれたWorker関数で処理できます。

addEventListener("email", (event) => {
event.message.forward("<YOUR_EMAIL>");
});

プロパティ


構文: ESモジュール

EmailEventは、ESモジュール形式で書かれたWorker関数で、モジュールのエクスポートされたハンドラーにemail関数を追加することで処理できます。

export default {
async email(message, env, ctx) {
message.forward("<YOUR_EMAIL>");
},
};

パラメータ

  • message EmailMessage

  • env object

    • ESモジュール形式を使用してWorkerに関連付けられたバインディングを含むオブジェクト。KV名前空間やDurable Objectsなどが含まれます。
  • ctx object

    • ESモジュール形式を使用してWorkerに関連付けられたコンテキストを含むオブジェクト。現在、このオブジェクトにはwaitUntil関数のみが含まれています。

EmailMessageの定義

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>;
}
  • from string

    • メールメッセージのEnvelope From属性。
  • to string

    • メールメッセージのEnvelope To属性。
  • headers Headers

  • raw ReadableStream

  • rawSize number

    • メールメッセージの内容のサイズ。
  • setReject(reasonstring) : void

    • 指定された理由を含む永続的なSMTPエラーを接続クライアントに返すことで、このメールメッセージを拒否します。
  • forward(rcptTostring, headersHeadersoptional) : Promise

    • このメールメッセージをアカウントの確認済みの宛先アドレスに転送します。必要に応じて、メールメッセージに追加のヘッダーを追加できます。X-*ヘッダーのみが許可されています。
    • プロミスが解決されると、メッセージが確認済みの宛先アドレスに転送されたことが確認されます。
  • reply(messageEmailMessage) : Promise

    • このメールメッセージの送信者に新しいEmailMessageオブジェクトで返信します。
    • プロミスが解決されると、メッセージが返信されたことが確認されます。