API электронной почты

На данный момент мы ещё не выпустили API-обёртки, но планируем сделать это в ближайшем будущем. Если вы хотите получать уведомления о выпуске API-обёртки для определённого языка программирования, отправьте письмо на адрес api@forwardemail.net. Пока же вы можете использовать эти рекомендуемые библиотеки HTTP-запросов в своём приложении или просто использовать завиток, как в примерах ниже.

Язык Библиотека
Руби Faraday
Питон requests
Ява OkHttp
PHP guzzle
JavaScript superagent (мы поддерживаем)
Node.js superagent (мы поддерживаем)
Идти net/http
.NET RestSharp

Текущий базовый путь HTTP URI: https://api.forwardemail.net.

Для всех конечных точек требуется, чтобы API-ключ был установлен в качестве значения «имя пользователя» заголовка Базовая авторизация запроса (за исключением Контакты псевдонима, Календари псевдонимов и Псевдонимы почтовых ящиков, которые используют сгенерированный псевдоним имени пользователя и пароля).

Не волнуйтесь — если вы не уверены, что это такое, ниже приведены примеры.

В случае возникновения ошибок тело ответа на запрос API будет содержать подробное сообщение об ошибке.

Код Имя
200 OK
400 Плохой запрос
401 Несанкционированный
403 Запрещенный
404 Не найдено
429 Слишком много запросов
500 Внутренняя ошибка сервера
501 Не реализовано
502 Плохой шлюз
503 Сервис недоступен
504 Тайм-аут шлюза

Tip

Если вы получили код статуса 5xx (чего не должно быть), свяжитесь с нами по адресу api@forwardemail.net, и мы немедленно поможем вам решить вашу проблему.

Наш сервис переведён более чем на 25 языков. Все сообщения ответа API переводятся в соответствии с последней локалью пользователя, отправившего запрос. Вы можете переопределить это, передав специальный заголовок Accept-Language. Попробуйте, используя раскрывающийся список языков внизу этой страницы.

Note

С 1 ноября 2024 года конечные точки API для Список доменов и Список доменных псевдонимов по умолчанию будут отображать максимальное количество результатов на странице 1000. Если вы хотите заранее включить это поведение, вы можете передать ?paginate=true в качестве дополнительного параметра строки запроса в URL-адрес запроса к конечной точке.

Пагинация поддерживается всеми конечными точками API, выводящими список результатов.

Просто укажите свойства строки запроса page (и при необходимости limit).

Свойство page должно быть числом, большим или равным 1. Если указано limit (тоже число), то минимальное значение — 10, а максимальное — 50 (если не указано иное).

Параметры строки запроса Необходимый Тип Описание
page Нет Число Страница с результатами для возврата. Если значение не указано, page будет равно 1. Должно быть числом, большим или равным 1.
limit Нет Число Количество результатов, возвращаемых на страницу. По умолчанию 10, если не указано иное. Должно быть числом, большим или равным 1 и меньшим или равным 50.

Чтобы определить, доступны ли дополнительные результаты, мы предоставляем следующие заголовки HTTP-ответа (которые можно проанализировать для программной пагинации):

Заголовок HTTP-ответа Пример Описание
X-Page-Count X-Page-Count: 3 Общее количество доступных страниц.
X-Page-Current X-Page-Current: 1 Текущая страница возвращаемых результатов (например, на основе параметра строки запроса page).
X-Page-Size X-Page-Size: 10 Общее количество результатов на возвращенной странице (например, на основе параметра строки запроса limit и фактических возвращенных результатов).
X-Item-Count X-Item-Count: 30 Общее количество элементов, доступных на всех страницах.
Link Link: <https://api.forwardemail.net/v1/emails?page=1>; rel="prev", <https://api.forwardemail.net/v1/emails?page=3>; rel="next", <https://api.forwardemail.net/v1/emails?page=3; rel="last", https://api.forwardemail.net/v1/emails?page=1; rel="first" Мы предоставляем HTTP-заголовок ответа Link, который можно проанализировать, как показано в примере. Это similar to GitHub (например, не все значения будут предоставлены, если они нерелевантны или недоступны, например, "next" не будет предоставлен, если нет другой страницы).

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com/aliases?page=2&pagination=true \
  -u API_TOKEN:

Извлечь журналы

Наш API позволяет вам программно загружать журналы вашей учётной записи. Отправка запроса на эту конечную точку обработает все журналы вашей учётной записи и отправит их вам по электронной почте в виде вложения (сжатый файл таблицы Gzip, CSV).

