- Page de recherche
- Table des matières
API de messagerie
Bibliothèques
À l'heure actuelle, nous n'avons pas encore publié de wrappers d'API, mais nous prévoyons de le faire dans un proche avenir. Envoyer un courriel à api@forwardemail.net si vous souhaitez être averti lorsque le wrapper API d'un langage de programmation particulier est publié. En attendant, vous pouvez utiliser ces bibliothèques de requêtes HTTP recommandées dans votre application, ou simplement utiliser boucle comme dans les exemples ci-dessous.
Langue | Bibliothèque |
---|---|
Rubis | Faraday |
Python | demandes |
Java | OkHttp |
PHP | bouffer |
Javascript | super-agent (nous sommes mainteneurs) |
Node.js | super-agent (nous sommes mainteneurs) |
Aller | net / http |
.NET | ResteSharp |
URI de base
Le chemin URI de base HTTP actuel est : https://api.forwardemail.net
.
Authentification
Tous les terminaux nécessitent votre Clé API à définir comme valeur "nom d'utilisateur" de la requête Autorisation de base entête. Ne vous inquiétez pas - des exemples sont fournis ci-dessous pour vous si vous n'êtes pas sûr de ce que c'est.
les erreurs
Si des erreurs se produisent, le corps de la réponse de la requête API contiendra un message d'erreur détaillé.
Code | Nom |
---|---|
200 | OK |
400 | Mauvaise Demande |
401 | Non autorisé |
403 | Interdit |
404 | Pas trouvé |
429 | Trop de demandes |
500 | Erreur Interne du Serveur |
501 | Pas mis en œuvre |
502 | Mauvaise passerelle |
503 | Service indisponible |
504 | Délai d'expiration de la passerelle |
Localisation
Notre service est traduit dans plus de 25 langues différentes. Tous les messages de réponse de l'API sont traduits dans les derniers paramètres régionaux détectés de l'utilisateur effectuant la demande d'API. Vous pouvez remplacer cela en passant un personnalisé Accept-Language
entête. N'hésitez pas à l'essayer en utilisant la liste déroulante des langues au bas de cette page.
Pagination
Si vous souhaitez être averti lorsque la pagination est disponible, veuillez envoyer un e-mail api@forwardemail.net.
Compte
Créer un compte
POST /v1/account
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
email | Oui | Chaîne (e-mail) | Adresse électronique |
password | Oui | Chaîne | Mot de passe |
Exemple de demande:
curl -X POST https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
Récupérer le compte
GET /v1/account
Exemple de demande:
curl https://api.forwardemail.net/v1/account \
-u API_TOKEN:
Compte mis à jour
PUT /v1/account
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
email | Non | Chaîne (e-mail) | Adresse électronique |
given_name | Non | Chaîne | Prénom |
family_name | Non | Chaîne | Nom de famille |
avatar_url | Non | Chaîne (URL) | Lien vers l'image de l'avatar |
Exemple de demande:
curl -X PUT https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
E-mails
Veuillez vous assurer que vous avez suivi les instructions de configuration de votre domaine. Ces instructions se trouvent sur Mon compte → Domaines → Paramètres → Configuration SMTP sortant. Vous devez vous assurer de la configuration de DKIM, Return-Path et DMARC pour l'envoi de SMTP sortant avec votre domaine.
Lister les e-mails
Notez que ce point de terminaison ne renvoie pas un e-mail déjà créé message
, headers
, accepted
, ni rejectedErrors
propriétés.
Pour renvoyer ces propriétés et leurs valeurs, veuillez utiliser le Récupérer l'e-mail point de terminaison avec un identifiant de messagerie.
Ce point de terminaison renverra au maximum 50
résultats à la fois. Si vous souhaitez interroger plusieurs pages, ajoutez ?page=NUMBER
où NUMBER
est un entier, par ex. ?page=1
.
GET /v1/emails
Paramètre de chaîne de requête | Obligatoire | Taper | La description |
---|---|---|---|
q | Non | Chaîne (RegExp pris en charge) | Rechercher des e-mails par métadonnées |
domain | Non | Chaîne (RegExp pris en charge) | Rechercher des e-mails par nom de domaine |
page | Non | Nombre | Page de retour des résultats (la valeur par défaut est 1 ) |
`limite | Non | Nombre | Nombre de résultats par page à renvoyer (la valeur par défaut est 50 – le maximum est 50 et le minimum est 10 ) |
Exemple de demande:
curl https://api.forwardemail.net/v1/emails \
-u API_TOKEN:
Créer un e-mail
Notre API pour créer un e-mail s'inspire et exploite la configuration des options de message de Nodemailer. Veuillez vous reporter au Configuration des messages Nodemailer pour tous les paramètres corporels ci-dessous.
A noter qu'à l'exception de envelope
et dkim
(puisque nous les définissons automatiquement pour vous), nous prenons en charge toutes les options de Nodemailer. Nous définissons automatiquement disableFileAccess
et disableUrlAccess
options pour true
pour des raisons de sécurité.
Vous devez soit passer l'option unique de raw
avec votre e-mail complet brut, y compris les en-têtes ou passez les options de paramètres de corps individuels ci-dessous.
POST /v1/emails
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
from | Non | Chaîne (e-mail) | L'adresse e-mail de l'expéditeur (doit exister en tant qu'alias du domaine). |
to | Non | Chaîne ou tableau | Liste séparée par des virgules ou tableau de destinataires pour l'en-tête "À". |
cc | Non | Chaîne ou tableau | Liste séparée par des virgules ou tableau de destinataires pour l'en-tête "Cc". |
bcc | Non | Chaîne ou tableau | Liste séparée par des virgules ou tableau de destinataires pour l'en-tête "Cci". |
subject | Non | Chaîne | L'objet de l'e-mail. |
text | Non | Chaîne ou tampon | La version en clair du message. |
html | Non | Chaîne ou tampon | La version HTML du message. |
attachments | Non | Déployer | Un tableau d'objets de pièce jointe (voir Champs communs de Nodemailer). |
sender | Non | Chaîne | L'adresse e-mail pour l'en-tête "Expéditeur" (voir Les champs les plus avancés de Nodemailer). |
replyTo | Non | Chaîne | L'adresse e-mail pour l'en-tête "Répondre à". |
inReplyTo | Non | Chaîne | Le Message-ID auquel le message répond. |
references | Non | Chaîne ou tableau | Liste séparée par des espaces ou tableau d'ID de message. |
attachDataUrls | Non | Booléen | Si true puis convertit data: images dans le contenu HTML du message aux pièces jointes intégrées. |
watchHtml | Non | Chaîne | Une version HTML spécifique à Apple Watch du message (selon les docs Nodemailer, les montres les plus récentes n'exigent pas qu'il soit réglé). |
amp | Non | Chaîne | Une version HTML spécifique à AMP4EMAIL du message (voir L'exemple de Nodemailer). |
icalEvent | Non | Objet | Un événement iCalendar à utiliser comme contenu de message alternatif (voir Calendrier des événements de Nodemailer). |
alternatives | Non | Déployer | Un tableau de contenu de message alternatif (voir Contenu alternatif de Nodemailer). |
encoding | Non | Chaîne | Encodage pour le texte et les chaînes HTML (par défaut à "utf-8" , mais prend en charge "hex" et "base64" valeurs d'encodage également). |
raw | Non | Chaîne ou tampon | Un message au format RFC822 généré personnalisé à utiliser (au lieu d'un message généré par Nodemailer - voir Source personnalisée de Nodemailer). |
textEncoding | Non | Chaîne | Encodage qui est forcé d'être utilisé pour les valeurs de texte (soit "quoted-printable" ou "base64" ). La valeur par défaut est la valeur la plus proche détectée (pour une utilisation ASCII "quoted-printable" ). |
priority | Non | Chaîne | Niveau de priorité pour l'e-mail (peut être soit "high" , "normal" (par défaut), ou "low" ). Notez qu'une valeur de "normal" ne définit pas d'en-tête de priorité (c'est le comportement par défaut). Si une valeur de "high" ou "low" est défini, alors le X-Priority , X-MSMail-Priority , et Importance en-têtes sera fixé en conséquence. |
headers | Non | Objet ou tableau | Un objet ou un tableau de champs d'en-tête supplémentaires à définir (voir En-têtes personnalisés de Nodemailer). |
messageId | Non | Chaîne | Une valeur Message-ID facultative pour l'en-tête "Message-ID" (une valeur par défaut sera automatiquement créée si elle n'est pas définie - notez que la valeur doit respecter la spécification RFC2822). |
date | Non | Chaîne ou date | Une valeur Date facultative qui sera utilisée si l'en-tête Date est manquant après l'analyse, sinon la chaîne UTC actuelle sera utilisée si elle n'est pas définie. L'en-tête de date ne peut pas avoir plus de 30 jours d'avance sur l'heure actuelle. |
list | Non | Objet | Un objet facultatif de List-* en-têtes (voir En-têtes de liste de Nodemailer). |
Exemple de demande:
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"
Exemple de demande:
curl -X POST https://api.forwardemail.net/v1/emails \
-u API_TOKEN: \
-d "raw=`cat file.eml`"
Récupérer l'e-mail
GET /v1/emails/:id
Exemple de demande:
curl https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
Supprimer l'e-mail
La suppression des e-mails définira le statut sur "rejected"
(et par la suite ne pas le traiter dans la file d'attente) si et seulement si l'état actuel est l'un des "pending"
, "queued"
, ou "deferred"
. Nous pouvons purger automatiquement les e-mails 30 jours après leur création et/ou leur envoi. Par conséquent, vous devez conserver une copie des e-mails SMTP sortants dans votre client, votre base de données ou votre application. Vous pouvez référencer notre valeur d'identifiant de messagerie dans votre base de données si vous le souhaitez - cette valeur est renvoyée à la fois par Créer un e-mail et Récupérer l'e-mail points de terminaison.
DELETE /v1/emails/:id
Exemple de demande:
curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
Domaines
/v1/domains/:domain_name
car leur chemin est interchangeable avec l'ID d'un domaine :domain_id
. Cela signifie que vous pouvez faire référence au domaine soit par son name
ou id
évaluer.
Répertorier les domaines
GET /v1/domains
Paramètre de chaîne de requête | Obligatoire | Taper | La description |
---|---|---|---|
q | Non | Chaîne (RegExp pris en charge) | Rechercher des domaines par nom |
name | Non | Chaîne (RegExp pris en charge) | Rechercher des domaines par nom |
Exemple de demande:
curl https://api.forwardemail.net/v1/domains \
-u API_TOKEN:
Créer un domaine
POST /v1/domains
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
domain | Oui | Chaîne (FQDN ou IP) | Nom de domaine complet ("FQDN") ou adresse IP |
plan | Non | Chaîne (énumérable) | Type de régime (doit être "free" , "enhanced_protection" , ou "team" , par défaut à "free" ou le forfait payant actuel de l'utilisateur, le cas échéant) |
catchall | Non | Chaîne (adresses e-mail délimitées) ou booléen | Créer un alias fourre-tout par défaut, par défaut à true (si true il utilisera l'adresse e-mail de l'utilisateur de l'API comme destinataire, et si false aucun fourre-tout ne sera créé). Si une chaîne est transmise, il s'agit d'une liste délimitée d'adresses e-mail à utiliser comme destinataires (séparées par un saut de ligne, un espace et/ou une virgule) |
has_adult_content_protection | Non | Booléen | Indique s'il faut activer la protection du contenu pour adultes de Spam Scanner sur ce domaine |
has_phishing_protection | Non | Booléen | Indique s'il faut activer la protection anti-hameçonnage Spam Scanner sur ce domaine |
has_executable_protection | Non | Booléen | Activer ou non la protection de l'exécutable Spam Scanner sur ce domaine |
has_virus_protection | Non | Booléen | Indique s'il faut activer la protection antivirus Spam Scanner sur ce domaine |
has_recipient_verification | Non | Booléen | Domaine global par défaut pour s'il faut exiger que les destinataires d'alias cliquent sur un lien de vérification d'e-mail pour que les e-mails transitent |
Exemple de demande:
curl -X POST https://api.forwardemail.net/v1/domains \
-u API_TOKEN: \
-d domain=example.com \
-d plan=free
Récupérer un domaine
GET /v1/domains/example.com
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
Vérifier les enregistrements de domaine
GET /v1/domains/example.com/verify-records
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
-u API_TOKEN:
Mettre à jour le domaine
PUT /v1/domains/example.com
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
smtp_port | Non | Chaîne ou nombre | Port personnalisé à configurer pour le transfert SMTP (la valeur par défaut est "25" ) |
has_adult_content_protection | Non | Booléen | Indique s'il faut activer la protection du contenu pour adultes de Spam Scanner sur ce domaine |
has_phishing_protection | Non | Booléen | Indique s'il faut activer la protection anti-hameçonnage Spam Scanner sur ce domaine |
has_executable_protection | Non | Booléen | Activer ou non la protection de l'exécutable Spam Scanner sur ce domaine |
has_virus_protection | Non | Booléen | Indique s'il faut activer la protection antivirus Spam Scanner sur ce domaine |
has_recipient_verification | Non | Booléen | Domaine global par défaut pour s'il faut exiger que les destinataires d'alias cliquent sur un lien de vérification d'e-mail pour que les e-mails transitent |
Exemple de demande:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
Supprimer un domaine
DELETE /v1/domains/:domain_name
Exemple de demande:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
-u API_TOKEN:
Invite
Accepter l'invitation au domaine
GET /v1/domains/:domain_name/invites
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
Créer une invitation de domaine
POST /v1/domains/example.com/invites
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
email | Oui | Chaîne (e-mail) | Adresse e-mail pour inviter à la liste des membres du domaine |
group | Oui | Chaîne (énumérable) | Groupe avec lequel ajouter l'utilisateur à l'appartenance au domaine (peut être l'un des "admin" ou "user" ) |
Exemple de demande:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
-u API_TOKEN: \
-d "email=user%40gmail.com" \
-d group=admin
Supprimer l'invitation au domaine
DELETE /v1/domains/:domain_name/invites
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
email | Oui | Chaîne (e-mail) | Adresse e-mail à supprimer de la liste des membres du domaine |
Exemple de demande:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
Membres
Mettre à jour le membre du domaine
PUT /v1/domains/example.com/members/:member_id
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
group | Oui | Chaîne (énumérable) | Groupe avec lequel mettre à jour l'utilisateur vers l'appartenance au domaine (peut être l'un des "admin" ou "user" ) |
Exemple de demande:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
-u API_TOKEN:
Supprimer le membre du domaine
DELETE /v1/domains/:domain_name/members/:member_id
Exemple de demande:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
-u API_TOKEN:
Alias
Répertorier les alias de domaine
GET /v1/domains/example.com/aliases
Paramètre de chaîne de requête | Obligatoire | Taper | La description |
---|---|---|---|
q | Non | Chaîne (RegExp pris en charge) | Rechercher des alias dans un domaine par nom, étiquette ou destinataire |
name | Non | Chaîne (RegExp pris en charge) | Rechercher des alias dans un domaine par nom |
recipient | Non | Chaîne (RegExp pris en charge) | Rechercher des alias dans un domaine par destinataire |
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/example.com/aliases \
-u API_TOKEN:
Créer un nouvel alias de domaine
POST /v1/domains/example.com/aliases
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
name | Non | Chaîne | Nom d'alias (s'il n'est pas fourni ou s'il est vide, un alias aléatoire est généré) |
recipients | Non | Chaîne ou tableau | Liste des destinataires (doit être séparé par un saut de ligne/espace/virgule Chaîne ou tableau d'adresses e-mail valides, de noms de domaine complets ("FQDN"), d'adresses IP et/ou d'URL de webhook - et s'il n'est pas fourni ou est vide Array, l'e-mail de l'utilisateur effectuant la demande d'API sera défini comme destinataire) |
description | Non | Chaîne | Description de l'alias |
labels | Non | Chaîne ou tableau | Liste des étiquettes (doit être un saut de ligne / espace / chaîne ou tableau séparé par des virgules) |
has_recipient_verification | Non | Booléen | S'il faut activer pour demander aux destinataires de cliquer sur un lien de vérification d'e-mail pour que les e-mails soient acheminés (par défaut, le paramètre du domaine s'il n'est pas explicitement défini dans le corps de la demande) |
is_enabled | Non | Booléen | Indique s'il faut activer ou désactiver cet alias (s'il est désactivé, les e-mails ne seront acheminés nulle part mais renverront des codes d'état réussis). Par défaut à true , mais si une valeur est transmise, elle est convertie en booléen à l'aide booléen) |
Exemple de demande:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
-u API_TOKEN:
Récupérer l'alias de domaine
Vous pouvez récupérer un alias de domaine soit par son id
ou son name
évaluer.
GET /v1/domains/:domain_name/aliases/:alias_id
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN:
GET /v1/domains/:domain_name/aliases/:alias_name
Exemple de demande:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
-u API_TOKEN:
Mettre à jour l'alias de domaine
PUT /v1/domains/example.com/aliases/:alias_id
Paramètre de corps | Obligatoire | Taper | La description |
---|---|---|---|
name | Non | Chaîne | Surnom |
recipients | Oui | Chaîne ou tableau | Liste des destinataires (doit être un saut de ligne / un espace / une chaîne séparée par des virgules d'adresses e-mail valides, des noms de domaine complets ("FQDN"), des adresses IP et / ou des URL de webhook) |
description | Non | Chaîne | Description de l'alias |
labels | Non | Chaîne ou tableau | Liste des étiquettes (doit être un saut de ligne / espace / chaîne ou tableau séparé par des virgules) |
has_recipient_verification | Non | Booléen | S'il faut activer pour demander aux destinataires de cliquer sur un lien de vérification d'e-mail pour que les e-mails soient acheminés (par défaut, le paramètre du domaine s'il n'est pas explicitement défini dans le corps de la demande) |
is_enabled | Non | Booléen | Indique s'il faut activer ou non cet alias (s'il est désactivé, les e-mails ne seront acheminés nulle part mais renverront les codes d'état réussis) |
Exemple de demande:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
-u API_TOKEN:
Supprimer l'alias de domaine
DELETE /v1/domains/:domain_name/aliases/:alias_id
Exemple de demande:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN: