API e-mail
Librerie
Al momento non abbiamo ancora rilasciato alcun wrapper API, ma prevediamo di farlo a breve. Invia un'email a api@forwardemail.net se desideri essere avvisato quando verrà rilasciato il wrapper API di un particolare linguaggio di programmazione. Nel frattempo, puoi utilizzare queste librerie di richiesta HTTP consigliate nella tua applicazione o semplicemente utilizzare arricciare come negli esempi seguenti.
Lingua | Biblioteca |
---|---|
Rubino | Faraday |
Pitone | requests |
Giava | OkHttp |
PHP | guzzle |
JavaScript | superagent (siamo i manutentori) |
Node.js | superagent (siamo i manutentori) |
Andare | net/http |
.NET | RestSharp |
URI di base
L'attuale percorso URI di base HTTP è: https://api.forwardemail.net
.
Autenticazione
Tutti gli endpoint richiedono che chiave API sia impostato come valore "username" dell'intestazione Autorizzazione di base della richiesta (ad eccezione di Contatti alias, Calendari Alias e Caselle postali alias che utilizzano nome utente e password alias generati).
Non preoccuparti: se non sei sicuro di cosa si tratta, di seguito sono riportati degli esempi.
Errori
Se si verificano errori, il corpo della risposta della richiesta API conterrà un messaggio di errore dettagliato.
Codice | Nome |
---|---|
200 | OK |
400 | Brutta richiesta |
401 | Non autorizzato |
403 | Vietato |
404 | Non trovato |
429 | Troppe richieste |
500 | Errore interno del server |
501 | Non implementato |
502 | Cattivo Gateway |
503 | Servizio non disponibile |
504 | Timeout del gateway |
Tip
Se ricevi un codice di stato 5xx (cosa che non dovrebbe accadere), contattaci all'indirizzo api@forwardemail.net e ti aiuteremo a risolvere immediatamente il problema.
Localizzazione
Il nostro servizio è tradotto in oltre 25 lingue diverse. Tutti i messaggi di risposta API vengono tradotti nell'ultima lingua rilevata dall'utente che effettua la richiesta API. È possibile ignorare questa impostazione passando un'intestazione Accept-Language
personalizzata. Sentitevi liberi di provarla utilizzando il menu a tendina delle lingue in fondo a questa pagina.
Paginazione
Note
Dal 1° novembre 2024, gli endpoint API per Elenca i domini e Elenca gli alias di dominio utilizzeranno per impostazione predefinita il numero massimo di risultati per pagina 1000
. Se desideri attivare questa funzionalità in anticipo, puoi passare ?paginate=true
come parametro querystring aggiuntivo all'URL per la query dell'endpoint.
La paginazione è supportata da tutti gli endpoint API che elencano i risultati.
Basta fornire le proprietà della querystring page
(e facoltativamente limit
).
La proprietà page
deve essere un numero maggiore o uguale a 1
. Se si specifica limit
(anch'esso un numero), il valore minimo è 10
e il massimo è 50
(salvo diversa indicazione).
Parametri della stringa di query | Necessario | Tipo | Descrizione |
---|---|---|---|
page |
NO | Numero | Pagina dei risultati da restituire. Se non specificato, il valore di page sarà 1 . Deve essere un numero maggiore o uguale a 1 . |
limit |
NO | Numero | Numero di risultati da restituire per pagina. Il valore predefinito è 10 se non specificato. Deve essere un numero maggiore o uguale a 1 e minore o uguale a 50 . |
Per determinare se sono disponibili altri risultati, forniamo queste intestazioni di risposta HTTP (che puoi analizzare per effettuare la suddivisione in pagine a livello di programmazione):
Intestazione di risposta HTTP | Esempio | Descrizione |
---|---|---|
X-Page-Count |
X-Page-Count: 3 |
Numero totale di pagine disponibili. |
X-Page-Current |
X-Page-Current: 1 |
La pagina corrente dei risultati restituiti (ad esempio in base al parametro querystring page ). |
X-Page-Size |
X-Page-Size: 10 |
Numero totale di risultati restituiti nella pagina (ad esempio in base al parametro querystring limit e ai risultati effettivamente restituiti). |
X-Item-Count |
X-Item-Count: 30 |
Numero totale di articoli disponibili in tutte le pagine. |
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" |
Forniamo un'intestazione di risposta HTTP Link che puoi analizzare come mostrato nell'esempio. Questa è similar to GitHub (ad esempio, non tutti i valori verranno forniti se non sono pertinenti o disponibili, ad esempio "next" non verrà fornito se non è presente un'altra pagina). |
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com/aliases?page=2&pagination=true \
-u API_TOKEN:
Registra
Recupera i log
La nostra API ti consente di scaricare i log del tuo account in modo programmatico. Inviando una richiesta a questo endpoint, tutti i log del tuo account verranno elaborati e, una volta completata la richiesta, te li invieremo via email come allegato (file di foglio di calcolo compresso Gzip o CSV).
Questo ti consente di creare processi in background con un Cron job o di utilizzare il nostro Software di pianificazione dei lavori Node.js Bree per ricevere i log ogni volta che lo desideri. Tieni presente che questo endpoint è limitato a richieste 10
al giorno.
L'allegato è la versione minuscola di email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz
e l'email stessa contiene un breve riepilogo dei log recuperati. Puoi anche scaricare i log in qualsiasi momento da Il mio account → Registri.
GET /v1/logs/download
Parametri della stringa di query | Necessario | Tipo | Descrizione |
---|---|---|---|
domain |
NO | Stringa (FQDN) | Filtra i log per dominio completo ("FQDN"). Se non lo specifichi, verranno recuperati tutti i log di tutti i domini. |
q |
NO | Corda | Cerca i registri per e-mail, dominio, nome alias, indirizzo IP o data (formato M/Y , M/D/YY , M-D , M-D-YY o M.D.YY ). |
bounce_category |
NO | Corda | Cerca i log in base a una categoria di bounce specifica (ad esempio blocklist ). |
response_code |
NO | Numero | Cerca i log in base a un codice di risposta di errore specifico (ad esempio 421 o 550 ). |
Esempio di richiesta:
curl https://api.forwardemail.net/v1/logs/download \
-u API_TOKEN:
Esempio di Cron job (ogni giorno a mezzanotte):
0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download -u API_TOKEN: &>/dev/null
Tieni presente che puoi utilizzare servizi come Crontab.guru per convalidare la sintassi dell'espressione del tuo cron job.
Esempio di Cron job (ogni giorno a mezzanotte e con i log del giorno precedente):
Per 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
Per Linux e 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
Conto
Crea account
POST /v1/account
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
email |
SÌ | Stringa (email) | Indirizzo e-mail |
password |
SÌ | Corda | Password |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
Recupera account
GET /v1/account
Esempio di richiesta:
curl https://api.forwardemail.net/v1/account \
-u API_TOKEN:
Aggiorna account
PUT /v1/account
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
email |
NO | Stringa (email) | Indirizzo e-mail |
given_name |
NO | Corda | Nome di battesimo |
family_name |
NO | Corda | Cognome |
avatar_url |
NO | Stringa (URL) | Collegamento all'immagine dell'avatar |
Esempio di richiesta:
curl -X PUT https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
Contatti alias (CardDAV)
Note
A differenza di altri endpoint API, questi richiedono Autenticazione "username" uguale al nome utente dell'alias e "password" uguale alla password generata dall'alias come intestazioni di autorizzazione di base.
Warning
Questa sezione dell'endpoint è in fase di sviluppo e verrà rilasciata (si spera) nel 2024. Nel frattempo, si prega di utilizzare un client IMAP dal menu a tendina "App" nel menu di navigazione del nostro sito web.
Elenca i contatti
GET /v1/contacts
Prossimamente
Crea contatto
POST /v1/contacts
Prossimamente
Recupera il contatto
GET /v1/contacts/:id
Prossimamente
Aggiorna contatto
PUT /v1/contacts/:id
Prossimamente
Elimina contatto
DELETE /v1/contacts/:id
Prossimamente
Calendari alias (CalDAV)
Note
A differenza di altri endpoint API, questi richiedono Autenticazione "username" uguale al nome utente dell'alias e "password" uguale alla password generata dall'alias come intestazioni di autorizzazione di base.
Warning
Questa sezione dell'endpoint è in fase di sviluppo e verrà rilasciata (si spera) nel 2024. Nel frattempo, si prega di utilizzare un client IMAP dal menu a tendina "App" nel menu di navigazione del nostro sito web.
Elenca calendari
GET /v1/calendars
Prossimamente
Crea calendario
POST /v1/calendars
Prossimamente
Recupera il calendario
GET /v1/calendars/:id
Prossimamente
Aggiorna calendario
PUT /v1/calendars/:id
Prossimamente
Elimina calendario
DELETE /v1/calendars/:id
Prossimamente
Messaggi alias (IMAP/POP3)
Note
A differenza di altri endpoint API, questi richiedono Autenticazione "username" uguale al nome utente dell'alias e "password" uguale alla password generata dall'alias come intestazioni di autorizzazione di base.
Warning
Questa sezione dell'endpoint è in fase di sviluppo e verrà rilasciata (si spera) nel 2024. Nel frattempo, si prega di utilizzare un client IMAP dal menu a tendina "App" nel menu di navigazione del nostro sito web.
Assicurati di aver seguito le istruzioni di configurazione per il tuo dominio.
Queste istruzioni si trovano nella nostra sezione FAQ Supportate la ricezione di posta elettronica tramite IMAP?.
Elenca e cerca i messaggi
GET /v1/messages
Prossimamente
Crea messaggio
Note
Questo NON invierà un'email, ma aggiungerà semplicemente il messaggio alla cartella della tua casella di posta (ad esempio, è simile al comando IMAP APPEND
). Se desideri inviare un'email, consulta Crea email SMTP in uscita di seguito. Dopo aver creato l'email SMTP in uscita, puoi aggiungerne una copia utilizzando questo endpoint alla casella di posta del tuo alias per scopi di archiviazione.
POST /v1/messages
Prossimamente
Recupera il messaggio
GET /v1/messages/:id
Prossimamente
Aggiorna messaggio
PUT /v1/messages/:id
Prossimamente
Elimina messaggio
DELETE /v1/messages:id
Prossimamente
Cartelle alias (IMAP/POP3)
Tip
Gli endpoint delle cartelle con il percorso /v1/folders/:path
come endpoint sono intercambiabili con l'ID :id
di una cartella. Ciò significa che è possibile fare riferimento alla cartella tramite il suo valore path
o id
.
Warning
Questa sezione dell'endpoint è in fase di sviluppo e verrà rilasciata (si spera) nel 2024. Nel frattempo, si prega di utilizzare un client IMAP dal menu a tendina "App" nel menu di navigazione del nostro sito web.
Elenca cartelle
GET /v1/folders
Prossimamente
Crea cartella
POST /v1/folders
Prossimamente
Recupera la cartella
GET /v1/folders/:id
Prossimamente
Aggiorna cartella
PUT /v1/folders/:id
Prossimamente
Elimina la cartella
DELETE /v1/folders/:id
Prossimamente
Copia cartella
POST /v1/folders/:id/copy
Prossimamente
Email in uscita
Assicurati di aver seguito le istruzioni di configurazione per il tuo dominio.
Queste istruzioni sono disponibili in Il mio account → Domini → Impostazioni → Configurazione SMTP in uscita. È necessario assicurarsi di aver configurato DKIM, Return-Path e DMARC per l'invio di messaggi SMTP in uscita con il proprio dominio.
Ottieni il limite di posta elettronica SMTP in uscita
Si tratta di un endpoint semplice che restituisce un oggetto JSON contenente count
e limit
per il numero di messaggi SMTP in uscita giornalieri per account.
GET /v1/emails/limit
Esempio di richiesta:
curl https://api.forwardemail.net/v1/emails/limit \
-u API_TOKEN:
Elenca le email SMTP in uscita
Si noti che questo endpoint non restituisce valori di proprietà per message
, headers
o rejectedErrors
di un'e-mail.
Per restituire tali proprietà e i relativi valori, utilizzare l'endpoint Recupera email con un ID e-mail.
GET /v1/emails
Parametri della stringa di query | Necessario | Tipo | Descrizione |
---|---|---|---|
q |
NO | Stringa (RegExp supportata) | Cerca email tramite metadati |
domain |
NO | Stringa (RegExp supportata) | Cerca email per nome di dominio |
sort |
NO | Corda | Ordina in base a un campo specifico (anteporre un trattino singolo - per ordinare in senso inverso rispetto a quel campo). Il valore predefinito è created_at se non impostato. |
page |
NO | Numero | Vedi Pagination per maggiori informazioni |
limit |
NO | Numero | Vedi Pagination per maggiori informazioni |
Esempio di richiesta:
curl https://api.forwardemail.net/v1/emails?limit=1 \
-u API_TOKEN:
Crea email SMTP in uscita
La nostra API per la creazione di email si ispira e sfrutta la configurazione delle opzioni di messaggio di Nodemailer. Per tutti i parametri del corpo dell'email, fare riferimento a Configurazione dei messaggi di Nodemailer.
Si noti che, ad eccezione di envelope
e dkim
(poiché le impostiamo automaticamente), supportiamo tutte le opzioni di Nodemailer. Per motivi di sicurezza, le opzioni disableFileAccess
e disableUrlAccess
vengono impostate automaticamente su true
.
Dovresti passare l'unica opzione raw
con la tua email completa, incluse le intestazioni, oppure passare le singole opzioni dei parametri del corpo sottostanti.
Questo endpoint API codificherà automaticamente gli emoji se presenti nelle intestazioni (ad esempio, un oggetto Subject: 🤓 Hello
verrà convertito automaticamente in Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello
). Il nostro obiettivo era creare un'API email estremamente intuitiva per gli sviluppatori e a prova di errore.
POST /v1/emails
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
from |
NO | Stringa (email) | L'indirizzo email del mittente (deve esistere come alias del dominio). |
to |
NO | Stringa o array | Elenco separato da virgole o matrice di destinatari per l'intestazione "A". |
cc |
NO | Stringa o array | Elenco separato da virgole o array di destinatari per l'intestazione "Cc". |
bcc |
NO | Stringa o array | Elenco separato da virgole o array di destinatari per l'intestazione "Ccn". |
subject |
NO | Corda | L'oggetto dell'e-mail. |
text |
NO | Stringa o buffer | La versione in chiaro del messaggio. |
html |
NO | Stringa o buffer | La versione HTML del messaggio. |
attachments |
NO | Vettore | Un array di oggetti allegato (vedere Nodemailer's common fields). |
sender |
NO | Corda | L'indirizzo email per l'intestazione "Mittente" (vedere Nodemailer's more advanced fields). |
replyTo |
NO | Corda | L'indirizzo email per l'intestazione "Rispondi a". |
inReplyTo |
NO | Corda | Message-ID a cui il messaggio risponde. |
references |
NO | Stringa o array | Elenco separato da spazi o array di Message-ID. |
attachDataUrls |
NO | Booleano | Se true converte le immagini data: presenti nel contenuto HTML del messaggio in allegati incorporati. |
watchHtml |
NO | Corda | Una versione HTML del messaggio specifica per Apple Watch (according to the Nodemailer docs, gli orologi più recenti non richiedono questa impostazione). |
amp |
NO | Corda | Una versione HTML specifica di AMP4EMAIL del messaggio (vedere Nodemailer's example). |
icalEvent |
NO | Oggetto | Un evento iCalendar da utilizzare come contenuto alternativo del messaggio (vedere Nodemailer's calendar events). |
alternatives |
NO | Vettore | Un array di contenuti di messaggi alternativi (vedere Nodemailer's alternative content). |
encoding |
NO | Corda | Codifica per il testo e le stringhe HTML (il valore predefinito è "utf-8" , ma supporta anche i valori di codifica "hex" e "base64" ). |
raw |
NO | Stringa o buffer | Un messaggio formattato RFC822 generato su misura da utilizzare (invece di uno generato da Nodemailer, vedere Nodemailer's custom source). |
textEncoding |
NO | Corda | Codifica che viene forzata per i valori di testo ("quoted-printable" o "base64" ). Il valore predefinito è il valore più vicino rilevato (per ASCII utilizzare "quoted-printable" ). |
priority |
NO | Corda | Livello di priorità per l'email (può essere "high" , "normal" (predefinito) o "low" ). Si noti che il valore "normal" non imposta un'intestazione di priorità (questo è il comportamento predefinito). Se si imposta il valore "high" o "low" , le intestazioni X-Priority , X-MSMail-Priority e Importance saranno will be set accordingly. |
headers |
NO | Oggetto o array | Un oggetto o una matrice di campi di intestazione aggiuntivi da impostare (vedere Nodemailer's custom headers). |
messageId |
NO | Corda | Un valore Message-ID facoltativo per l'intestazione "Message-ID" (se non impostato, verrà creato automaticamente un valore predefinito: notare che il valore dovrebbe essere adhere to the RFC2822 specification). |
date |
NO | Stringa o data | Un valore Data facoltativo che verrà utilizzato se l'intestazione Data risulta mancante dopo l'analisi; in caso contrario, verrà utilizzata la stringa UTC corrente se non impostata. L'intestazione Data non può essere anteriore di oltre 30 giorni rispetto all'ora corrente. |
list |
NO | Oggetto | Un oggetto facoltativo di intestazioni List-* (vedere Nodemailer's list headers). |
Esempio di richiesta:
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"
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/emails \
-u API_TOKEN: \
-d "raw=`cat file.eml`"
Recupera email SMTP in uscita
GET /v1/emails/:id
Esempio di richiesta:
curl https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
Elimina email SMTP in uscita
L'eliminazione dell'email imposterà lo stato a "rejected"
(e successivamente non verrà elaborata nella coda) solo se lo stato corrente è "pending"
, "queued"
o "deferred"
. Potremmo eliminare automaticamente le email dopo 30 giorni dalla loro creazione e/o invio, pertanto ti consigliamo di conservare una copia delle email SMTP in uscita nel tuo client, database o applicazione. Se lo desideri, puoi fare riferimento al valore del nostro ID email nel tuo database: questo valore viene restituito da entrambi gli endpoint Crea email e Recupera email.
DELETE /v1/emails/:id
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
Domini
Tip
Gli endpoint di dominio con il nome di dominio /v1/domains/:domain_name
come endpoint sono intercambiabili con l'ID di dominio :domain_id
. Ciò significa che è possibile fare riferimento al dominio tramite il suo valore name
o id
.
Elenca i domini
Note
Dal 1° novembre 2024, gli endpoint API per Elenca i domini e Elenca gli alias di dominio saranno impostati per impostazione predefinita su 1000
, il numero massimo di risultati per pagina. Se desideri attivare questo comportamento in anticipo, puoi passare ?paginate=true
come parametro querystring aggiuntivo all'URL per la query dell'endpoint. Consulta Paginazione per ulteriori informazioni.
GET /v1/domains
Parametri della stringa di query | Necessario | Tipo | Descrizione |
---|---|---|---|
q |
NO | Stringa (RegExp supportata) | Cerca domini per nome |
name |
NO | Stringa (RegExp supportata) | Cerca domini per nome |
sort |
NO | Corda | Ordina in base a un campo specifico (anteporre un trattino singolo - per ordinare in senso inverso rispetto a quel campo). Il valore predefinito è created_at se non impostato. |
page |
NO | Numero | Vedi Pagination per maggiori informazioni |
limit |
NO | Numero | Vedi Pagination per maggiori informazioni |
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains \
-u API_TOKEN:
Crea dominio
POST /v1/domains
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
domain |
SÌ | Stringa (FQDN o IP) | Nome di dominio completo ("FQDN") o indirizzo IP |
team_domain |
NO | Stringa (ID dominio o nome dominio; FQDN) | Assegna automaticamente questo dominio allo stesso team di un altro dominio. Ciò significa che tutti i membri di questo dominio saranno assegnati come membri del team e che plan verrà automaticamente impostato su team . Puoi impostarlo su "none" se necessario per disabilitarlo esplicitamente, ma non è necessario. |
plan |
NO | Stringa (enumerabile) | Tipo di piano (deve essere "free" , "enhanced_protection" o "team" , il valore predefinito è "free" o il piano a pagamento attuale dell'utente, se presente) |
catchall |
NO | Stringa (indirizzi email delimitati) o booleano | Crea un alias predefinito catch-all, il cui valore predefinito è true (se è true utilizzerà l'indirizzo email dell'utente API come destinatario, mentre se è false non verrà creato alcun catch-all). Se viene passata una stringa, si tratta di un elenco delimitato di indirizzi email da utilizzare come destinatari (separati da interruzione di riga, spazio e/o virgola). |
has_adult_content_protection |
NO | Booleano | Se abilitare la protezione dei contenuti per adulti tramite Spam Scanner su questo dominio |
has_phishing_protection |
NO | Booleano | Se abilitare la protezione anti-phishing di Spam Scanner su questo dominio |
has_executable_protection |
NO | Booleano | Se abilitare la protezione eseguibile dello Spam Scanner su questo dominio |
has_virus_protection |
NO | Booleano | Se abilitare la protezione antivirus Spam Scanner su questo dominio |
has_recipient_verification |
NO | Booleano | Impostazione predefinita del dominio globale per richiedere ai destinatari alias di fare clic su un collegamento di verifica e-mail per il flusso di e-mail |
ignore_mx_check |
NO | Booleano | Se ignorare il controllo del record MX sul dominio per la verifica. Questa opzione è rivolta principalmente agli utenti che hanno regole di configurazione MX Exchange avanzate e devono mantenere il proprio MX Exchange esistente e inoltrarlo al nostro. |
retention_days |
NO | Numero | Numero intero compreso tra 0 e 30 che corrisponde al numero di giorni di conservazione per le email SMTP in uscita una volta consegnate correttamente o in caso di errore permanente. Il valore predefinito è 0 , il che significa che le email SMTP in uscita vengono eliminate e redatte immediatamente per la tua sicurezza. |
bounce_webhook |
NO | Stringa (URL) o Booleano (falso) | L'URL del webhook http:// o https:// di tua scelta a cui inviare i webhook di bounce. Invieremo una richiesta POST a questo URL con informazioni sugli errori SMTP in uscita (ad esempio, errori soft o hard, in modo che tu possa gestire i tuoi iscritti e gestire programmaticamente le email in uscita). |
max_quota_per_alias |
NO | Corda | Quota massima di archiviazione per gli alias su questo nome di dominio. Inserisci un valore come "1 GB" che verrà analizzato da bytes. |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/domains \
-u API_TOKEN: \
-d domain=example.com \
-d plan=free
Recupera il dominio
GET /v1/domains/example.com
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
Verifica i record del dominio
GET /v1/domains/example.com/verify-records
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
-u API_TOKEN:
Verifica i record SMTP del dominio
GET /v1/domains/example.com/verify-smtp
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com/verify-smtp \
-u API_TOKEN:
Elenca le password catch-all dell'intero dominio
GET /v1/domains/example.com/catch-all-passwords
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com/catch-all-passwords \
-u API_TOKEN:
Crea una password catch-all per l'intero dominio
POST /v1/domains/example.com/catch-all-passwords
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
new_password |
NO | Corda | La tua nuova password personalizzata da utilizzare come password generale per l'intero dominio. Nota che puoi lasciare questo campo vuoto o addirittura ometterlo del tutto dal corpo della richiesta API se desideri ottenere una password generata casualmente e complessa. |
description |
NO | Corda | Descrizione solo a scopo organizzativo. |
Esempio di richiesta:
curl BASE_URL/v1/domains/example.com/catch-all-passwords \
-u API_TOKEN:
Rimuovi la password catch-all per l'intero dominio
DELETE /v1/domains/example.com/catch-all-passwords/:token_id
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/catch-all-passwords/:token_id \
-u API_TOKEN:
Aggiorna dominio
PUT /v1/domains/example.com
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
smtp_port |
NO | Stringa o numero | Porta personalizzata da configurare per l'inoltro SMTP (il valore predefinito è "25" ) |
has_adult_content_protection |
NO | Booleano | Se abilitare la protezione dei contenuti per adulti tramite Spam Scanner su questo dominio |
has_phishing_protection |
NO | Booleano | Se abilitare la protezione anti-phishing di Spam Scanner su questo dominio |
has_executable_protection |
NO | Booleano | Se abilitare la protezione eseguibile dello Spam Scanner su questo dominio |
has_virus_protection |
NO | Booleano | Se abilitare la protezione antivirus Spam Scanner su questo dominio |
has_recipient_verification |
NO | Booleano | Impostazione predefinita del dominio globale per richiedere ai destinatari alias di fare clic su un collegamento di verifica e-mail per il flusso di e-mail |
ignore_mx_check |
NO | Booleano | Se ignorare il controllo del record MX sul dominio per la verifica. Questa opzione è rivolta principalmente agli utenti che hanno regole di configurazione MX Exchange avanzate e devono mantenere il proprio MX Exchange esistente e inoltrarlo al nostro. |
retention_days |
NO | Numero | Numero intero compreso tra 0 e 30 che corrisponde al numero di giorni di conservazione per le email SMTP in uscita una volta consegnate correttamente o in caso di errore permanente. Il valore predefinito è 0 , il che significa che le email SMTP in uscita vengono eliminate e redatte immediatamente per la tua sicurezza. |
bounce_webhook |
NO | Stringa (URL) o Booleano (falso) | L'URL del webhook http:// o https:// di tua scelta a cui inviare i webhook di bounce. Invieremo una richiesta POST a questo URL con informazioni sugli errori SMTP in uscita (ad esempio, errori soft o hard, in modo che tu possa gestire i tuoi iscritti e gestire programmaticamente le email in uscita). |
max_quota_per_alias |
NO | Corda | Quota massima di archiviazione per gli alias su questo nome di dominio. Inserisci un valore come "1 GB" che verrà analizzato da bytes. |
Esempio di richiesta:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
Elimina il dominio
DELETE /v1/domains/:domain_name
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
-u API_TOKEN:
Invita
Accetta l'invito al dominio
GET /v1/domains/:domain_name/invites
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
Crea invito al dominio
POST /v1/domains/example.com/invites
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
email |
SÌ | Stringa (email) | Indirizzo email per invitare all'elenco dei membri del dominio |
group |
SÌ | Stringa (enumerabile) | Gruppo a cui aggiungere l'utente all'appartenenza al dominio (può essere uno tra "admin" o "user" ) |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
-u API_TOKEN: \
-d "email=user%40gmail.com" \
-d group=admin
Important
Se l'utente invitato è già un membro accettato di uno qualsiasi degli altri domini di cui l'amministratore che lo invita è membro, l'invito verrà accettato automaticamente e non verrà inviata alcuna email.
Rimuovi invito al dominio
DELETE /v1/domains/:domain_name/invites
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
email |
SÌ | Stringa (email) | Indirizzo email da rimuovere dall'elenco dei membri del dominio |
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
Membri
Aggiorna il membro del dominio
PUT /v1/domains/example.com/members/:member_id
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
group |
SÌ | Stringa (enumerabile) | Gruppo per aggiornare l'utente all'appartenenza al dominio (può essere uno tra "admin" o "user" ) |
Esempio di richiesta:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
-u API_TOKEN:
Rimuovi membro del dominio
DELETE /v1/domains/:domain_name/members/:member_id
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
-u API_TOKEN:
Alias
Genera una password alias
Tieni presente che se non invii istruzioni tramite e-mail, il nome utente e la password saranno presenti nel corpo della risposta JSON di una richiesta riuscita nel formato { username: 'alias@yourdomain.com', password: 'some-generated-password' }
.
POST /v1/domains/example.com/aliases/:alias_id/generate-password
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
new_password |
NO | Corda | La tua nuova password personalizzata da utilizzare per l'alias. Nota che puoi lasciare questo campo vuoto o addirittura ometterlo dal corpo della richiesta API se desideri ottenere una password generata casualmente e complessa. |
password |
NO | Corda | Password esistente per l'alias per modificare la password senza eliminare l'archivio della casella di posta IMAP esistente (vedere l'opzione is_override di seguito se non si dispone più della password esistente). |
is_override |
NO | Booleano | USARE CON CAUTELA: Questo sovrascriverà completamente la password e il database dell'alias esistenti, eliminerà definitivamente l'archiviazione IMAP esistente e reimposterà completamente il database email SQLite dell'alias. Si prega di eseguire un backup, se possibile, se si dispone di una casella di posta associata a questo alias. |
emailed_instructions |
NO | Corda | Indirizzo email a cui inviare la password dell'alias e le istruzioni di configurazione. |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id/generate-password \
-u API_TOKEN:
Elenca gli alias di dominio
Note
Dal 1° novembre 2024, gli endpoint API per Elenca i domini e Elenca gli alias di dominio saranno impostati per impostazione predefinita su 1000
, il numero massimo di risultati per pagina. Se desideri attivare questo comportamento in anticipo, puoi passare ?paginate=true
come parametro querystring aggiuntivo all'URL per la query dell'endpoint. Consulta Paginazione per ulteriori informazioni.
GET /v1/domains/example.com/aliases
Parametri della stringa di query | Necessario | Tipo | Descrizione |
---|---|---|---|
q |
NO | Stringa (RegExp supportata) | Cerca alias in un dominio per nome, etichetta o destinatario |
name |
NO | Stringa (RegExp supportata) | Cerca alias in un dominio per nome |
recipient |
NO | Stringa (RegExp supportata) | Cerca alias in un dominio per destinatario |
sort |
NO | Corda | Ordina in base a un campo specifico (anteporre un trattino singolo - per ordinare in senso inverso rispetto a quel campo). Il valore predefinito è created_at se non impostato. |
page |
NO | Numero | Vedi Pagination per maggiori informazioni |
limit |
NO | Numero | Vedi Pagination per maggiori informazioni |
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/example.com/aliases?pagination=true \
-u API_TOKEN:
Crea un nuovo alias di dominio
POST /v1/domains/example.com/aliases
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
name |
NO | Corda | Nome alias (se non fornito o vuoto, viene generato un alias casuale) |
recipients |
NO | Stringa o array | Elenco dei destinatari (deve essere una stringa o un array di indirizzi email validi, nomi di dominio completamente qualificati ("FQDN"), indirizzi IP e/o URL webhook separati da interruzione di riga/spazio/virgola. Se non specificato o è un array vuoto, l'indirizzo email dell'utente che effettua la richiesta API verrà impostato come destinatario). |
description |
NO | Corda | Descrizione dell'alias |
labels |
NO | Stringa o array | Elenco delle etichette (devono essere stringhe o array separati da interruzione di riga/spazio/virgola) |
has_recipient_verification |
NO | Booleano | Richiedi ai destinatari di fare clic su un collegamento di verifica dell'e-mail affinché le e-mail possano essere inoltrate (per impostazione predefinita, si applica l'impostazione del dominio, se non è impostata in modo esplicito nel corpo della richiesta) |
is_enabled |
NO | Booleano | Abilitare o disabilitare questo alias (se disabilitato, le email non verranno indirizzate a nessuna destinazione, ma restituiranno codici di stato di esito positivo). Se viene passato un valore, questo viene convertito in un valore booleano utilizzando boolean). |
error_code_if_disabled |
NO | Numero (250 , 421 o 550 ) |
Le email in arrivo a questo alias verranno rifiutate se is_enabled è false con 250 (invio silenzioso, ad esempio blackhole o /dev/null ), 421 (rifiuto soft; e nuovo tentativo fino a ~5 giorni) o 550 errore permanente e rifiuto. Il valore predefinito è 250 . |
has_imap |
NO | Booleano | Abilitare o disabilitare l'archiviazione IMAP per questo alias (se disabilitata, le email in entrata ricevute non verranno archiviate in IMAP storage. Se viene passato un valore, questo viene convertito in un valore booleano utilizzando boolean) |
has_pgp |
NO | Booleano | Se abilitare o disabilitare OpenPGP encryption per IMAP/POP3/CalDAV/CardDAV encrypted email storage utilizzando l'alias public_key . |
public_key |
NO | Corda | Chiave pubblica OpenPGP in formato ASCII Armor (click here to view an example; ad esempio chiave GPG per support@forwardemail.net ). Questo si applica solo se has_pgp è impostato su true . Learn more about end-to-end encryption in our FAQ. |
max_quota |
NO | Corda | Quota massima di archiviazione per questo alias. Lasciare vuoto per reimpostare la quota massima corrente del dominio oppure inserire un valore come "1 GB" che verrà analizzato da bytes. Questo valore può essere modificato solo dagli amministratori del dominio. |
vacation_responder_is_enabled |
NO | Booleano | Se abilitare o disabilitare un risponditore automatico. |
vacation_responder_start_date |
NO | Corda | Data di inizio per il risponditore automatico (se abilitato e non è impostata una data di inizio, si presume che sia già iniziato). Supportiamo formati di data come MM/DD/YYYY , YYYY-MM-DD e altri formati di data tramite analisi intelligente con dayjs . |
vacation_responder_end_date |
NO | Corda | Data di fine per il risponditore automatico (se abilitato e non impostato qui, si presume che non termini mai e risponda per sempre). Supportiamo formati di data come MM/DD/YYYY , YYYY-MM-DD e altri formati di data tramite analisi intelligente con dayjs . |
vacation_responder_subject |
NO | Corda | Oggetto in testo normale per il risponditore automatico, ad esempio "Fuori sede". Utilizziamo striptags per rimuovere tutto il codice HTML. |
vacation_responder_message |
NO | Corda | Messaggio in chiaro per il risponditore automatico, ad esempio "Sarò fuori ufficio fino a febbraio". Utilizziamo striptags per rimuovere tutto l'HTML qui. |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
-u API_TOKEN:
Recupera l'alias del dominio
È possibile recuperare un alias di dominio tramite il suo valore id
o name
.
GET /v1/domains/:domain_name/aliases/:alias_id
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN:
GET /v1/domains/:domain_name/aliases/:alias_name
Esempio di richiesta:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
-u API_TOKEN:
Aggiorna l'alias del dominio
PUT /v1/domains/example.com/aliases/:alias_id
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
name |
NO | Corda | Nome alias |
recipients |
NO | Stringa o array | Elenco dei destinatari (deve essere una stringa o un array di indirizzi e-mail validi, nomi di dominio completi ("FQDN"), indirizzi IP e/o URL webhook separati da interruzione di riga/spazio/virgola) |
description |
NO | Corda | Descrizione dell'alias |
labels |
NO | Stringa o array | Elenco delle etichette (devono essere stringhe o array separati da interruzione di riga/spazio/virgola) |
has_recipient_verification |
NO | Booleano | Richiedi ai destinatari di fare clic su un collegamento di verifica dell'e-mail affinché le e-mail possano essere inoltrate (per impostazione predefinita, si applica l'impostazione del dominio, se non è impostata in modo esplicito nel corpo della richiesta) |
is_enabled |
NO | Booleano | Abilitare o disabilitare questo alias (se disabilitato, le email non verranno indirizzate a nessuna destinazione, ma restituiranno codici di stato di esito positivo). Se viene passato un valore, questo viene convertito in un valore booleano utilizzando boolean). |
error_code_if_disabled |
NO | Numero (250 , 421 o 550 ) |
Le email in arrivo a questo alias verranno rifiutate se is_enabled è false con 250 (invio silenzioso, ad esempio blackhole o /dev/null ), 421 (rifiuto soft; e nuovo tentativo fino a ~5 giorni) o 550 errore permanente e rifiuto. Il valore predefinito è 250 . |
has_imap |
NO | Booleano | Abilitare o disabilitare l'archiviazione IMAP per questo alias (se disabilitata, le email in entrata ricevute non verranno archiviate in IMAP storage. Se viene passato un valore, questo viene convertito in un valore booleano utilizzando boolean) |
has_pgp |
NO | Booleano | Se abilitare o disabilitare OpenPGP encryption per IMAP/POP3/CalDAV/CardDAV encrypted email storage utilizzando l'alias public_key . |
public_key |
NO | Corda | Chiave pubblica OpenPGP in formato ASCII Armor (click here to view an example; ad esempio chiave GPG per support@forwardemail.net ). Questo si applica solo se has_pgp è impostato su true . Learn more about end-to-end encryption in our FAQ. |
max_quota |
NO | Corda | Quota massima di archiviazione per questo alias. Lasciare vuoto per reimpostare la quota massima corrente del dominio oppure inserire un valore come "1 GB" che verrà analizzato da bytes. Questo valore può essere modificato solo dagli amministratori del dominio. |
vacation_responder_is_enabled |
NO | Booleano | Se abilitare o disabilitare un risponditore automatico. |
vacation_responder_start_date |
NO | Corda | Data di inizio per il risponditore automatico (se abilitato e non è impostata una data di inizio, si presume che sia già iniziato). Supportiamo formati di data come MM/DD/YYYY , YYYY-MM-DD e altri formati di data tramite analisi intelligente con dayjs . |
vacation_responder_end_date |
NO | Corda | Data di fine per il risponditore automatico (se abilitato e non impostato qui, si presume che non termini mai e risponda per sempre). Supportiamo formati di data come MM/DD/YYYY , YYYY-MM-DD e altri formati di data tramite analisi intelligente con dayjs . |
vacation_responder_subject |
NO | Corda | Oggetto in testo normale per il risponditore automatico, ad esempio "Fuori sede". Utilizziamo striptags per rimuovere tutto il codice HTML. |
vacation_responder_message |
NO | Corda | Messaggio in chiaro per il risponditore automatico, ad esempio "Sarò fuori ufficio fino a febbraio". Utilizziamo striptags per rimuovere tutto l'HTML qui. |
Esempio di richiesta:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
-u API_TOKEN:
Elimina l'alias di dominio
DELETE /v1/domains/:domain_name/aliases/:alias_id
Esempio di richiesta:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN:
Crittografa
Ti consentiamo di crittografare i record anche con il piano gratuito, senza alcun costo. La privacy non dovrebbe essere una funzionalità, ma dovrebbe essere integrata in tutti gli aspetti di un prodotto. Come richiesto a gran voce in Discussione sulle guide sulla privacy e in i nostri problemi su GitHub, abbiamo aggiunto questa funzionalità.
Crittografa il record TXT
POST /v1/encrypt
Parametro corporeo | Necessario | Tipo | Descrizione |
---|---|---|---|
input |
SÌ | Corda | Qualsiasi record TXT in chiaro di Inoltra e-mail valido |
Esempio di richiesta:
curl -X POST https://api.forwardemail.net/v1/encrypt \
-d "input=user@gmail.com"