コンテンツにスキップ

Email Workers

Email Workersを使用すると、Cloudflare Workersの力を活用して、メールを処理し、複雑なルールを作成するために必要なロジックを実装できます。これらのルールは、メールを受信したときに何が起こるかを決定します。

Email Workersを使用して独自のルールを作成するのは、あなたの望む通り簡単でも複雑でも構いません。人気のユースケース向けにコードが事前に入力されたスターターテンプレートの1つを使用して始めることができます。これらのテンプレートを使用すると、ブロックリスト、許可リストを作成したり、Slackに通知を送信したりできます。

テンプレートをスキップしてカスタムコードを使用することもできます。たとえば、特定のアドレスからのメッセージのみを受け入れ、それを1つまたは複数の確認済みメールアドレスに転送し、さらにSlackで通知を受けるロジックを作成できます。

以下は、許可リストのEmail Workerの例です:

export default {
async email(message, env, ctx) {
const allowList = ["friend@example.com", "coworker@example.com"];
if (allowList.indexOf(message.from) == -1) {
message.setReject("許可されていないアドレス");
} else {
await message.forward("inbox@corp");
}
}
}

使用できる言語に関する詳細は、Workers Languagesを参照してください。

Email Workersの使用方法

Email Workersを使用してEmail Routingを行うには、3つのステップがあります:

  1. Email Workerの作成。
  2. Email Workerにロジックを追加する(許可またはブロックされているメールアドレスなど)。
  3. Email Workerをルートにバインドする。これは、メールをWorkerに転送するメールアドレスです。

Workerにバインドされたルート、またはメールアドレスは、メールをEmail Workerに転送します。Worker内のロジックは、そのメールが最終目的地に転送されるか、破棄されるか、さらにどのようなアクション(あれば)を適用するかを決定します。

たとえば、許可リストのEmail Workerを作成し、それをhello@my-company.comルートにバインドしたとします。このルートは、あなたが世界と共有するメールアドレスであり、許可リストにあるメールアドレスのみが目的地アドレスに転送されることを保証します。他のすべてのメールは破棄されます。

制限

Email Workersを使用中に割り当てエラーが発生した場合は、Limitsを参照して詳細情報を確認してください。