Это позволяет создавать фоновые задания с Cron-задание или с использованием Программное обеспечение для планирования заданий Node.js Бри для получения журналов в любое удобное время. Обратите внимание, что эта конечная точка ограничена 10 запросами в день.

Вложение представляет собой строчную форму имени email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz, а само письмо содержит краткий обзор полученных журналов. Вы также можете скачать журналы в любое время из Моя учетная запись → Журналы.

GET /v1/logs/download

Параметры строки запроса Необходимый Тип Описание
domain Нет Строка (полное доменное имя) Фильтровать журналы по полному доменному имени (FQDN). Если вы не укажете его, будут извлечены все журналы по всем доменам.
q Нет Нить Поиск журналов по адресу электронной почты, домену, псевдониму, IP-адресу или дате (формат M/Y, M/D/YY, M-D, M-D-YY или M.D.YY).
bounce_category Нет Нить Поиск журналов по определенной категории отказов (например, blocklist).
response_code Нет Число Поиск журналов по определенному коду ответа об ошибке (например, 421 или 550).

Пример запроса:

curl https://api.forwardemail.net/v1/logs/download \
  -u API_TOKEN:

Пример задания Cron (в полночь каждый день):

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download -u API_TOKEN: &>/dev/null

Обратите внимание, что вы можете использовать такие службы, как Crontab.guru, для проверки синтаксиса выражений задания cron.

Пример задания Cron (в полночь каждый день и с журналами за предыдущий день):

Для MacOS:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date -v-1d -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Для Linux и Ubuntu:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date --date "-1 days" -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Создать учетную запись

POST /v1/account

Параметры тела Необходимый Тип Описание
email Да Строка (Электронная почта) Адрес электронной почты
password Да Нить Пароль

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Получить учетную запись

GET /v1/account

Пример запроса:

curl https://api.forwardemail.net/v1/account \
  -u API_TOKEN:

Обновление учетной записи

PUT /v1/account

Параметры тела Необходимый Тип Описание
email Нет Строка (Электронная почта) Адрес электронной почты
given_name Нет Нить Имя
family_name Нет Нить Фамилия
avatar_url Нет Строка (URL) Ссылка на изображение аватара

Пример запроса:

curl -X PUT https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Note

В отличие от других конечных точек API, для этих заголовков базовой авторизации Аутентификация требуется «имя пользователя», равное имени пользователя псевдонима, и «пароль», равный паролю, сгенерированному псевдонимом.

Warning

Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.

Список контактов

GET /v1/contacts

Вскоре

Создать контакт

POST /v1/contacts

Вскоре

Получить контакт

GET /v1/contacts/:id

Вскоре

Обновить контакт

PUT /v1/contacts/:id

Вскоре

Удалить контакт

DELETE /v1/contacts/:id

Вскоре

Note

В отличие от других конечных точек API, для этих заголовков базовой авторизации Аутентификация требуется «имя пользователя», равное имени пользователя псевдонима, и «пароль», равный паролю, сгенерированному псевдонимом.

Warning

Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.

Список календарей

GET /v1/calendars

Вскоре

Создать календарь

POST /v1/calendars

Вскоре

Получить календарь

GET /v1/calendars/:id

Вскоре

Обновление календаря

PUT /v1/calendars/:id

Вскоре

Удалить календарь

DELETE /v1/calendars/:id

Вскоре

Note

В отличие от других конечных точек API, для этих заголовков базовой авторизации Аутентификация требуется «имя пользователя», равное имени пользователя псевдонима, и «пароль», равный паролю, сгенерированному псевдонимом.

Warning

Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.

Убедитесь, что вы следовали инструкциям по настройке вашего домена.

Эти инструкции можно найти в разделе часто задаваемых вопросов Поддерживаете ли вы получение электронной почты по протоколу IMAP?.

Список и поиск сообщений

GET /v1/messages

Вскоре

Создать сообщение

Note

Это НЕ отправит электронное письмо — сообщение просто добавится в папку вашего почтового ящика (например, это аналогично команде IMAP APPEND). Если вы хотите отправить электронное письмо, см. команду Создать исходящее SMTP-сообщение ниже. После создания исходящего SMTP-письма вы можете добавить его копию, используя эту конечную точку, в почтовый ящик вашего псевдонима для хранения.

POST /v1/messages

Вскоре

Получить сообщение

GET /v1/messages/:id

Вскоре

Обновление сообщения

PUT /v1/messages/:id

Вскоре

Удалить сообщение

