Email API

V současné době jsme ještě nevydali žádné obaly API, ale plánujeme tak učinit v blízké budoucnosti. Pošlete e-mail na adresu api@forwardemail.net pokud si přejete být upozorněni na vydání obalu API konkrétního programovacího jazyka. Mezitím můžete ve své aplikaci používat tyto doporučené knihovny požadavků HTTP nebo je jednoduše používat kučera jako v níže uvedených příkladech.

JazykKnihovna
RubínFaraday
Krajtažádosti
JávaOkHttp
PHPžrát
JavaScriptsuperagent (jsme údržbáři)
Node.jssuperagent (jsme údržbáři)
Jítnet / http
.NETRestSharp

Aktuální cesta základního URI HTTP je: https://api.forwardemail.net.

Všechny koncové body vyžadují váš API klíč nastavit jako hodnotu "username" požadavku Základní autorizace záhlaví. Nebojte se – níže jsou uvedeny příklady, pokud si nejste jisti, co to je.

Pokud dojde k chybě, tělo odpovědi požadavku API bude obsahovat podrobnou chybovou zprávu.

Kódnázev
200OK
400Špatný požadavek
401Neoprávněný
403Zakázáno
404Nenalezeno
429Příliš mnoho žádostí
500Interní chyba serveru
501Není implementováno
502Špatná brána
503služba je nedostupná
504Časový limit brány
Spropitné: Pokud obdržíte stavový kód 5xx (což by se nemělo stávat), kontaktujte nás prosím na adrese api@forwardemail.net a my vám pomůžeme váš problém okamžitě vyřešit.

Naše služba je přeložena do více než 25 různých jazyků. Všechny zprávy odpovědí API jsou přeloženy do posledního zjištěného národního prostředí uživatele, který zadává požadavek API. Můžete to přepsat předáním zvyku Accept-Language záhlaví. Neváhejte a vyzkoušejte to pomocí rozbalovací nabídky jazyků v dolní části této stránky.

Pokud chcete být upozorněni, až bude stránkování dostupné, pošlete nám e-mail api@forwardemail.net.

Načíst protokoly

Naše API vám programově umožňuje stahovat protokoly pro váš účet. Odesláním požadavku na tento koncový bod se zpracují všechny protokoly pro váš účet a zašle vám je e-mailem jako přílohu (Gzip stlačený CSV tabulkový soubor) po dokončení.

To vám umožňuje vytvářet úlohy na pozadí s a Cron práce nebo pomocí našeho Node.js software pro plánování úloh Bree přijímat protokoly, kdykoli budete chtít. Všimněte si, že tento koncový bod je omezen na 10 žádostí za den.

Příloha je tvořena malými písmeny email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz a samotný e-mail obsahuje stručné shrnutí získaných protokolů. Záznamy si také můžete kdykoli stáhnout z Můj účet → Protokoly

GET /v1/logs/download

Parametr dotazuPožadovanéTypPopis
domainNeŘetězec (FQDN)Filtrujte protokoly podle plně kvalifikované domény ("FQDN"). Pokud toto nezadáte, budou načteny všechny protokoly ze všech domén.
qNeTětivaVyhledávání protokolů podle e-mailu, domény, názvu aliasu, IP adresy nebo data (M/Y, M/D/YY, M-D, M-D-YYnebo M.D.YY formát).

Příklad požadavku:

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

Příklad úlohy Cron (každý den o půlnoci):

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

Všimněte si, že můžete využívat služby jako např Crontab.guru pro ověření syntaxe výrazu úlohy cron.

Příklad úlohy Cron (každý den o půlnoci a s protokoly za předchozí den):

Pro 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

Pro Linux a 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

Vytvořit účet

POST /v1/account

Parametr tělaPožadovanéTypPopis
emailAnoŘetězec (e-mail)Emailová adresa
passwordAnoTětivaHeslo

Příklad požadavku:

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

Načíst účet

GET /v1/account

Příklad požadavku:

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

Aktualizujte účet

PUT /v1/account

Parametr tělaPožadovanéTypPopis
emailNeŘetězec (e-mail)Emailová adresa
given_nameNeTětivaJméno
family_nameNeTětivaPříjmení
avatar_urlNeŘetězec (URL)Odkaz na obrázek avatar

