E-post API

Just nu har vi ännu inte släppt några API-omslag, men vi planerar att göra det inom en snar framtid. Skicka ett mail till api@forwardemail.net om du vill bli meddelad när ett visst programmeringsspråks API-omslag släpps. Under tiden kan du använda dessa rekommenderade HTTP-förfrågningsbibliotek i din applikation, eller helt enkelt använda ringla som i exemplen nedan.

SpråkBibliotek
RubinFaraday
Pytonormförfrågningar
JavaOkHttp
PHPSUPA
JavaScriptsuperagent (vi är underhållare)
Node.jssuperagent (vi är underhållare)
net / http
.NETRestSharp

Den aktuella HTTP-bas-URI-sökvägen är: https://api.forwardemail.net.

Alla slutpunkter kräver din API-nyckel ställas in som "användarnamn"-värdet för begäran Grundläggande auktorisation rubrik. Oroa dig inte – exempel ges nedan för dig om du inte är säker på vad detta är.

Om några fel uppstår kommer svarstypen för API-begäran att innehålla ett detaljerat felmeddelande.

Kodanamn
200OK
400Dålig förfrågan
401Obehörig
403Förbjuden
404Hittades inte
429För många förfrågningar
500internt serverfel
501Ej implementerad
502Dålig gateway
503Tjänsten är inte tillgänglig
504Gateway Time-out
Dricks: Om du får en 5xx-statuskod (vilket inte borde hända), vänligen kontakta oss på api@forwardemail.net och vi hjälper dig att lösa ditt problem omedelbart.

Vår tjänst är översatt till över 25 olika språk. Alla API-svarsmeddelanden översätts till den senast upptäckta lokalen för användaren som gör API-begäran. Du kan åsidosätta detta genom att skicka en anpassad Accept-Language rubrik. Testa gärna med hjälp av rullgardinsmenyn för språk längst ner på denna sida.

Om du vill bli meddelad när paginering är tillgänglig, vänligen maila api@forwardemail.net.

Hämta loggar

Vårt API låter dig programmässigt ladda ner loggar för ditt konto. Om du skickar en begäran till denna slutpunkt kommer alla loggar för ditt konto att bearbetas och du skickar dem via e-post som en bilaga (Gzip komprimerad CSV kalkylarksfil) när den är klar.

Detta gör att du kan skapa bakgrundsjobb med en Cron jobb eller använder vår Node.js jobbschemaläggningsprogram Bree att ta emot loggar när du vill. Observera att denna slutpunkt är begränsad till 10 förfrågningar per dag.

Bilagan är en gemen form av email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz och själva e-postmeddelandet innehåller en kort sammanfattning av loggarna som hämtats. Du kan också ladda ner loggar när som helst från Mitt konto → Loggar

GET /v1/logs/download

Querystring-parameterNödvändigTypBeskrivning
domainNejSträng (FQDN)Filtrera loggar efter fullständigt kvalificerad domän ("FQDN"). Om du inte anger detta kommer alla loggar över alla domäner att hämtas.
qNejSträngSök efter loggar efter e-post, domän, aliasnamn, IP-adress eller datum (M/Y, M/D/YY, M-D, M-D-YY, eller M.D.YY formatera).

Exempelförfrågan:

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

Exempel på Cron-jobb (vid midnatt varje dag):

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

Observera att du kan använda tjänster som t.ex Crontab.guru för att validera syntaxen för ditt cron-jobbuttryck.

Exempel på Cron-jobb (vid midnatt varje dag och med loggar för föregående dag):

För 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

För Linux och 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

Skapa konto

POST /v1/account

KroppsparameterNödvändigTypBeskrivning
emailJaString (e-post)E-postadress
passwordJaSträngLösenord

Exempelförfrågan:

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

Hämta konto

GET /v1/account

Exempelförfrågan:

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

Uppdatera konto

PUT /v1/account