DELETE /v1/messages:id

Вскоре

Tip

Конечные точки папок с путём /v1/folders/:path взаимозаменяемы с идентификатором папки :id. Это означает, что вы можете ссылаться на папку по её значению path или id.

Warning

Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.

Список папок

GET /v1/folders

Вскоре

Создать папку

POST /v1/folders

Вскоре

Извлечь папку

GET /v1/folders/:id

Вскоре

Обновить папку

PUT /v1/folders/:id

Вскоре

Удалить папку

DELETE /v1/folders/:id

Вскоре

Копировать папку

POST /v1/folders/:id/copy

Вскоре

Убедитесь, что вы следовали инструкциям по настройке вашего домена.

Эти инструкции можно найти по адресу Моя учетная запись → Домены → Настройки → Конфигурация исходящего SMTP. Вам необходимо настроить DKIM, Return-Path и DMARC для отправки исходящих SMTP-сообщений с вашего домена.

Получить лимит исходящей SMTP-почты

Это простая конечная точка, которая возвращает объект JSON, содержащий count и limit для количества ежедневных исходящих SMTP-сообщений для каждой учетной записи.

GET /v1/emails/limit

Пример запроса:

curl https://api.forwardemail.net/v1/emails/limit \
  -u API_TOKEN:

Список исходящих писем SMTP

Обратите внимание, что эта конечная точка не возвращает значения свойств для message, headers и rejectedErrors электронного письма.

Чтобы вернуть эти свойства и их значения, используйте конечную точку Получить электронную почту с идентификатором электронной почты.

GET /v1/emails

Параметры строки запроса Необходимый Тип Описание
q Нет Строка (поддерживается RegExp) Поиск писем по метаданным
domain Нет Строка (поддерживается RegExp) Поиск писем по доменному имени
sort Нет Нить Сортировка по указанному полю (префикс с одним дефисом - используется для сортировки в обратном направлении по этому полю). Если не задано, по умолчанию используется created_at.
page Нет Число Для более подробной информации см. Pagination
limit Нет Число Для более подробной информации см. Pagination

Пример запроса:

curl https://api.forwardemail.net/v1/emails?limit=1 \
  -u API_TOKEN:

Создать исходящее SMTP-сообщение

Наш API для создания электронных писем основан на конфигурации параметров сообщений Nodemailer и использует её. Для всех параметров тела письма ниже используйте Конфигурация сообщения Nodemailer.

Обратите внимание, что мы поддерживаем все параметры Nodemailer, за исключением envelope и dkim (поскольку мы устанавливаем их автоматически). В целях безопасности мы автоматически устанавливаем параметры disableFileAccess и disableUrlAccess в значение true.

Вам следует либо передать единственный параметр raw с необработанным полным письмом, включая заголовки, или передать отдельные параметры тела письма ниже.

Эта конечная точка API будет автоматически кодировать эмодзи, если они будут обнаружены в заголовках (например, тема Subject: 🤓 Hello автоматически преобразуется в Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello). Нашей целью было создать максимально удобный для разработчиков и защищенный от мошенничества API электронной почты.

POST /v1/emails

Параметры тела Необходимый Тип Описание
from Нет Строка (Электронная почта) Адрес электронной почты отправителя (должен существовать как псевдоним домена).
to Нет Строка или массив Список получателей, разделенных запятыми, или массив получателей для заголовка «Кому».
cc Нет Строка или массив Список получателей, разделенных запятыми, или массив для заголовка «Копия».
bcc Нет Строка или массив Список получателей, разделенных запятыми, или массив для заголовка «Скрытая копия».
subject Нет Нить Тема письма.
text Нет Строка или буфер Текстовая версия сообщения.
html Нет Строка или буфер HTML-версия сообщения.
attachments Нет Множество Массив объектов вложений (см. Nodemailer's common fields).
sender Нет Нить Адрес электронной почты для заголовка «Отправитель» (см. Nodemailer's more advanced fields).
replyTo Нет Нить Адрес электронной почты для заголовка «Ответить».
inReplyTo Нет Нить Идентификатор сообщения, на которое отправлено сообщение.
references Нет Строка или массив Список, разделенный пробелами, или массив идентификаторов сообщений.
attachDataUrls Нет Булевое значение Если true, то преобразует изображения data: в HTML-содержимом сообщения во встроенные вложения.
watchHtml Нет Нить HTML-версия сообщения, специфичная для Apple Watch (according to the Nodemailer docs, для последних моделей часов эта настройка не требуется).
amp Нет Нить HTML-версия сообщения, специфичная для AMP4EMAIL (см. Nodemailer's example).
icalEvent Нет Объект Событие iCalendar для использования в качестве альтернативного содержимого сообщения (см. Nodemailer's calendar events).
alternatives Нет Множество Массив альтернативного содержимого сообщения (см. Nodemailer's alternative content).
encoding Нет Нить Кодировка текста и HTML-строк (по умолчанию "utf-8", но также поддерживаются значения кодировки "hex" и "base64").
raw Нет Строка или буфер Специально сгенерированное сообщение в формате RFC822 для использования (вместо сообщения, генерируемого Nodemailer – см. Nodemailer's custom source).
textEncoding Нет Нить Кодировка, которая принудительно используется для текстовых значений ("quoted-printable" или "base64"). Значение по умолчанию — ближайшее обнаруженное значение (для ASCII используйте "quoted-printable").
priority Нет Нить Уровень приоритета для электронного письма (может быть "high", "normal" (по умолчанию) или "low"). Обратите внимание, что значение "normal" не устанавливает заголовок приоритета (это поведение по умолчанию). Если установлено значение "high" или "low", то заголовки X-Priority, X-MSMail-Priority и Importance будут will be set accordingly.
headers Нет Объект или массив Объект или массив дополнительных полей заголовка для установки (см. Nodemailer's custom headers).
messageId Нет Нить Необязательное значение Message-ID для заголовка «Message-ID» (если не указано иное, автоматически будет создано значение по умолчанию — обратите внимание, что значение должно быть adhere to the RFC2822 specification).
date Нет Строка или дата Необязательное значение даты, которое будет использоваться, если заголовок даты отсутствует после анализа. В противном случае, если он не задан, будет использоваться текущая строка UTC. Заголовок даты не может опережать текущее время более чем на 30 дней.
list Нет Объект Необязательный объект заголовков List-* (см. Nodemailer's list headers).

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "raw=`cat file.eml`"

Получить исходящую SMTP-почту

GET /v1/emails/:id

Пример запроса:

curl https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

Удалить исходящее SMTP-сообщение

Удаление письма установит статус "rejected" (и впоследствии не будет обрабатываться в очереди) только в том случае, если текущий статус — "pending", "queued" или "deferred". Мы можем автоматически удалять письма по истечении 30 дней с момента их создания и/или отправки, поэтому вам следует сохранять копии исходящих SMTP-сообщений в вашем клиенте, базе данных или приложении. При желании вы можете использовать значение идентификатора нашего письма в вашей базе данных — это значение возвращается как конечными точками Создать электронное письмо, так и Получить электронную почту.

DELETE /v1/emails/:id

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

Tip

Конечные точки домена с именем /v1/domains/:domain_name взаимозаменяемы с идентификатором домена :domain_id. Это означает, что вы можете ссылаться на домен по его значению name или id.

Список доменов

Note

С 1 ноября 2024 года конечные точки API для Список доменов и Список доменных псевдонимов по умолчанию будут отображать максимальное количество результатов на странице, равное 1000. Если вы хотите заранее включить это поведение, вы можете передать ?paginate=true в качестве дополнительного параметра строки запроса в URL-адрес запроса конечной точки. Подробнее см. в описании Пагинация.

GET /v1/domains

Параметры строки запроса Необходимый Тип Описание
q Нет Строка (поддерживается RegExp) Поиск доменов по имени
name Нет Строка (поддерживается RegExp) Поиск доменов по имени
sort Нет Нить Сортировка по указанному полю (префикс с одним дефисом - используется для сортировки в обратном направлении по этому полю). Если не задано, по умолчанию используется created_at.
page Нет Число Для более подробной информации см. Pagination
limit Нет Число Для более подробной информации см. Pagination

Пример запроса:

curl https://api.forwardemail.net/v1/domains \
  -u API_TOKEN:

Создать домен

POST /v1/domains

Параметры тела Необходимый Тип Описание
domain Да Строка (полное доменное имя или IP) Полное доменное имя («FQDN») или IP-адрес
team_domain Нет Строка (идентификатор домена или имя домена; полное доменное имя) Автоматически назначать этот домен той же команде из другого домена. Это означает, что все участники этого домена будут назначены членами команды, а plan также будет автоматически установлен на team. При необходимости вы можете установить значение "none", чтобы явно отключить эту функцию, но это не обязательно.
plan Нет Строка (перечислимая) Тип плана (должен быть "free", "enhanced_protection" или "team", по умолчанию "free" или текущий платный план пользователя, если он подключен)
catchall Нет Строка (разделенные адреса электронной почты) или логическое значение Создайте псевдоним для сбора всех сообщений по умолчанию, по умолчанию true (если true, в качестве получателя будет использоваться адрес электронной почты пользователя API, а если false, то псевдоним для сбора всех сообщений не будет создан). Если передана строка, то это будет список адресов электронной почты для использования в качестве получателей с разделителями (разделённых переносом строки, пробелом и/или запятой).
has_adult_content_protection Нет Булевое значение Включать ли защиту от контента для взрослых с помощью Spam Scanner на этом домене?
has_phishing_protection Нет Булевое значение Включать ли защиту от фишинга Spam Scanner на этом домене?
has_executable_protection Нет Булевое значение Включать ли защиту исполняемого файла Spam Scanner на этом домене?
has_virus_protection Нет Булевое значение Включать ли антивирусную защиту Spam Scanner на этом домене?
has_recipient_verification Нет Булевое значение Глобальное значение домена по умолчанию, определяющее, требуется ли, чтобы получатели псевдонимов нажимали ссылку для подтверждения адреса электронной почты, чтобы электронные письма проходили через него.
ignore_mx_check Нет Булевое значение Игнорировать ли проверку MX-записи домена для подтверждения подлинности. Это в основном актуально для пользователей с расширенными правилами настройки обмена MX, которым необходимо сохранить существующий обмен MX и перенаправить трафик на наш.
retention_days Нет Число Целое число от 0 до 30, соответствующее количеству дней хранения исходящих SMTP-сообщений после успешной доставки или неустранимой ошибки. Значение по умолчанию — 0, что означает, что исходящие SMTP-сообщения немедленно удаляются и редактируются в целях вашей безопасности.
bounce_webhook Нет Строка (URL) или логическое значение (false) URL-адрес веб-перехватчика http:// или https:// по вашему выбору для отправки веб-перехватов отказов. Мы отправим запрос POST на этот URL-адрес с информацией об исходящих сбоях SMTP (например, о незначительных или существенных сбоях, чтобы вы могли управлять подписчиками и программно управлять исходящей электронной почтой).
max_quota_per_alias Нет Нить Максимальная квота хранилища для псевдонимов этого доменного имени. Введите значение, например «1 ГБ», которое будет обработано bytes.

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/domains \
  -u API_TOKEN: \
  -d domain=example.com \
  -d plan=free

Получить домен

GET /v1/domains/example.com

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

Проверка записей домена

GET /v1/domains/example.com/verify-records

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
  -u API_TOKEN:

Проверка записей SMTP домена

GET /v1/domains/example.com/verify-smtp

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com/verify-smtp \
  -u API_TOKEN:

Вывести список паролей для всего домена

GET /v1/domains/example.com/catch-all-passwords

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Создать пароль для всего домена

POST /v1/domains/example.com/catch-all-passwords

Параметры тела Необходимый Тип Описание
new_password Нет Нить Ваш новый пароль для использования в качестве пароля для всего домена. Обратите внимание: вы можете оставить это поле пустым или вообще не указывать его в теле запроса API, если хотите получить случайно сгенерированный и надёжный пароль.
description Нет Нить Описание приведено исключительно для организационных целей.

Пример запроса:

curl BASE_URL/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Удалить пароль для всех доменов

DELETE /v1/domains/example.com/catch-all-passwords/:token_id

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/catch-all-passwords/:token_id \
  -u API_TOKEN:

Обновить домен

PUT /v1/domains/example.com

Параметры тела Необходимый Тип Описание
smtp_port Нет Строка или число Пользовательский порт для настройки пересылки SMTP (по умолчанию "25")
has_adult_content_protection Нет Булевое значение Включать ли защиту от контента для взрослых с помощью Spam Scanner на этом домене?
has_phishing_protection Нет Булевое значение Включать ли защиту от фишинга Spam Scanner на этом домене?
has_executable_protection Нет Булевое значение Включать ли защиту исполняемого файла Spam Scanner на этом домене?
has_virus_protection Нет Булевое значение Включать ли антивирусную защиту Spam Scanner на этом домене?
has_recipient_verification Нет Булевое значение Глобальное значение домена по умолчанию, определяющее, требуется ли, чтобы получатели псевдонимов нажимали ссылку для подтверждения адреса электронной почты, чтобы электронные письма проходили через него.
ignore_mx_check Нет Булевое значение Игнорировать ли проверку MX-записи домена для подтверждения подлинности. Это в основном актуально для пользователей с расширенными правилами настройки обмена MX, которым необходимо сохранить существующий обмен MX и перенаправить трафик на наш.
retention_days Нет Число Целое число от 0 до 30, соответствующее количеству дней хранения исходящих SMTP-сообщений после успешной доставки или неустранимой ошибки. Значение по умолчанию — 0, что означает, что исходящие SMTP-сообщения немедленно удаляются и редактируются в целях вашей безопасности.
bounce_webhook Нет Строка (URL) или логическое значение (false) URL-адрес веб-перехватчика http:// или https:// по вашему выбору для отправки веб-перехватов отказов. Мы отправим запрос POST на этот URL-адрес с информацией об исходящих сбоях SMTP (например, о незначительных или существенных сбоях, чтобы вы могли управлять подписчиками и программно управлять исходящей электронной почтой).
max_quota_per_alias Нет Нить Максимальная квота хранилища для псевдонимов этого доменного имени. Введите значение, например «1 ГБ», которое будет обработано bytes.

Пример запроса:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

Удалить домен

DELETE /v1/domains/:domain_name

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
  -u API_TOKEN:

Принять приглашение домена

GET /v1/domains/:domain_name/invites

Пример запроса:

curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Создать приглашение на домен

POST /v1/domains/example.com/invites

Параметры тела Необходимый Тип Описание
email Да Строка (Электронная почта) Адрес электронной почты для приглашения в список участников домена
group Да Строка (перечислимая) Группа, к которой необходимо добавить пользователя для членства в домене (может быть "admin" или "user")

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
  -u API_TOKEN: \
  -d "email=user%40gmail.com" \
  -d group=admin

Important

Если приглашаемый пользователь уже является принятым участником любого другого домена, к которому принадлежит приглашающий его администратор, то приглашение будет принято автоматически и не будет отправлено электронное письмо.

Удалить приглашение домена

DELETE /v1/domains/:domain_name/invites

Параметры тела Необходимый Тип Описание
email Да Строка (Электронная почта) Адрес электронной почты, который нужно удалить из списка участников домена

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Обновление члена домена

PUT /v1/domains/example.com/members/:member_id

Параметры тела Необходимый Тип Описание
group Да Строка (перечислимая) Группа для обновления членства пользователя в домене (может быть "admin" или "user")

Пример запроса:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
  -u API_TOKEN:

Удалить участника домена

DELETE /v1/domains/:domain_name/members/:member_id

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
  -u API_TOKEN:

Сгенерировать пароль псевдонима

Обратите внимание: если вы не отправите инструкции по электронной почте, то имя пользователя и пароль будут находиться в теле ответа JSON успешного запроса в формате { username: 'alias@yourdomain.com', password: 'some-generated-password' }.

POST /v1/domains/example.com/aliases/:alias_id/generate-password

Параметры тела Необходимый Тип Описание
new_password Нет Нить Ваш новый пароль для псевдонима. Обратите внимание: вы можете оставить это поле пустым или вообще не указывать его в теле запроса API, если хотите получить случайно сгенерированный и надёжный пароль.
password Нет Нить Существующий пароль для псевдонима для смены пароля без удаления существующего хранилища почтовых ящиков IMAP (см. параметр is_override ниже, если у вас больше нет существующего пароля).
is_override Нет Булевое значение ИСПОЛЬЗУЙТЕ С ОСТОРОЖНОСТЬЮ: Это полностью переопределит существующий пароль и базу данных псевдонима, а также безвозвратно удалит существующее хранилище IMAP и полностью сбросит базу данных электронной почты SQLite псевдонима. Если у вас есть существующий почтовый ящик, привязанный к этому псевдониму, по возможности сделайте резервную копию.
emailed_instructions Нет Нить Адрес электронной почты, на который необходимо отправить пароль псевдонима и инструкции по настройке.

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id/generate-password \
  -u API_TOKEN:

Список псевдонимов домена

Note

С 1 ноября 2024 года конечные точки API для Список доменов и Список доменных псевдонимов по умолчанию будут отображать максимальное количество результатов на странице, равное 1000. Если вы хотите заранее включить это поведение, вы можете передать ?paginate=true в качестве дополнительного параметра строки запроса в URL-адрес запроса конечной точки. Подробнее см. в описании Пагинация.

GET /v1/domains/example.com/aliases

Параметры строки запроса Необходимый Тип Описание
q Нет Строка (поддерживается RegExp) Поиск псевдонимов в домене по имени, метке или получателю
name Нет Строка (поддерживается RegExp) Поиск псевдонимов в домене по имени
recipient Нет Строка (поддерживается RegExp) Поиск псевдонимов в домене по получателю
sort Нет Нить Сортировка по указанному полю (префикс с одним дефисом - используется для сортировки в обратном направлении по этому полю). Если не задано, по умолчанию используется created_at.
page Нет Число Для более подробной информации см. Pagination
limit Нет Число Для более подробной информации см. Pagination

Пример запроса:

curl https://api.forwardemail.net/v1/domains/example.com/aliases?pagination=true \
  -u API_TOKEN:

Создать новый псевдоним домена

POST /v1/domains/example.com/aliases

Параметры тела Необходимый Тип Описание
name Нет Нить Имя псевдонима (если не указано или пусто, то генерируется случайный псевдоним)
recipients Нет Строка или массив Список получателей (должен представлять собой строку или массив действительных адресов электронной почты, полных доменных имен («FQDN»), IP-адресов и/или URL-адресов веб-перехватчиков, разделенных разрывами строк, пробелами или запятыми. Если список не указан или представляет собой пустой массив, в качестве получателя будет указан адрес электронной почты пользователя, отправившего запрос API)
description Нет Нить Описание псевдонима
labels Нет Строка или массив Список меток (должен быть строкой или массивом, разделенным разрывами строки/пробелами/запятыми)
has_recipient_verification Нет Булевое значение Требовать от получателей нажатия ссылки подтверждения адреса электронной почты для доставки писем (по умолчанию используется настройка домена, если явно не указано иное в тексте запроса)
is_enabled Нет Булевое значение Включить или отключить этот псевдоним (если отключено, электронные письма не будут перенаправляться, а будут возвращать коды успешного завершения). Если передано значение, оно преобразуется в логическое с помощью boolean.
error_code_if_disabled Нет Номер (либо 250, 421, либо 550) Входящие письма на этот псевдоним будут отклонены, если is_enabled — это false с 250 (незаметная доставка, например, чёрная дыра или /dev/null), 421 (мягкое отклонение; повторные попытки в течение примерно 5 дней) или 550 (постоянная ошибка и отклонение). По умолчанию — 250.
has_imap Нет Булевое значение Включить или отключить хранилище IMAP для этого псевдонима (если отключено, то полученные входящие письма не будут сохраняться в IMAP storage. Если передается значение, оно преобразуется в логическое значение с помощью boolean)
has_pgp Нет Булевое значение Включить или отключить OpenPGP encryption для IMAP/POP3/CalDAV/CardDAV encrypted email storage с использованием псевдонима public_key.
public_key Нет Нить Открытый ключ OpenPGP в формате ASCII Armor (click here to view an example; например, ключ GPG для support@forwardemail.net). Это применимо только в том случае, если has_pgp установлен на true. Learn more about end-to-end encryption in our FAQ.
max_quota Нет Нить Максимальная квота хранилища для этого псевдонима. Оставьте поле пустым, чтобы сбросить до текущей максимальной квоты домена, или введите значение, например, «1 ГБ», которое будет обработано bytes. Это значение могут изменять только администраторы домена.
vacation_responder_is_enabled Нет Булевое значение Следует ли включить или отключить автоматический автоответчик.
vacation_responder_start_date Нет Нить Дата начала для автоответчика (если включено и дата начала не указана, то предполагается, что автоответчик уже начал работу). Мы поддерживаем такие форматы дат, как MM/DD/YYYY, YYYY-MM-DD и другие, благодаря интеллектуальному анализу с использованием dayjs.
vacation_responder_end_date Нет Нить Дата окончания для автоответчика (если включено и дата окончания не задана, то предполагается, что автоответчик никогда не закончится, и автоответчик будет отвечать всегда). Мы поддерживаем такие форматы дат, как MM/DD/YYYY, YYYY-MM-DD и другие, благодаря интеллектуальному анализу с использованием dayjs.
vacation_responder_subject Нет Нить Тема сообщения в текстовом формате для автоответчика, например, «Нет на месте». Мы используем striptags для удаления всего HTML-кода.
vacation_responder_message Нет Нить Сообщение в виде открытого текста для автоответчика, например: «Меня не будет на работе до февраля». Мы используем striptags для удаления всего HTML-кода.

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
  -u API_TOKEN:

Получить псевдоним домена

Вы можете получить псевдоним домена либо по его значению id, либо по его значению name.

GET /v1/domains/:domain_name/aliases/:alias_id

Пример запроса:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

GET /v1/domains/:domain_name/aliases/:alias_name

Пример запроса:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
  -u API_TOKEN:

Обновить псевдоним домена

PUT /v1/domains/example.com/aliases/:alias_id

Параметры тела Необходимый Тип Описание
name Нет Нить Псевдоним
recipients Нет Строка или массив Список получателей (должен представлять собой строку или массив действительных адресов электронной почты, полных доменных имен («FQDN»), IP-адресов и/или URL-адресов веб-перехватчиков, разделенных разрывами строк, пробелами или запятыми)
description Нет Нить Описание псевдонима
labels Нет Строка или массив Список меток (должен быть строкой или массивом, разделенным разрывами строки/пробелами/запятыми)
has_recipient_verification Нет Булевое значение Требовать от получателей нажатия ссылки подтверждения адреса электронной почты для доставки писем (по умолчанию используется настройка домена, если явно не указано иное в тексте запроса)
is_enabled Нет Булевое значение Включить или отключить этот псевдоним (если отключено, электронные письма не будут перенаправляться, а будут возвращать коды успешного завершения). Если передано значение, оно преобразуется в логическое с помощью boolean.
error_code_if_disabled Нет Номер (либо 250, 421, либо 550) Входящие письма на этот псевдоним будут отклонены, если is_enabled — это false с 250 (незаметная доставка, например, чёрная дыра или /dev/null), 421 (мягкое отклонение; повторные попытки в течение примерно 5 дней) или 550 (постоянная ошибка и отклонение). По умолчанию — 250.
has_imap Нет Булевое значение Включить или отключить хранилище IMAP для этого псевдонима (если отключено, то полученные входящие письма не будут сохраняться в IMAP storage. Если передается значение, оно преобразуется в логическое значение с помощью boolean)
has_pgp Нет Булевое значение Включить или отключить OpenPGP encryption для IMAP/POP3/CalDAV/CardDAV encrypted email storage с использованием псевдонима public_key.
public_key Нет Нить Открытый ключ OpenPGP в формате ASCII Armor (click here to view an example; например, ключ GPG для support@forwardemail.net). Это применимо только в том случае, если has_pgp установлен на true. Learn more about end-to-end encryption in our FAQ.
max_quota Нет Нить Максимальная квота хранилища для этого псевдонима. Оставьте поле пустым, чтобы сбросить до текущей максимальной квоты домена, или введите значение, например, «1 ГБ», которое будет обработано bytes. Это значение могут изменять только администраторы домена.
vacation_responder_is_enabled Нет Булевое значение Следует ли включить или отключить автоматический автоответчик.
vacation_responder_start_date Нет Нить Дата начала для автоответчика (если включено и дата начала не указана, то предполагается, что автоответчик уже начал работу). Мы поддерживаем такие форматы дат, как MM/DD/YYYY, YYYY-MM-DD и другие, благодаря интеллектуальному анализу с использованием dayjs.
vacation_responder_end_date Нет Нить Дата окончания для автоответчика (если включено и дата окончания не задана, то предполагается, что автоответчик никогда не закончится, и автоответчик будет отвечать всегда). Мы поддерживаем такие форматы дат, как MM/DD/YYYY, YYYY-MM-DD и другие, благодаря интеллектуальному анализу с использованием dayjs.
vacation_responder_subject Нет Нить Тема сообщения в текстовом формате для автоответчика, например, «Нет на месте». Мы используем striptags для удаления всего HTML-кода.
vacation_responder_message Нет Нить Сообщение в виде открытого текста для автоответчика, например: «Меня не будет на работе до февраля». Мы используем striptags для удаления всего HTML-кода.

Пример запроса:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
  -u API_TOKEN:

Удалить псевдоним домена

DELETE /v1/domains/:domain_name/aliases/:alias_id

Пример запроса:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

Мы позволяем вам шифровать записи бесплатно даже на бесплатном тарифе. Конфиденциальность не должна быть просто функцией, она должна быть неотъемлемой частью всех аспектов продукта. Мы добавили эту функцию по многочисленным просьбам в Обсуждение руководств по конфиденциальности и наши проблемы с GitHub.

Зашифровать TXT-запись

POST /v1/encrypt

Параметры тела Необходимый Тип Описание
input Да Нить Любая допустимая запись открытого текста TXT для пересылки электронной почты

Пример запроса:

curl -X POST https://api.forwardemail.net/v1/encrypt \
  -d "input=user@gmail.com"