Příklad požadavku:

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

Ujistěte se, že jste postupovali podle pokynů pro nastavení vaší domény. Tyto pokyny naleznete na Můj účet → Domény → Nastavení → Konfigurace odchozího SMTP. Musíte zajistit nastavení DKIM, Return-Path a DMARC pro odesílání odchozích SMTP s vaší doménou.

Seznam e-mailů

Všimněte si, že tento koncový bod nevrací již vytvořené e-maily message, headers, accepted, ani rejectedErrors vlastnosti.

Chcete-li vrátit tyto vlastnosti a jejich hodnoty, použijte prosím Načíst e-mail koncový bod s e-mailovým ID.

Tento koncový bod se vrátí maximálně 50 výsledky najednou. Pokud se chcete dotazovat na více stránek, přidejte ?page=NUMBER kde NUMBER je celé číslo, např. ?page=1.

GET /v1/emails

Parametr dotazuPožadovanéTypPopis
qNeŘetězec (podporováno RegExp)Vyhledávejte e-maily podle metadat
domainNeŘetězec (podporováno RegExp)Vyhledávejte e-maily podle názvu domény
pageNeČísloStránka pro návrat výsledků (výchozí je 1)
'limitNeČísloPočet výsledků na stránku, které se mají vrátit (výchozí je 50 – maximum je 50 a minimum je 10)

Příklad požadavku:

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

Vytvořit e-mail

Naše API pro vytváření e-mailů je inspirováno a využívá konfiguraci možností zpráv Nodemailer. Prosím odložte na Konfigurace zpráv Nodemailer pro všechny parametry těla níže.

Všimněte si, že s výjimkou envelope a dkim (protože je nastavujeme automaticky za vás), podporujeme všechny možnosti Nodemailer. Nastavíme automaticky disableFileAccess a disableUrlAccess možnosti true pro bezpečnostní účely.

Měli byste buď projít jedinou možností raw s vaším nezpracovaným úplným e-mailem včetně záhlaví nebo předat možnosti jednotlivých parametrů těla níže.

POST /v1/emails

Parametr tělaPožadovanéTypPopis
fromNeŘetězec (e-mail)E-mailová adresa odesílatele (musí existovat jako alias domény).
toNeŘetězec nebo poleČárkami oddělený seznam nebo pole příjemců pro záhlaví „Komu“.
ccNeŘetězec nebo poleČárkami oddělený seznam nebo pole příjemců pro záhlaví „Kopie“.
bccNeŘetězec nebo poleČárkami oddělený seznam nebo pole příjemců pro záhlaví „Skrytá kopie“.
subjectNeTětivaPředmět e-mailu.
textNeŘetězec nebo vyrovnávací paměťVerze zprávy v otevřeném textu.
htmlNeŘetězec nebo vyrovnávací paměťHTML verze zprávy.
attachmentsNePolePole objektů přílohy (viz Společná pole Nodemaileru).
senderNeTětivaE-mailová adresa pro záhlaví „Sender“ (viz Pokročilejší pole Nodemaileru).
replyToNeTětivaE-mailová adresa pro záhlaví „Reply-To“.
inReplyToNeTětivaID zprávy, na kterou zpráva odpovídá.
referencesNeŘetězec nebo poleSeznam oddělený mezerou nebo pole ID zpráv.
attachDataUrlsNeBooleovskýLi true pak konvertuje data: obrázky v obsahu HTML zprávy k vloženým přílohám.
watchHtmlNeTětivaSpecifická HTML verze zprávy pro Apple Watch (podle dokumentů Nodemailer, nejnovější hodinky toto nastavení nevyžadují).
ampNeTětivaVerze zprávy HTML specifická pro AMP4EMAIL (viz Příklad Nodemaileru).
icalEventNeObjektUdálost iCalendar, kterou lze použít jako alternativní obsah zprávy (viz Události kalendáře Nodemailer).
alternativesNePolePole alternativního obsahu zpráv (viz Alternativní obsah Nodemailer).
encodingNeTětivaKódování pro textové a HTML řetězce (výchozí nastavení "utf-8", ale podporuje "hex" a "base64" také hodnoty kódování).
rawNeŘetězec nebo vyrovnávací paměťVlastní vygenerovaná zpráva ve formátu RFC822 k použití (místo zprávy generované Nodemailerem – viz Vlastní zdroj Nodemailer).
textEncodingNeTětivaKódování, které je nuceno používat pro textové hodnoty (buď "quoted-printable" nebo "base64"). Výchozí hodnota je nejbližší zjištěná hodnota (pro použití ASCII "quoted-printable").
priorityNeTětivaÚroveň priority pro e-mail (může být buď "high", "normal" (výchozí), popř "low"). Všimněte si, že hodnota "normal" nenastaví prioritní záhlaví (toto je výchozí chování). Pokud je hodnota "high" nebo "low" je nastaven, pak X-Priority, X-MSMail-Priority, a Importance hlavičky budou podle toho nastaveny.
headersNeObjekt nebo poleObjekt nebo pole dalších polí záhlaví k nastavení (viz Vlastní hlavičky Nodemaileru).
messageIdNeTětivaVolitelná hodnota Message-ID pro hlavičku „Message-ID“ (pokud není nastavena, bude automaticky vytvořena výchozí hodnota – všimněte si, že hodnota by měla dodržovat specifikaci RFC2822).
dateNeŘetězec nebo DatumNepovinná hodnota Date, která se použije, pokud po analýze chybí záhlaví Date, jinak bude použit aktuální řetězec UTC, pokud není nastaven. Záhlaví data nesmí být více než 30 dní před aktuálním časem.
listNeObjektVolitelný objekt List-* hlavičky (viz Záhlaví seznamu Nodemailer).

