API електронної пошти

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

Мова Бібліотека
Рубі Faraday
Пітон requests
Ява OkHttp
PHP guzzle
JavaScript superagent (ми є відповідальними за обслуговування)
Node.js superagent (ми є відповідальними за обслуговування)
Іти net/http
.NET RestSharp

Поточний базовий шлях URI HTTP: https://api.forwardemail.net.

Усі кінцеві точки вимагають, щоб ваше Ключ API було встановлено як значення "ім'я користувача" заголовка Базова авторизація запиту (за винятком Контакти Alias, Календарі-псевдоніми та Поштові скриньки-псевдоніми, які використовують згенерований псевдонім, ім'я користувача та пароль).

Не хвилюйтеся — нижче наведено приклади, якщо ви не впевнені, що це таке.

Якщо виникнуть будь-які помилки, тіло відповіді API-запиту міститиме детальне повідомлення про помилку.

Код Ім'я
200 OK
400 Неправильний запит
401 Неавторизовано
403 Заборонено
404 Не знайдено
429 Забагато запитів
500 Внутрішня помилка сервера
501 Не реалізовано
502 Поганий шлюз
503 Послуга недоступна
504 Час очікування шлюзу

Tip

Якщо ви отримали код статусу 5xx (чого не повинно траплятися), зв’яжіться з нами за адресою api@forwardemail.net, і ми негайно допоможемо вам вирішити вашу проблему.

Наш сервіс перекладено понад 25 різними мовами. Усі повідомлення відповіді API перекладаються до останньої виявленої локалізації користувача, який робить запит 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 Bree для отримання журналів, коли вам це потрібно. Зверніть увагу, що ця кінцева точка обмежена кількістю запитів 10 на день.

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

GET /v1/logs/download

Параметри рядка запиту Обов'язково Тип Опис
domain Ні Рядок (FQDN) Фільтрувати журнали за повним доменом ("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 для всіх параметрів тіла листа нижче.

Зверніть увагу, що за винятком envelope та dkim (оскільки ми встановлюємо їх автоматично), ми підтримуємо всі опції Nodemailer. З міркувань безпеки ми автоматично встановлюємо для опцій disableFileAccess та disableUrlAccess значення true.

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

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

POST /v1/emails

Параметр тіла Обов'язково Тип Опис
from Ні Рядок (електронна адреса) Адреса електронної пошти відправника (має існувати як псевдонім домену).
to Ні Рядок або масив Список одержувачів, розділених комами, або масив одержувачів для заголовка «Кому».
cc Ні Рядок або масив Список одержувачів, розділених комами, або масив одержувачів для заголовка "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 Так Рядок (FQDN або IP-адреса) Повне доменне ім'я ("FQDN") або IP-адреса
team_domain Ні Рядок (ідентифікатор домену або доменне ім'я; FQDN) Автоматично призначити цей домен тій самій команді з іншого домену. Це означає, що всі учасники з цього домену будуть призначені як учасники команди, а plan також автоматично буде встановлено на team. Ви можете встановити це значення на "none", якщо потрібно явно вимкнути це, але це не обов'язково.
plan Ні Рядок (перелічуваний) Тип плану (має бути "free", "enhanced_protection" або "team", за замовчуванням "free" або поточний платний план користувача, якщо він є)
catchall Ні Рядок (адреси електронної пошти з роздільниками) або логічне значення Створити псевдонім за замовчуванням, за замовчуванням true (якщо true, як одержувач використовуватиметься адреса електронної пошти користувача API, а якщо false, загальний псевдонім створюватися не буде). Якщо передається рядок, то це список адрес електронної пошти, які будуть використовуватися як одержувачі (розділені розривом рядка, пробілом та/або комою).
has_adult_content_protection Ні Булеве значення Чи вмикати захист від контенту для дорослих за допомогою сканера спаму на цьому домені
has_phishing_protection Ні Булеве значення Чи вмикати захист від фішингу за допомогою сканера спаму на цьому домені
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 Ні Булеве значення Чи вмикати захист від контенту для дорослих за допомогою сканера спаму на цьому домені
has_phishing_protection Ні Булеве значення Чи вмикати захист від фішингу за допомогою сканера спаму на цьому домені
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 Так Рядок Будь-який дійсний запис відкритого тексту для пересилання електронної пошти

Приклад запиту:

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