KroppsparameterNödvändigTypBeskrivning
emailNejString (e-post)E-postadress
given_nameNejSträngFörnamn
family_nameNejSträngEfternamn
avatar_urlNejSträng (URL)Länk till avatarbild

Exempelförfrågan:

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

Se till att du har följt installationsinstruktionerna för din domän. Dessa instruktioner finns på Mitt konto → Domäner → Inställningar → Utgående SMTP-konfiguration. Du måste säkerställa installationen av DKIM, Return-Path och DMARC för att skicka utgående SMTP med din domän.

Lista e-postmeddelanden

Observera att denna slutpunkt inte returnerar ett redan skapat e-postmeddelande message, headers, accepted, inte heller rejectedErrors egenskaper.

För att returnera dessa egenskaper och deras värden, använd Hämta e-post slutpunkt med ett e-post-ID.

Denna slutpunkt kommer som mest tillbaka 50 resultat åt gången. Om du vill fråga efter flera sidor, lägg till ?page=NUMBER var NUMBER är ett heltal, t.ex. ?page=1.

GET /v1/emails

Querystring-parameterNödvändigTypBeskrivning
qNejString (RegExp stöds)Sök efter e-postmeddelanden med metadata
domainNejString (RegExp stöds)Sök efter e-postmeddelanden efter domännamn
pageNejsiffraSida för att returnera resultat (standard är 1)
`gränsNejsiffraAntal resultat per sida att returnera (standard är 50 – max är 50 och minimum är 10)

Exempelförfrågan:

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

Skapa e-post

Vårt API för att skapa ett e-postmeddelande är inspirerat av och utnyttjar Nodemailers meddelandealternativkonfiguration. Vänligen hänvisa till Nodemailer-meddelandekonfiguration för alla kroppsparametrar nedan.

Observera att med undantag för envelope och dkim (eftersom vi ställer in dem automatiskt åt dig) stöder vi alla Nodemailer-alternativ. Vi ställer in automatiskt disableFileAccess och disableUrlAccess alternativ till true av säkerhetsskäl.

Du bör antingen passera det enda alternativet raw med din råa fullständiga e-post inklusive rubriker eller skicka individuella kroppsparameteralternativ nedan.

POST /v1/emails

KroppsparameterNödvändigTypBeskrivning
fromNejString (e-post)Avsändarens e-postadress (måste finnas som ett alias för domänen).
toNejSträng eller arrayKommaseparerad lista eller en matris med mottagare för "Till"-huvudet.
ccNejSträng eller arrayKommaseparerad lista eller en matris med mottagare för "Cc"-huvudet.
bccNejSträng eller arrayKommaseparerad lista eller en matris med mottagare för "Bcc"-huvudet.
subjectNejSträngÄmnet för e-postmeddelandet.
textNejSträng eller buffertKlartextversionen av meddelandet.
htmlNejSträng eller buffertHTML-versionen av meddelandet.
attachmentsNejArrayEn rad bifogade objekt (se Nodemailers vanliga fält).
senderNejSträngE-postadressen för rubriken "Avsändare" (se Nodemailers mer avancerade fält).
replyToNejSträngE-postadressen för rubriken "Svara till".
inReplyToNejSträngMeddelande-id meddelandet är ett svar på.
referencesNejSträng eller arrayMellanrumsseparerad lista eller en uppsättning meddelande-ID:n.
attachDataUrlsNejBooleanOm true konverterar sedan data: bilder i HTML-innehållet i meddelandet till inbäddade bilagor.
watchHtmlNejSträngEn Apple Watch-specifik HTML-version av meddelandet (enligt Nodemailer-dokumenten, de senaste klockorna kräver inte att detta ställs in).
ampNejSträngEn AMP4EMAIL-specifik HTML-version av meddelandet (se Nodemailers exempel).
icalEventNejObjektEn iCalendar-händelse att använda som ett alternativt meddelandeinnehåll (se Nodemailers kalenderhändelser).
alternativesNejArrayEn mängd alternativt meddelandeinnehåll (se Nodemailers alternativa innehåll).
encodingNejSträngKodning för text- och HTML-strängar (standard till "utf-8", men stöder "hex" och "base64" kodningsvärden också).
rawNejSträng eller buffertEtt anpassat genererat RFC822-formaterat meddelande att använda (istället för ett som genereras av Nodemailer – se Nodemailers anpassade källa).
textEncodingNejSträngKodning som tvingas användas för textvärden (antingen "quoted-printable" eller "base64"). Standardvärdet är det närmast detekterade värdet (för ASCII-användning "quoted-printable").
priorityNejSträngPrioritetsnivå för e-postmeddelandet (kan antingen vara "high", "normal" (standard), eller "low"). Observera att ett värde på "normal" anger inte en prioritetsrubrik (detta är standardbeteendet). Om ett värde på "high" eller "low" är inställd, sedan X-Priority, X-MSMail-Priority, och Importance rubriker kommer att ställas in därefter.
headersNejObjekt eller ArrayEtt objekt eller en matris med ytterligare rubrikfält att ställa in (se Nodemailers anpassade rubriker).
messageIdNejSträngEtt valfritt Message-ID-värde för "Message-ID"-huvudet (ett standardvärde skapas automatiskt om det inte har ställts in – observera att värdet ska följa RFC2822-specifikationen).
dateNejSträng eller datumEtt valfritt datumvärde som kommer att användas om datumhuvudet saknas efter analys, annars kommer den aktuella UTC-strängen att användas om den inte har ställts in. Datumhuvudet får inte vara mer än 30 dagar före den aktuella tiden.
listNejObjektEtt valfritt objekt av List-* rubriker (se Nodemailers listrubriker).

Exempelförfrågan:

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"

Exempelförfrågan:

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

Hämta e-post

GET /v1/emails/:id

Exempelförfrågan:

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

Ta bort e-post

Radering av e-post kommer att ställa in statusen till "rejected" (och därefter inte bearbeta det i kön) om och bara om den aktuella statusen är en av "pending", "queued", eller "deferred". Vi kan rensa e-postmeddelanden automatiskt efter 30 dagar efter att de skapades och/eller skickades – därför bör du behålla en kopia av utgående SMTP-e-postmeddelanden i din klient, databas eller applikation. Du kan referera till vårt e-post-ID-värde i din databas om så önskas – detta värde returneras från båda Skapa e-post och Hämta e-post slutpunkter.

DELETE /v1/emails/:id

Exempelförfrågan:

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

Dricks: Domänändpunkter med ett domännamn /v1/domains/:domain_name eftersom deras sökväg är utbytbara med en domäns ID :domain_id. Detta innebär att du kan referera till domänen med antingen dess name eller id värde.

Lista domäner

GET /v1/domains

Querystring-parameterNödvändigTypBeskrivning
qNejString (RegExp stöds)Sök efter domäner efter namn
nameNejString (RegExp stöds)Sök efter domäner efter namn

Exempelförfrågan:

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

Skapa domän

POST /v1/domains

KroppsparameterNödvändigTypBeskrivning
domainJaString (FQDN eller IP)Fullt kvalificerat domännamn ("FQDN") eller IP-adress
planNejSträng (många)Plantyp (måste vara "free", "enhanced_protection", eller "team", har som standard "free" eller användarens nuvarande betalda plan om det finns en)
catchallNejSträng (avgränsade e-postadresser) eller booleskSkapa ett förvalt catch-all-alias, som standard true (om true den kommer att använda API-användarens e-postadress som mottagare, och om false ingen catch-all kommer att skapas). Om en sträng skickas är det en avgränsad lista med e-postadresser som ska användas som mottagare (avgränsade med radbrytning, mellanslag och/eller komma)
has_adult_content_protectionNejBooleanHuruvida skydd av barnförbjudet innehåll ska aktiveras av Spam Scanner på den här domänen
has_phishing_protectionNejBooleanOm du ska aktivera skydd mot nätfiske av skräppostskannern på den här domänen
has_executable_protectionNejBooleanOm körbart skydd ska aktiveras av Spam Scanner på den här domänen
has_virus_protectionNejBooleanOm du vill aktivera skräppostscanner-virusskydd på den här domänen
has_recipient_verificationNejBooleanGlobal domän standard för om aliasmottagare ska behöva klicka på en e-postverifieringslänk för att e-post ska flöda igenom
retention_daysNejsiffraHeltal mellan 0 och 30 som motsvarar antalet lagringsdagar för att lagra utgående SMTP-e-postmeddelanden när de väl har levererats eller blivit permanenta felaktiga. Standard till 0, vilket innebär att utgående SMTP-e-postmeddelanden rensas och redigeras omedelbart för din säkerhet.

Exempelförfrågan:

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

Hämta domän

GET /v1/domains/example.com

Exempelförfrågan:

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

Verifiera domänregister

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

Exempelförfrågan:

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

Uppdatera domän

PUT /v1/domains/example.com

KroppsparameterNödvändigTypBeskrivning
smtp_portNejSträng eller nummerAnpassad port att konfigurera för SMTP-vidarebefordran (standard är "25")
has_adult_content_protectionNejBooleanHuruvida skydd av barnförbjudet innehåll ska aktiveras av Spam Scanner på den här domänen
has_phishing_protectionNejBooleanOm du ska aktivera skydd mot nätfiske av skräppostskannern på den här domänen
has_executable_protectionNejBooleanOm körbart skydd ska aktiveras av Spam Scanner på den här domänen
has_virus_protectionNejBooleanOm du vill aktivera skräppostscanner-virusskydd på den här domänen
has_recipient_verificationNejBooleanGlobal domän standard för om aliasmottagare ska behöva klicka på en e-postverifieringslänk för att e-post ska flöda igenom
retention_daysNejsiffraHeltal mellan 0 och 30 som motsvarar antalet lagringsdagar för att lagra utgående SMTP-e-postmeddelanden när de väl har levererats eller blivit permanenta felaktiga. Standard till 0, vilket innebär att utgående SMTP-e-postmeddelanden rensas och redigeras omedelbart för din säkerhet.

Exempelförfrågan:

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

Radera domän

DELETE /v1/domains/:domain_name

Exempelförfrågan:

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

Acceptera domäninbjudan

GET /v1/domains/:domain_name/invites

Exempelförfrågan:

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

Skapa domäninbjudan

POST /v1/domains/example.com/invites

KroppsparameterNödvändigTypBeskrivning
emailJaString (e-post)E-postadress för att bjuda in till listan med domänmedlemmar
groupJaSträng (många)Grupp att lägga till användaren till domänmedlemskapet med (kan vara en av "admin" eller "user")

Exempelförfrågan:

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

Ta bort domäninbjudan

DELETE /v1/domains/:domain_name/invites

KroppsparameterNödvändigTypBeskrivning
emailJaString (e-post)E-postadress som ska tas bort från listan över domänmedlemmar

Exempelförfrågan:

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

Uppdatera domänmedlem

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

KroppsparameterNödvändigTypBeskrivning
groupJaSträng (många)Grupp att uppdatera användaren till domänmedlemskapet med (kan vara en av "admin" eller "user")

Exempelförfrågan:

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

Ta bort domänmedlem

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

Exempelförfrågan:

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

Lista domänalias

GET /v1/domains/example.com/aliases

Querystring-parameterNödvändigTypBeskrivning
qNejString (RegExp stöds)Sök efter alias i en domän efter namn, etikett eller mottagare
nameNejString (RegExp stöds)Sök efter alias i en domän efter namn
recipientNejString (RegExp stöds)Sök efter alias i en domän efter mottagare

Exempelförfrågan:

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

Skapa nytt domänalias

POST /v1/domains/example.com/aliases

KroppsparameterNödvändigTypBeskrivning
nameNejSträngAliasnamn (om det inte anges eller om det är tomt, genereras ett slumpmässigt alias)
recipientsNejSträng eller arrayLista över mottagare (måste vara radbrytning/mellanslag/kommaseparerad sträng eller matris med giltiga e-postadresser, fullständigt kvalificerade domännamn ("FQDN"), IP-adresser och/eller webbhook-URL:er – och om de inte anges eller är tomma Array, då ställs användarens e-post som gör API-begäran in som mottagare)
descriptionNejSträngAlias beskrivning
labelsNejSträng eller arrayLista över etiketter (måste vara radbrytning / mellanslag / kommaseparerad sträng eller array)
has_recipient_verificationNejBooleanKräv att mottagarna klickar på en e-postverifieringslänk för att e-post ska flöda igenom (standard för domänens inställning om det inte uttryckligen anges i förfrågans brödtext)
is_enabledNejBooleanOm detta alias ska aktiveras eller inaktiveras (om det är inaktiverat kommer e-postmeddelanden att dirigeras ingenstans utan returnera framgångsrika statuskoder). Om ett värde skickas omvandlas det till ett booleskt värde med hjälp av booleskt)
has_imapNejBooleanOm IMAP-lagring ska aktiveras eller inaktiveras för detta alias (om det är inaktiverat kommer inkommande e-postmeddelanden inte att lagras i IMAP-lagring. Om ett värde skickas omvandlas det till ett booleskt värde med hjälp av booleskt)
has_pgpNejBooleanOm du ska aktivera eller inaktivera OpenPGP-kryptering för IMAP/POP3-krypterad e-postlagring använder aliaset public_key.
public_keyNejSträngOpenPGP offentlig nyckel i ASCII Armor-format (klicka här för att se ett exempel; t.ex. GPG-nyckel för support@forwardemail.net). Detta gäller bara om du har has_pgp satt till true. Läs mer om end-to-end-kryptering i vår FAQ.

Exempelförfrågan:

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

Hämta domänalias

Du kan hämta ett domänalias med antingen dess id eller dess name värde.

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

Exempelförfrågan:

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

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

Exempelförfrågan:

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

Uppdatera domänalias

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

KroppsparameterNödvändigTypBeskrivning
nameNejSträngAlias namn
recipientsNejSträng eller arrayLista över mottagare (måste vara radbrytning / mellanslag / kommaseparerad sträng eller array med giltiga e-postadresser, fullt kvalificerade domännamn ("FQDN"), IP-adresser och / eller webbhook-webbadresser)
descriptionNejSträngAlias beskrivning
labelsNejSträng eller arrayLista över etiketter (måste vara radbrytning / mellanslag / kommaseparerad sträng eller array)
has_recipient_verificationNejBooleanKräv att mottagarna klickar på en e-postverifieringslänk för att e-post ska flöda igenom (standard för domänens inställning om det inte uttryckligen anges i förfrågans brödtext)
is_enabledNejBooleanOm du vill aktivera eller inaktivera detta alias (om det är inaktiverat kommer e-postmeddelanden att dirigeras ingenstans men returnera framgångsrika statuskoder)
has_imapNejBooleanOm IMAP-lagring ska aktiveras eller inaktiveras för detta alias (om det är inaktiverat kommer inkommande e-postmeddelanden inte att lagras i IMAP-lagring. Om ett värde skickas omvandlas det till ett booleskt värde med hjälp av booleskt)
has_pgpNejBooleanOm du ska aktivera eller inaktivera OpenPGP-kryptering för IMAP/POP3-krypterad e-postlagring använder aliaset public_key.
public_keyNejSträngOpenPGP offentlig nyckel i ASCII Armor-format (klicka här för att se ett exempel; t.ex. GPG-nyckel för support@forwardemail.net). Detta gäller bara om du har has_pgp satt till true. Läs mer om end-to-end-kryptering i vår FAQ.

Exempelförfrågan:

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

Radera domänalias

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

Exempelförfrågan:

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