Příklad požadavku:

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"

Příklad požadavku:

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

Načíst e-mail

GET /v1/emails/:id

Příklad požadavku:

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

Smazat e-mail

Smazáním e-mailu se stav nastaví na "rejected" (a následně jej nezpracovat ve frontě) tehdy a pouze tehdy, pokud je aktuální stav jedním z "pending", "queued"nebo "deferred". E-maily můžeme automaticky vymazat po 30 dnech po jejich vytvoření a/nebo odeslání – proto byste měli uchovávat kopii odchozích e-mailů SMTP ve svém klientovi, databázi nebo aplikaci. V případě potřeby můžete odkazovat na naši hodnotu e-mailového ID ve své databázi – tato hodnota je vrácena z obou Vytvořit e-mail a Načíst e-mail koncové body.

DELETE /v1/emails/:id

Příklad požadavku:

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

Spropitné: Koncové body domény s názvem domény /v1/domains/:domain_name protože jejich cesta je zaměnitelná s ID domény :domain_id. To znamená, že můžete odkazovat na doménu buď její name nebo id hodnota.

Seznam domén

GET /v1/domains

Parametr dotazuPožadovanéTypPopis
qNeŘetězec (podporováno RegExp)Hledejte domény podle jména
nameNeŘetězec (podporováno RegExp)Hledejte domény podle jména

Příklad požadavku:

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

Vytvořit doménu

POST /v1/domains

Parametr tělaPožadovanéTypPopis
domainAnoŘetězec (FQDN nebo IP)Plně kvalifikovaný název domény („FQDN“) nebo adresa IP
planNeŘetězec (počet)Typ plánu (musí být "free", "enhanced_protection"nebo "team", výchozí je "free" nebo aktuální placený plán uživatele, pokud jej má)
catchallNeŘetězec (oddělené e-mailové adresy) nebo logická hodnotaVytvořte výchozí univerzální alias, výchozí hodnota je true (li true jako příjemce použije e-mailovou adresu uživatele API a pokud false nebude vytvořen žádný catch-all). Pokud je předán řetězec, jedná se o oddělený seznam e-mailových adres, které lze použít jako příjemce (oddělené zalomením řádku, mezerou a/nebo čárkou)
has_adult_content_protectionNeBooleovskýZda povolit v této doméně ochranu obsahu pro dospělé Spam Scanner
has_phishing_protectionNeBooleovskýZda povolit ochranu proti phishingu Spam Scanner v této doméně
has_executable_protectionNeBooleovskýZda povolit spustitelnou ochranu Spam Scanner v této doméně
has_virus_protectionNeBooleovskýZda povolit antivirovou ochranu Spam Scanner v této doméně
has_recipient_verificationNeBooleovskýVýchozí nastavení globální domény pro to, zda mají příjemci aliasů vyžadovat, aby klikali na odkaz pro ověření e-mailu, aby mohly e-maily procházet
retention_daysNeČísloCelé číslo mezi 0 a 30 který odpovídá počtu dnů uchování pro ukládání odchozích e-mailů SMTP, jakmile budou úspěšně doručeny nebo jsou trvale chybné. Výchozí na 0, což znamená, že odchozí e-maily SMTP jsou pro vaši bezpečnost okamžitě vyčištěny a redigovány.

