← Cloudflare Email Service / email-service / get-started
Маршрутизация писем
Маршрутизируйте входящие письма, отправленные на ваш домен, в существующие почтовые ящики, Workers для обработки или другие места назначения.
Настройте свой домен
Перед использованием Email Routing настройте домен.
-
В панели управления Cloudflare перейдите в Вычисления > Служба электронной почты > Email Routing.
Перейдите в Email Routing ↗ -
Выберите Подключить домен.
-
Выберите домен в своей учетной записи Cloudflare. При необходимости ознакомьтесь с DNS записями, которые Cloudflare добавит в ваш корневой домен:
- MX-записи для маршрутизации входящих писем в Cloudflare.
- TXT-запись для SPF разрешает маршрутизацию писем.
- TXT-запись для DKIM обеспечивает аутентификацию перенаправляемых писем.
-
Выберите Готово.
После подключения домена вы можете начать маршрутизацию писем.
Маршрутизируйте своё первое письмо
Направить первое письмо можно, настроив правила маршрутизации в дашборде, либо обрабатывая письма с помощью Workers.
Самый простой способ маршрутизации писем: пересылка на существующие адреса электронной почты.
Добавить целевой адрес
Прежде чем создавать правило маршрутизации, добавьте и подтвердите адрес назначения, на который будут пересылаться письма. Адреса назначения управляются на уровне учетной записи и могут использоваться для нескольких доменов.
-
В панели управления Cloudflare перейдите в Вычисления > Служба электронной почты > Email Routing > Destination Addresses.
Перейдите в Email Routing ↗ -
В разделе Адреса получателей, введите в форму адрес электронной почты, который хотите использовать в качестве адреса получателя, и отправьте его.
-
Откройте письмо для подтверждения, которое Cloudflare отправляет на этот адрес, и выберите Подтверждение адреса электронной почты.
Полное описание см. в Добавить целевой адрес.
Создайте правило маршрутизации
-
В панели управления Cloudflare перейдите в Вычисления > Служба электронной почты > Email Routing.
Перейдите в Email Routing ↗ -
Выберите домен, для которого нужно создать email-адрес.
-
Выберите Правила маршрутизации на вкладке.
-
Выберите Создать правило маршрутизации.
-
Настройте первое правило (например, пересылку писем на
[email protected]на ваш личный адрес электронной почты):- Шаблон адреса электронной почты: Введите локальную часть адреса электронной почты (например,
supportдля[email protected]), и выберите свой домен - Действие: Отправить на email-адрес
- Назначение: Ваш личный адрес электронной почты (например,
[email protected])
- Шаблон адреса электронной почты: Введите локальную часть адреса электронной почты (например,
-
Выберите Save.
Проверьте правило маршрутизации
Убедитесь, что правило маршрутизации работает:
-
Отправьте письмо с другого почтового аккаунта на только что созданный адрес (например,
[email protected]). Отправляйте письмо с адреса, отличного от адреса получателя. Некоторые провайдеры отклоняют сообщения, которые выглядят так, будто отправлены с того же адреса, на который они доставляются. -
Проверьте почтовый ящик адреса назначения на предмет пересланного письма.
-
Если письмо не появилось сразу, проверьте папку «Спам».
Используйте Workers для обработки писем с пользовательской логикой перед пересылкой или ответом.
Создайте Worker для обработки писем
-
Создайте новый проект Worker:
npm create cloudflare@latest email-processorКогда появится запрос, выберите Worker «Hello World» в качестве шаблона. Затем перейдите в каталог проекта:
cd email-processor -
Установите пакет, необходимый для создания ответов на письма:
npm install mimetext -
Добавьте
nodejs_compatфлаг совместимости в файл конфигурации Wrangler. Это необходимо дляmimetextпакет:{ "compatibility_flags": ["nodejs_compat"], }compatibility_flags = [ "nodejs_compat" ] -
Создайте обработчик писем в
src/index.ts:import { EmailMessage } from "cloudflare:email"; import { createMimeMessage } from "mimetext"; // ============================================ // Configuration - Update these values // ============================================ const YOUR_DOMAIN = "yourdomain.com"; // Replace with your verified domain const FORWARD_TO_EMAIL = "[email protected]"; // Replace with where you want emails forwarded export default { async email(message, env, ctx): Promise<void> { const sender = message.from; const recipient = message.to; const subject = message.headers.get("subject") || ""; console.log( `Processing email from ${sender} to ${recipient} with subject ${subject}`, ); // Route based on recipient if (recipient.includes("support@")) { // Send auto-reply const msg = createMimeMessage(); const messageId = message.headers.get("Message-ID"); if (messageId) { msg.setHeader("In-Reply-To", messageId); msg.setHeader("References", messageId); } msg.setSender({ name: "Support Team", addr: `support@${YOUR_DOMAIN}`, }); msg.setRecipient(message.from); msg.setSubject(`Re: ${subject}`); // Add plain text version msg.addMessage({ contentType: "text/plain", data: "Thank you for contacting support. Your ticket number is 123.\n\nA member of our support team will get back to you shortly.", }); // Add HTML version msg.addMessage({ contentType: "text/html", data: "<p>Thank you for contacting support. Your ticket number is <strong>123</strong>.</p><p>A member of our support team will get back to you shortly.</p>", }); const replyMessage = new EmailMessage( `support@${YOUR_DOMAIN}`, message.from, msg.asRaw(), ); await message.reply(replyMessage); // Forward to support team await message.forward(FORWARD_TO_EMAIL); } else { // Default: forward to admin await message.forward(FORWARD_TO_EMAIL); } }, } satisfies ExportedHandler<Env>; -
Разверните ваш Worker:
npm run deploy
Настройте маршрутизацию на Worker
-
В панели управления Cloudflare перейдите в Вычисления > Служба электронной почты > Email Routing.
Перейдите в Email Routing ↗ -
Выберите домен, для которого нужно настроить маршрутизацию.
-
Выберите Правила маршрутизации на вкладке.
-
Выберите Создать правило маршрутизации.
-
Настройте маршрутизацию Worker:
- Шаблон адреса электронной почты: Введите локальную часть адреса электронной почты (например,
supportдля[email protected]), и выберите свой домен - Действие: Отправить в Worker
- Worker: Выберите свой
email-processorWorker
- Шаблон адреса электронной почты: Введите локальную часть адреса электронной почты (например,
-
Выберите Save.
Проверьте маршрутизацию писем
После настройки правила маршрутизации проверьте его работу:
-
Отправьте письмо со своего личного почтового аккаунта на настроенный адрес (например,
[email protected]). -
Проверьте
FORWARD_TO_EMAILпочтовый ящик для перенаправленного письма. -
Если адрес получателя был
support@, вы также должны получить автоответ на свой личный адрес электронной почты.
Следующие шаги
Теперь, когда вы можете маршрутизировать письма, ознакомьтесь с дополнительными возможностями:
- Отправка исходящих писем - Отправка писем из ваших приложений
- Справочник по API - Полная документация по API маршрутизации
- Примеры - Практические шаблоны маршрутизации