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

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

языкБиблиотека
Рубинфарадей
питонЗапросы
ЯваОкHttp
PHPпропивать
JavaScriptSuperAgent (мы сопровождающие)
Node.jsSuperAgent (мы сопровождающие)
Идтинетто / HTTP
.NETRestSharp

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

Все конечные точки требуют вашего ключ API для установки в качестве значения "имя пользователя" запроса Базовая авторизация заголовок. Не беспокойтесь — ниже приведены примеры, если вы не уверены, что это такое.

Если возникают какие-либо ошибки, тело ответа на запрос API будет содержать подробное сообщение об ошибке.

Кодимя
200OK
400Неверный запрос
401неразрешенный
403запрещено
404не обнаружена
429Слишком много запросов
500Внутренняя Ошибка Сервера
501Не реализована
502Плохой шлюз
503Сервис недоступен
504Время ожидания шлюза
Подсказка: Если вы получили код состояния 5xx (чего быть не должно), свяжитесь с нами по адресу api@forwardemail.net и мы поможем вам решить вашу проблему немедленно.

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

Если вы хотите получить уведомление, когда будет доступна нумерация страниц, отправьте письмо по электронной почте. api@forwardemail.net.

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

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"

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

Список адресов электронной почты

Обратите внимание, что эта конечная точка не возвращает уже созданный адрес электронной почты. message, headers, accepted, ни rejectedErrors характеристики.

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

Эта конечная точка вернет не более 50 результаты за раз. Если вы хотите запросить несколько страниц, добавьте ?page=NUMBER где NUMBER является целым числом, например ?page=1.

GET /v1/emails

Параметр QuerystringнеобходимыеТипОписание
qнетString (поддерживается RegExp)Поиск писем по метаданным
domainнетString (поддерживается RegExp)Поиск писем по доменному имени
pageнетЧислоСтраница для возврата результатов (по умолчанию 1)
`ограничениенетЧислоКоличество возвращаемых результатов на страницу (по умолчанию 50 - максимум 50 и минимум 10)

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

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

Создать электронную почту

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

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

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

POST /v1/emails

Параметр теланеобходимыеТипОписание
fromнетСтрока (электронная почта)Адрес электронной почты отправителя (должен существовать как псевдоним домена).
toнетСтрока или МассивСписок, разделенный запятыми, или массив получателей для заголовка «Кому».
ccнетСтрока или МассивСписок, разделенный запятыми, или массив получателей для заголовка «Копия».
bccнетСтрока или МассивСписок, разделенный запятыми, или массив получателей для заголовка «Скрытая копия».
subjectнетстрокаТема письма.
textнетСтрока или буферТекстовая версия сообщения.
htmlнетСтрока или буферHTML-версия сообщения.
attachmentsнетМножествоМассив объектов вложений (см. Общие поля Nodemailer).
senderнетстрокаАдрес электронной почты для заголовка «Отправитель» (см. Дополнительные поля Nodemailer).
replyToнетстрокаАдрес электронной почты для заголовка «Reply-To».
inReplyToнетстрокаMessage-ID, на который отвечает сообщение.
referencesнетСтрока или МассивСписок, разделенный пробелами, или массив идентификаторов сообщений.
attachDataUrlsнетлогическийЕсли true затем преобразует data: изображения в HTML-содержимом сообщения во встроенные вложения.
watchHtmlнетстрокаHTML-версия сообщения для Apple Watch (согласно документам Nodemailer, последние часы не требуют его установки).
ampнетстрокаHTML-версия сообщения для AMP4EMAIL (см. Пример Nodemailer).
icalEventнетОбъектСобытие iCalendar для использования в качестве альтернативного содержимого сообщения (см. События календаря Nodemailer).
alternativesнетМножествоМассив альтернативного содержимого сообщения (см. Альтернативный контент Nodemailer).
encodingнетстрокаКодировка текста и строк HTML (по умолчанию "utf-8", но поддерживает "hex" а также "base64" также значения кодировки).
rawнетСтрока или буферСпециально сгенерированное сообщение в формате RFC822 для использования (вместо сообщения, созданного Nodemailer — см. Пользовательский источник Nodemailer).
textEncodingнетстрокаКодировка, которая принудительно используется для текстовых значений (либо "quoted-printable" или "base64"). Значением по умолчанию является ближайшее обнаруженное значение (для использования ASCII). "quoted-printable").
priorityнетстрокаУровень приоритета для электронной почты (может быть либо "high", "normal" (по умолчанию) или "low"). Обратите внимание, что значение "normal" не устанавливает приоритетный заголовок (это поведение по умолчанию). Если значение "high" или "low" установлен, то X-Priority, X-MSMail-Priority, а также Importance заголовки будет установлено соответственно.
headersнетОбъект или массивОбъект или массив дополнительных полей заголовка для установки (см. Пользовательские заголовки Nodemailer).
messageIdнетстрокаНеобязательное значение Message-ID для заголовка «Message-ID» (значение по умолчанию будет создано автоматически, если оно не задано — обратите внимание, что значение должно придерживаться спецификации RFC2822).
dateнетСтрока или датаНеобязательное значение даты, которое будет использоваться, если заголовок даты отсутствует после синтаксического анализа, в противном случае будет использоваться текущая строка UTC, если она не установлена. Заголовок даты не может опережать текущее время более чем на 30 дней.
listнетОбъектНеобязательный объект List-* заголовки (см. Заголовки списка Nodemailer).

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

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`"