Příklad požadavku:

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

Načíst doménu

GET /v1/domains/example.com

Příklad požadavku:

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

Ověřte záznamy domény

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

Příklad požadavku:

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

Aktualizujte doménu

PUT /v1/domains/example.com

Parametr tělaPožadovanéTypPopis
smtp_portNeŘetězec nebo čísloVlastní port pro konfiguraci pro předávání SMTP (výchozí je "25")
has_adult_content_protectionNeBooleovskýZda povolit v této doméně ochranu obsahu pro dospělé Spam Scanner
has_phishing_protectionNeBooleovskýZda povolit ochranu proti phishingu Spam Scanner v této doméně
has_executable_protectionNeBooleovskýZda povolit spustitelnou ochranu Spam Scanner v této doméně
has_virus_protectionNeBooleovskýZda povolit antivirovou ochranu Spam Scanner v této doméně
has_recipient_verificationNeBooleovskýVýchozí nastavení globální domény pro to, zda mají příjemci aliasů vyžadovat, aby klikali na odkaz pro ověření e-mailu, aby mohly e-maily procházet
retention_daysNeČísloCelé číslo mezi 0 a 30 který odpovídá počtu dnů uchování pro ukládání odchozích e-mailů SMTP, jakmile budou úspěšně doručeny nebo jsou trvale chybné. Výchozí na 0, což znamená, že odchozí e-maily SMTP jsou pro vaši bezpečnost okamžitě vyčištěny a redigovány.

Příklad požadavku:

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

Smazat doménu

DELETE /v1/domains/:domain_name

Příklad požadavku:

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

Přijmout pozvání do domény

GET /v1/domains/:domain_name/invites

Příklad požadavku:

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

Vytvořit pozvánku na doménu

POST /v1/domains/example.com/invites

Parametr tělaPožadovanéTypPopis
emailAnoŘetězec (e-mail)E-mailová adresa pro pozvání do seznamu členů domény
groupAnoŘetězec (počet)Skupina pro přidání uživatele do členství v doméně (může to být jedna z "admin" nebo "user")

Příklad požadavku:

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

Odebrat pozvánku na doménu

DELETE /v1/domains/:domain_name/invites

Parametr tělaPožadovanéTypPopis
emailAnoŘetězec (e-mail)E-mailová adresa, kterou chcete odstranit ze seznamu členů domény

Příklad požadavku:

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

Aktualizujte člena domény

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

Parametr tělaPožadovanéTypPopis
groupAnoŘetězec (počet)Skupina pro aktualizaci uživatele na členství v doméně (může to být jedna z "admin" nebo "user")

Příklad požadavku:

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

Odebrat člena domény

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

Příklad požadavku:

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

Vypsat aliasy domén

GET /v1/domains/example.com/aliases

Parametr dotazuPožadovanéTypPopis
qNeŘetězec (podporováno RegExp)Vyhledávejte aliasy v doméně podle názvu, štítku nebo příjemce
nameNeŘetězec (podporováno RegExp)Vyhledejte aliasy v doméně podle názvu
recipientNeŘetězec (podporováno RegExp)Vyhledejte aliasy v doméně podle příjemce

Příklad požadavku:

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

Vytvořit nový alias domény

POST /v1/domains/example.com/aliases

