API електронної пошти
Бібліотеки
Наразі ми ще не випустили жодних API-обгорток, але плануємо зробити це найближчим часом. Надішліть електронного листа на адресу api@forwardemail.net, якщо ви хочете отримувати сповіщення про випуск API-обгортки певної мови програмування. Тим часом ви можете використовувати ці рекомендовані бібліотеки HTTP-запитів у своїй програмі або просто використовувати завиток, як у наведених нижче прикладах.
Мова | Бібліотека |
---|---|
Рубі | Faraday |
Пітон | requests |
Ява | OkHttp |
PHP | guzzle |
JavaScript | superagent (ми є відповідальними за обслуговування) |
Node.js | superagent (ми є відповідальними за обслуговування) |
Іти | net/http |
.NET | RestSharp |
Базовий URI
Поточний базовий шлях 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"
Псевдонім контактів (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 для всіх параметрів тіла листа нижче.
Зверніть увагу, що за винятком 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"