Получить электронную почту

GET /v1/emails/:id

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

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

Удалить электронную почту

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

DELETE /v1/emails/:id

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

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

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

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

GET /v1/domains

Параметр QuerystringнеобходимыеТипОписание
qнетString (поддерживается RegExp)Поиск доменов по имени
nameнетString (поддерживается RegExp)Поиск доменов по имени

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

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

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

POST /v1/domains

Параметр теланеобходимыеТипОписание
domainдаСтрока (FQDN или IP)Полное доменное имя («FQDN») или IP-адрес
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нетлогическийГлобальный домен по умолчанию для того, чтобы требовать, чтобы получатели псевдонимов щелкали ссылку подтверждения электронной почты для прохождения электронных писем.

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

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:

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

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нетлогическийГлобальный домен по умолчанию для того, чтобы требовать, чтобы получатели псевдонимов щелкали ссылку подтверждения электронной почты для прохождения электронных писем.

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

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

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

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:

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

GET /v1/domains/example.com/aliases

Параметр QuerystringнеобходимыеТипОписание
qнетString (поддерживается RegExp)Поиск псевдонимов в домене по имени, ярлыку или получателю
nameнетString (поддерживается RegExp)Искать алиасы в домене по имени
recipientнетString (поддерживается RegExp)Поиск псевдонимов в домене по получателю

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

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

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

POST /v1/domains/example.com/aliases

Параметр теланеобходимыеТипОписание
nameнетстрокаИмя псевдонима (если не указано или пусто, то генерируется случайный псевдоним)
recipientsнетСтрока или МассивСписок получателей (должен быть разделен строкой/пробелом/запятой. Строка или массив действительных адресов электронной почты, полных доменных имен («FQDN»), IP-адресов и/или URL-адресов веб-перехватчиков, а также, если он не указан или является пустым Массив, тогда адрес электронной почты пользователя, отправляющего запрос API, будет установлен в качестве получателя)
descriptionнетстрокаОписание псевдонима
labelsнетСтрока или МассивСписок меток (должен быть через строку / пробел / через запятую, String или Array)
has_recipient_verificationнетлогическийВключить ли требование, чтобы получатели щелкнули ссылку подтверждения электронной почты для прохождения электронной почты (по умолчанию используется настройка домена, если она не указана явно в тексте запроса)
is_enabledнетлогическийСледует ли включить, чтобы отключить этот псевдоним (если он отключен, электронные письма не будут направляться никуда, но будут возвращать успешные коды состояния). По умолчанию true, но если передается значение, оно преобразуется в логическое значение с помощью логический)

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

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нетСтрока или МассивСписок меток (должен быть через строку / пробел / через запятую, String или Array)
has_recipient_verificationнетлогическийВключить ли требование, чтобы получатели щелкнули ссылку подтверждения электронной почты для прохождения электронной почты (по умолчанию используется настройка домена, если она не указана явно в тексте запроса)
is_enabledнетлогическийВключение или отключение этого псевдонима (если этот параметр отключен, электронные письма будут перенаправляться в никуда, но возвращать успешные коды состояния)

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

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: