API электронной почты
Библиотеки
На данный момент мы ещё не выпустили API-обёртки, но планируем сделать это в ближайшем будущем. Если вы хотите получать уведомления о выпуске API-обёртки для определённого языка программирования, отправьте письмо на адрес api@forwardemail.net. Пока же вы можете использовать эти рекомендуемые библиотеки HTTP-запросов в своём приложении или просто использовать завиток, как в примерах ниже.
Язык | Библиотека |
---|---|
Руби | Faraday |
Питон | requests |
Ява | OkHttp |
PHP | guzzle |
JavaScript | superagent (мы поддерживаем) |
Node.js | superagent (мы поддерживаем) |
Идти | net/http |
.NET | RestSharp |
Базовый URI
Текущий базовый путь 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"
Псевдонимы контактов (CardDAV)
Note
В отличие от других конечных точек API, для этих заголовков базовой авторизации Аутентификация требуется «имя пользователя», равное имени пользователя псевдонима, и «пароль», равный паролю, сгенерированному псевдонимом.
Warning
Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.
Список контактов
GET /v1/contacts
Вскоре
Создать контакт
POST /v1/contacts
Вскоре
Получить контакт
GET /v1/contacts/:id
Вскоре
Обновить контакт
PUT /v1/contacts/:id
Вскоре
Удалить контакт
DELETE /v1/contacts/:id
Вскоре
Псевдонимы календарей (CalDAV)
Note
В отличие от других конечных точек API, для этих заголовков базовой авторизации Аутентификация требуется «имя пользователя», равное имени пользователя псевдонима, и «пароль», равный паролю, сгенерированному псевдонимом.
Warning
Этот раздел конечных точек находится в стадии разработки и будет выпущен (надеюсь) в 2024 году. Пока же используйте IMAP-клиент из раскрывающегося списка «Приложения» в навигации нашего сайта.
Список календарей
GET /v1/calendars
Вскоре
Создать календарь
POST /v1/calendars
Вскоре
Получить календарь
GET /v1/calendars/:id
Вскоре
Обновление календаря
PUT /v1/calendars/:id
Вскоре
Удалить календарь
DELETE /v1/calendars/:id
Вскоре
Сообщения псевдонима (IMAP/POP3)
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
Вскоре
Псевдонимы папок (IMAP/POP3)
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"