Parametr tělaPožadovanéTypPopis
nameNeTětivaNázev aliasu (pokud není zadán nebo je prázdný, vygeneruje se náhodný alias)
recipientsNeŘetězec nebo poleSeznam příjemců (musí být zalomený řádek/mezera/čárka oddělený řetězec nebo pole platných e-mailových adres, plně kvalifikovaných názvů domén („FQDN“), IP adres a/nebo webhooků URL – a pokud nejsou uvedeny nebo jsou prázdné Array, pak bude jako příjemce nastaven e-mail uživatele, který požadoval API)
descriptionNeTětivaPopis aliasu
labelsNeŘetězec nebo poleSeznam štítků (musí být řetězec oddělený mezerou / mezerou nebo čárkou)
has_recipient_verificationNeBooleovskýPožadovat po příjemcích, aby klikli na odkaz pro ověření e-mailu, aby mohly e-maily projít (výchozí nastavení domény, pokud není výslovně nastaveno v těle požadavku)
is_enabledNeBooleovskýZda povolit nebo zakázat tento alias (pokud je zakázán, e-maily nebudou směrovány nikam, ale vrátí úspěšné stavové kódy). Pokud je hodnota předána, je převedena na booleovskou pomocí booleovský)
has_imapNeBooleovskýZda povolit nebo zakázat úložiště IMAP pro tento alias (pokud je zakázáno, přijaté příchozí e-maily se nebudou ukládat do úložiště IMAP. Pokud je hodnota předána, je převedena na booleovskou pomocí booleovský)
has_pgpNeBooleovskýZda povolit nebo zakázat OpenPGP šifrování pro E-mailové úložiště šifrované IMAP/POP3 pomocí aliasu public_key.
public_keyNeTětivaVeřejný klíč OpenPGP ve formátu ASCII Armor (kliknutím sem zobrazíte příklad; např. GPG klíč pro support@forwardemail.net). To platí pouze v případě, že máte has_pgp nastaven na true. Další informace o end-to-end šifrování naleznete v našich nejčastějších dotazech.

Příklad požadavku:

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

Načíst alias domény

Alias domény můžete načíst buď jeho id nebo jeho name hodnota.

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

Příklad požadavku:

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

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

Příklad požadavku:

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

Aktualizujte alias domény

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

Parametr tělaPožadovanéTypPopis
nameNeTětivaJméno aliasu
recipientsNeŘetězec nebo poleSeznam příjemců (musí být řetězec oddělený mezerou / mezerou / čárkou nebo pole platných e-mailových adres, plně kvalifikovaných doménových jmen („FQDN“), IP adres a / nebo adres URL pro webhook)
descriptionNeTětivaPopis aliasu
labelsNeŘetězec nebo poleSeznam štítků (musí být řetězec oddělený mezerou / mezerou nebo čárkou)
has_recipient_verificationNeBooleovskýPožadovat po příjemcích, aby klikli na odkaz pro ověření e-mailu, aby mohly e-maily projít (výchozí nastavení domény, pokud není výslovně nastaveno v těle požadavku)
is_enabledNeBooleovskýZda povolit nebo zakázat tento alias (pokud je zakázán, e-maily nebudou směrovány nikam, ale vrátí úspěšné stavové kódy)
has_imapNeBooleovskýZda povolit nebo zakázat úložiště IMAP pro tento alias (pokud je zakázáno, přijaté příchozí e-maily se nebudou ukládat do úložiště IMAP. Pokud je hodnota předána, je převedena na booleovskou pomocí booleovský)
has_pgpNeBooleovskýZda povolit nebo zakázat OpenPGP šifrování pro E-mailové úložiště šifrované IMAP/POP3 pomocí aliasu public_key.
public_keyNeTětivaVeřejný klíč OpenPGP ve formátu ASCII Armor (kliknutím sem zobrazíte příklad; např. GPG klíč pro support@forwardemail.net). To platí pouze v případě, že máte has_pgp nastaven na true. Další informace o end-to-end šifrování naleznete v našich nejčastějších dotazech.

Příklad požadavku:

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

Odstranit alias domény

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

Příklad požadavku:

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