API de messagerie

Nous n'avons pas encore publié de wrappers d'API, mais nous prévoyons de le faire prochainement. Envoyez un e-mail à api@forwardemail.net si vous souhaitez être informé de la sortie du wrapper d'API d'un langage de programmation spécifique. En attendant, vous pouvez utiliser les 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 requests
Java OkHttp
PHP guzzle
JavaScript superagent (nous sommes des mainteneurs)
Node.js superagent (nous sommes des mainteneurs)
Aller net/http
.NET RestSharp

Le chemin URI de base HTTP actuel est : https://api.forwardemail.net.

Tous les points de terminaison nécessitent que votre clé API soit défini comme valeur « nom d'utilisateur » de l'en-tête Autorisation de base de la requête (à l'exception de Contacts d'alias, Calendriers d'alias et Boîtes aux lettres d'alias qui utilisent un nom d'utilisateur et mot de passe d'alias générés).

Ne vous inquiétez pas, des exemples sont fournis ci-dessous si vous n'êtes pas sûr de ce que c'est.

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 Non trouvé
429 Trop de demandes
500 Erreur interne du serveur
501 Non mis en œuvre
502 Mauvaise passerelle
503 service non disponible
504 Délai d'expiration de la passerelle

Tip

Si vous recevez un code d'état 5xx (ce qui ne devrait pas arriver), veuillez nous contacter à l'adresse api@forwardemail.net et nous vous aiderons à résoudre votre problème immédiatement.

Notre service est traduit dans plus de 25 langues. Tous les messages de réponse API sont traduits dans la dernière langue détectée de l'utilisateur effectuant la requête API. Vous pouvez contourner ce problème en ajoutant un en-tête Accept-Language personnalisé. N'hésitez pas à l'essayer en utilisant le menu déroulant des langues en bas de cette page.

Note

À compter du 1er novembre 2024, les points de terminaison d'API pour Liste des domaines et Lister les alias de domaine utiliseront par défaut le nombre maximal de résultats par page 1000. Si vous souhaitez activer ce comportement plus tôt, vous pouvez ajouter ?paginate=true comme paramètre de chaîne de requête supplémentaire à l'URL de la requête du point de terminaison.

La pagination est prise en charge par tous les points de terminaison d'API qui répertorient les résultats.

Fournissez simplement les propriétés de chaîne de requête page (et éventuellement limit).

La propriété page doit être un nombre supérieur ou égal à 1. Si vous indiquez limit (également un nombre), la valeur minimale est 10 et la valeur maximale est 50 (sauf indication contraire).

Paramètres de la chaîne de requête Requis Taper Description
page Non Nombre Page de résultats à renvoyer. Si non spécifié, la valeur de page sera 1. Doit être un nombre supérieur ou égal à 1.
limit Non Nombre Nombre de résultats à renvoyer par page. La valeur par défaut est 10 si non spécifiée. Doit être supérieur ou égal à 1 et inférieur ou égal à 50.

Afin de déterminer si davantage de résultats sont disponibles ou non, nous fournissons ces en-têtes de réponse HTTP (que vous pouvez analyser afin de paginer par programmation) :

En-tête de réponse HTTP Exemple Description
X-Page-Count X-Page-Count: 3 Le nombre total de pages disponibles.
X-Page-Current X-Page-Current: 1 La page actuelle des résultats renvoyés (par exemple, basée sur le paramètre de chaîne de requête page).
X-Page-Size X-Page-Size: 10 Le nombre total de résultats renvoyés dans la page (par exemple, basé sur le paramètre de chaîne de requête limit et les résultats réels renvoyés).
X-Item-Count X-Item-Count: 30 Le nombre total d'éléments disponibles sur toutes les pages.
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" Nous fournissons un en-tête de réponse HTTP Link que vous pouvez analyser comme illustré dans l'exemple. Il s'agit de similar to GitHub (par exemple, toutes les valeurs ne seront pas fournies si elles ne sont pas pertinentes ou disponibles ; par exemple, "next" ne sera pas fourni s'il n'existe pas d'autre page).

Exemple de requête :

curl https://api.forwardemail.net/v1/domains/example.com/aliases?page=2&pagination=true \
  -u API_TOKEN:

Récupérer les journaux

Notre API vous permet de télécharger les journaux de votre compte par programmation. En soumettant une requête à ce point de terminaison, tous les journaux de votre compte seront traités et vous seront envoyés par e-mail sous forme de pièce jointe (fichier tableur compressé Gzip et CSV).

Cela vous permet de créer des tâches d'arrière-plan avec un Tâche cron ou d'utiliser notre Logiciel de planification de tâches Node.js Bree pour recevoir les journaux à tout moment. Notez que ce point de terminaison est limité à 10 requêtes par jour.

La pièce jointe est la forme minuscule de email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz et l'e-mail contient un bref résumé des journaux récupérés. Vous pouvez également télécharger les journaux à tout moment depuis Mon compte → Journaux.

GET /v1/logs/download

Paramètres de la chaîne de requête Requis Taper Description
domain Non Chaîne (FQDN) Filtrez les journaux par domaine complet (« FQDN »). Si vous ne le fournissez pas, tous les journaux de tous les domaines seront récupérés.
q Non Chaîne Recherchez des journaux par e-mail, domaine, nom d'alias, adresse IP ou date (format M/Y, M/D/YY, M-D, M-D-YY ou M.D.YY).
bounce_category Non Chaîne Recherchez des journaux par catégorie de rebond spécifique (par exemple blocklist).
response_code Non Nombre Recherchez des journaux par un code de réponse d'erreur spécifique (par exemple 421 ou 550).

Exemple de requête :

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

Exemple de tâche Cron (à minuit tous les jours) :

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

Notez que vous pouvez utiliser des services tels que Crontab.guru pour valider la syntaxe de votre expression de tâche cron.

Exemple de tâche Cron (à minuit tous les jours et avec les journaux du jour précédent) :

Pour 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

Pour Linux et 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

Créer un compte

POST /v1/account

Paramètre du corps Requis Taper Description
email Oui Chaîne (e-mail) Adresse email
password Oui Chaîne Mot de passe

Exemple de requête :

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 requête :

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

Mettre à jour le compte

PUT /v1/account

Paramètre du corps Requis Taper Description
email Non Chaîne (e-mail) Adresse email
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 requête :

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

Note

Contrairement aux autres points de terminaison d'API, ceux-ci nécessitent Authentification : « username » égal au nom d'utilisateur de l'alias et « password » égal au mot de passe généré par l'alias comme en-têtes d'autorisation de base.

Warning

Cette section relative aux points de terminaison est en cours de développement et sera publiée (espérons-le) en 2024. En attendant, veuillez utiliser un client IMAP disponible dans le menu déroulant « Applications » de la navigation de notre site web.

Liste des contacts

GET /v1/contacts

À venir

Créer un contact

POST /v1/contacts

À venir

Récupérer le contact

GET /v1/contacts/:id

À venir

Mettre à jour le contact

PUT /v1/contacts/:id

À venir

Supprimer le contact

DELETE /v1/contacts/:id

À venir

Note

Contrairement aux autres points de terminaison d'API, ceux-ci nécessitent Authentification : « username » égal au nom d'utilisateur de l'alias et « password » égal au mot de passe généré par l'alias comme en-têtes d'autorisation de base.

Warning

Cette section relative aux points de terminaison est en cours de développement et sera publiée (espérons-le) en 2024. En attendant, veuillez utiliser un client IMAP disponible dans le menu déroulant « Applications » de la navigation de notre site web.

Liste des calendriers

GET /v1/calendars

À venir

Créer un calendrier

POST /v1/calendars

À venir

Récupérer le calendrier

GET /v1/calendars/:id

À venir

Mettre à jour le calendrier

PUT /v1/calendars/:id

À venir

Supprimer le calendrier

DELETE /v1/calendars/:id

À venir

Note

Contrairement aux autres points de terminaison d'API, ceux-ci nécessitent Authentification : « username » égal au nom d'utilisateur de l'alias et « password » égal au mot de passe généré par l'alias comme en-têtes d'autorisation de base.

Warning

Cette section relative aux points de terminaison est en cours de développement et sera publiée (espérons-le) en 2024. En attendant, veuillez utiliser un client IMAP disponible dans le menu déroulant « Applications » de la navigation de notre site web.

Veuillez vous assurer que vous avez suivi les instructions de configuration de votre domaine.

Ces instructions peuvent être trouvées dans notre section FAQ Prenez-vous en charge la réception d'e-mails avec IMAP ?.

Lister et rechercher des messages

GET /v1/messages

À venir

Créer un message

Note

Cette commande n'enverra PAS d'e-mail ; elle ajoutera simplement le message à votre boîte aux lettres (par exemple, similaire à la commande IMAP APPEND). Pour envoyer un e-mail, consultez la commande Créer un e-mail SMTP sortant ci-dessous. Après avoir créé l'e-mail SMTP sortant, vous pouvez en ajouter une copie à la boîte aux lettres de votre alias via ce point de terminaison à des fins de stockage.

POST /v1/messages

À venir

Récupérer le message

GET /v1/messages/:id

À venir

Message de mise à jour

PUT /v1/messages/:id

À venir

Supprimer le message

DELETE /v1/messages:id

À venir

Tip

Les points de terminaison de dossier dont le chemin d'accès est /v1/folders/:path sont interchangeables avec l'ID de dossier :id. Vous pouvez ainsi faire référence au dossier par sa valeur path ou id.

Warning

Cette section relative aux points de terminaison est en cours de développement et sera publiée (espérons-le) en 2024. En attendant, veuillez utiliser un client IMAP disponible dans le menu déroulant « Applications » de la navigation de notre site web.

Liste des dossiers

GET /v1/folders

À venir

Créer le dossier

POST /v1/folders

À venir

Récupérer le dossier

GET /v1/folders/:id

À venir

Mettre à jour le dossier

PUT /v1/folders/:id

À venir

Supprimer le dossier

DELETE /v1/folders/:id

À venir

Copier le dossier

POST /v1/folders/:id/copy

À venir

Veuillez vous assurer que vous avez suivi les instructions de configuration de votre domaine.

Ces instructions se trouvent dans Mon compte → Domaines → Paramètres → Configuration SMTP sortante. Vous devez configurer DKIM, Return-Path et DMARC pour l'envoi de messages SMTP sortants avec votre domaine.

Obtenir la limite d'e-mails SMTP sortants

Il s'agit d'un point de terminaison simple qui renvoie un objet JSON contenant count et limit pour le nombre de messages SMTP sortants quotidiens par compte.

GET /v1/emails/limit

Exemple de requête :

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

Liste des e-mails SMTP sortants

Notez que ce point de terminaison ne renvoie pas de valeurs de propriété pour message, headers ni rejectedErrors d'un e-mail.

Pour renvoyer ces propriétés et leurs valeurs, veuillez utiliser le point de terminaison Récupérer l'e-mail avec un identifiant de messagerie.

GET /v1/emails

Paramètres de la chaîne de requête Requis Taper Description
q Non Chaîne (RegExp prise en charge) Rechercher des e-mails par métadonnées
domain Non Chaîne (RegExp prise en charge) Rechercher des e-mails par nom de domaine
sort Non Chaîne Trier selon un champ spécifique (préfixer par un tiret simple - pour trier dans le sens inverse de ce champ). La valeur par défaut est created_at si elle n'est pas définie.
page Non Nombre Voir Pagination pour plus d'informations
limit Non Nombre Voir Pagination pour plus d'informations

Exemple de requête :

curl https://api.forwardemail.net/v1/emails?limit=1 \
  -u API_TOKEN:

Créer un e-mail SMTP sortant

Notre API de création d'e-mails s'inspire et exploite la configuration des options de message de Nodemailer. Veuillez vous référer à Configuration des messages Nodemailer pour tous les paramètres de corps ci-dessous.

Notez qu'à l'exception de envelope et dkim (que nous définissons automatiquement), nous prenons en charge toutes les options Nodemailer. Pour des raisons de sécurité, nous définissons automatiquement les options disableFileAccess et disableUrlAccess sur true.

Vous devez soit transmettre l'option unique raw avec votre e-mail complet brut, y compris les en-têtes ou transmettre les options de paramètres de corps individuelles ci-dessous.

Ce point de terminaison d'API encodera automatiquement les émojis présents dans les en-têtes (par exemple, une ligne d'objet Subject: 🤓 Hello est automatiquement convertie en Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello). Notre objectif était de créer une API de messagerie extrêmement conviviale pour les développeurs et à l'épreuve des manipulations.

POST /v1/emails

Paramètre du corps Requis Taper 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 texte brut du message.
html Non Chaîne ou tampon La version HTML du message.
attachments Non Tableau Un tableau d'objets de pièce jointe (voir Nodemailer's common fields).
sender Non Chaîne L'adresse e-mail pour l'en-tête « Expéditeur » (voir Nodemailer's more advanced fields).
replyTo Non Chaîne L'adresse e-mail pour l'en-tête « Répondre à ».
inReplyTo Non Chaîne L'ID du message auquel le message répond.
references Non Chaîne ou tableau Liste séparée par des espaces ou un tableau d'ID de message.
attachDataUrls Non Booléen Si true convertit alors data: images dans le contenu HTML du message en pièces jointes intégrées.
watchHtml Non Chaîne Une version HTML spécifique à l'Apple Watch du message (according to the Nodemailer docs, les montres les plus récentes ne nécessitent pas que cela soit défini).
amp Non Chaîne Une version HTML spécifique à AMP4EMAIL du message (voir Nodemailer's example).
icalEvent Non Objet Un événement iCalendar à utiliser comme contenu de message alternatif (voir Nodemailer's calendar events).
alternatives Non Tableau Un tableau de contenu de message alternatif (voir Nodemailer's alternative content).
encoding Non Chaîne Codage pour le texte et les chaînes HTML (par défaut "utf-8", mais prend également en charge les valeurs de codage "hex" et "base64").
raw Non Chaîne ou tampon Un message formaté RFC822 généré sur mesure à utiliser (au lieu de celui généré par Nodemailer – voir Nodemailer's custom source).
textEncoding Non Chaîne Codage obligatoire pour les valeurs texte ("quoted-printable" ou "base64"). La valeur par défaut est la valeur la plus proche détectée (pour l'ASCII, utilisez "quoted-printable").
priority Non Chaîne Niveau de priorité de l'e-mail (peut être "high", "normal" (par défaut) ou "low"). Notez que la valeur "normal" ne définit pas d'en-tête de priorité (il s'agit du comportement par défaut). Si la valeur "high" ou "low" est définie, les en-têtes X-Priority, X-MSMail-Priority et Importance sont will be set accordingly.
headers Non Objet ou tableau Un objet ou un tableau de champs d'en-tête supplémentaires à définir (voir Nodemailer's custom headers).
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 être adhere to the RFC2822 specification).
date Non Chaîne ou date Une valeur de date facultative sera utilisée si l'en-tête Date est manquant après l'analyse. Dans le cas contraire, la chaîne UTC actuelle sera utilisée si elle n'est pas définie. L'en-tête de date ne peut pas être antérieur de plus de 30 jours à l'heure actuelle.
list Non Objet Un objet facultatif d'en-têtes List-* (voir Nodemailer's list headers).

Exemple de requête :

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 requête :

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

Récupérer les e-mails SMTP sortants

GET /v1/emails/:id

Exemple de requête :

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

Supprimer l'e-mail SMTP sortant

La suppression d'un e-mail définira son statut sur "rejected" (et ne le traitera donc pas dans la file d'attente) si et seulement si son statut actuel est "pending", "queued" ou "deferred". Nous pouvons supprimer automatiquement les e-mails 30 jours après leur création et/ou leur envoi ; il est donc conseillé de 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 identifiant d'e-mail dans votre base de données si vous le souhaitez ; cette valeur est renvoyée par les points de terminaison Créer un e-mail et Récupérer l'e-mail.

DELETE /v1/emails/:id

Exemple de requête :

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

Tip

Les points de terminaison de domaine dont le nom de domaine est /v1/domains/:domain_name sont interchangeables avec l'ID de domaine :domain_id. Cela signifie que vous pouvez faire référence au domaine par sa valeur name ou id.

Liste des domaines

Note

À compter du 1er novembre 2024, les points de terminaison d'API pour Liste des domaines et Lister les alias de domaine utiliseront par défaut le nombre maximal de résultats par page 1000. Si vous souhaitez activer ce comportement plus tôt, vous pouvez ajouter ?paginate=true comme paramètre de chaîne de requête supplémentaire à l'URL de la requête du point de terminaison. Consultez Pagination pour plus d'informations.

GET /v1/domains

Paramètres de la chaîne de requête Requis Taper Description
q Non Chaîne (RegExp prise en charge) Rechercher des domaines par nom
name Non Chaîne (RegExp prise en charge) Rechercher des domaines par nom
sort Non Chaîne Trier selon un champ spécifique (préfixer par un tiret simple - pour trier dans le sens inverse de ce champ). La valeur par défaut est created_at si elle n'est pas définie.
page Non Nombre Voir Pagination pour plus d'informations
limit Non Nombre Voir Pagination pour plus d'informations

Exemple de requête :

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

Créer un domaine

POST /v1/domains

Paramètre du corps Requis Taper Description
domain Oui Chaîne (FQDN ou IP) Nom de domaine complet (« FQDN ») ou adresse IP
team_domain Non Chaîne (ID de domaine ou nom de domaine ; FQDN) Affecter automatiquement ce domaine à la même équipe d'un autre domaine. Cela signifie que tous les membres de ce domaine seront affectés à l'équipe, et plan sera automatiquement défini sur team. Vous pouvez définir "none" si nécessaire pour désactiver explicitement cette option, mais ce n'est pas indispensable.
plan Non Chaîne (énumérable) Type de forfait (doit être "free", "enhanced_protection" ou "team", la valeur par défaut est "free" ou le forfait payant actuel de l'utilisateur s'il en possède un)
catchall Non Chaîne (adresses e-mail délimitées) ou booléen Créez un alias fourre-tout par défaut, par défaut true (si true est utilisé, l'adresse e-mail de l'utilisateur de l'API sera utilisée comme destinataire, et si false est utilisé, aucun alias 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 S'il faut activer la protection du contenu pour adultes de Spam Scanner sur ce domaine
has_phishing_protection Non Booléen S'il faut activer la protection anti-hameçonnage Spam Scanner sur ce domaine
has_executable_protection Non Booléen S'il faut activer la protection exécutable du scanner anti-spam sur ce domaine
has_virus_protection Non Booléen S'il faut activer la protection antivirus Spam Scanner sur ce domaine
has_recipient_verification Non Booléen Valeur par défaut du domaine global pour savoir s'il faut exiger des destinataires d'alias qu'ils cliquent sur un lien de vérification de courrier électronique pour que les courriers électroniques soient transmis
ignore_mx_check Non Booléen Indique s'il faut ignorer la vérification de l'enregistrement MX sur le domaine. Cette option s'adresse principalement aux utilisateurs disposant de règles de configuration d'échange MX avancées et souhaitant conserver leur échange MX existant et le transférer vers le nôtre.
retention_days Non Nombre Nombre entier compris entre 0 et 30, correspondant au nombre de jours de conservation des e-mails SMTP sortants après distribution réussie ou erreur définitive. La valeur par défaut est 0, ce qui signifie que les e-mails SMTP sortants sont purgés et expurgés immédiatement pour votre sécurité.
bounce_webhook Non Chaîne (URL) ou booléen (faux) L'URL du webhook http:// ou https:// de votre choix pour l'envoi des webhooks de rebond. Nous enverrons une requête POST à cette URL avec les informations sur les échecs SMTP sortants (par exemple, les échecs logiciels ou matériels – afin que vous puissiez gérer vos abonnés et vos e-mails sortants par programmation).
max_quota_per_alias Non Chaîne Quota de stockage maximal pour les alias sur ce nom de domaine. Saisissez une valeur telle que « 1 Go » qui sera analysée par bytes.

Exemple de requête :

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

Récupérer le domaine

GET /v1/domains/example.com

Exemple de requête :

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 requête :

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

Vérifier les enregistrements SMTP du domaine

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

Exemple de requête :

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

Liste des mots de passe fourre-tout à l'échelle du domaine

GET /v1/domains/example.com/catch-all-passwords

Exemple de requête :

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

Créer un mot de passe fourre-tout à l'échelle du domaine

POST /v1/domains/example.com/catch-all-passwords

Paramètre du corps Requis Taper Description
new_password Non Chaîne Votre nouveau mot de passe personnalisé à utiliser comme mot de passe fourre-tout pour l'ensemble du domaine. Vous pouvez laisser ce champ vide ou l'omettre complètement dans le corps de votre requête API si vous souhaitez obtenir un mot de passe fort et généré aléatoirement.
description Non Chaîne Description à des fins d'organisation uniquement.

Exemple de requête :

curl BASE_URL/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Supprimer le mot de passe fourre-tout à l'échelle du domaine

DELETE /v1/domains/example.com/catch-all-passwords/:token_id

Exemple de requête :

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

Mettre à jour le domaine

PUT /v1/domains/example.com

Paramètre du corps Requis Taper 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 S'il faut activer la protection du contenu pour adultes de Spam Scanner sur ce domaine
has_phishing_protection Non Booléen S'il faut activer la protection anti-hameçonnage Spam Scanner sur ce domaine
has_executable_protection Non Booléen S'il faut activer la protection exécutable du scanner anti-spam sur ce domaine
has_virus_protection Non Booléen S'il faut activer la protection antivirus Spam Scanner sur ce domaine
has_recipient_verification Non Booléen Valeur par défaut du domaine global pour savoir s'il faut exiger des destinataires d'alias qu'ils cliquent sur un lien de vérification de courrier électronique pour que les courriers électroniques soient transmis
ignore_mx_check Non Booléen Indique s'il faut ignorer la vérification de l'enregistrement MX sur le domaine. Cette option s'adresse principalement aux utilisateurs disposant de règles de configuration d'échange MX avancées et souhaitant conserver leur échange MX existant et le transférer vers le nôtre.
retention_days Non Nombre Nombre entier compris entre 0 et 30, correspondant au nombre de jours de conservation des e-mails SMTP sortants après distribution réussie ou erreur définitive. La valeur par défaut est 0, ce qui signifie que les e-mails SMTP sortants sont purgés et expurgés immédiatement pour votre sécurité.
bounce_webhook Non Chaîne (URL) ou booléen (faux) L'URL du webhook http:// ou https:// de votre choix pour l'envoi des webhooks de rebond. Nous enverrons une requête POST à cette URL avec les informations sur les échecs SMTP sortants (par exemple, les échecs logiciels ou matériels – afin que vous puissiez gérer vos abonnés et vos e-mails sortants par programmation).
max_quota_per_alias Non Chaîne Quota de stockage maximal pour les alias sur ce nom de domaine. Saisissez une valeur telle que « 1 Go » qui sera analysée par bytes.

Exemple de requête :

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

Supprimer le domaine

DELETE /v1/domains/:domain_name

Exemple de requête :

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

Accepter l'invitation de domaine

GET /v1/domains/:domain_name/invites

Exemple de requête :

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 du corps Requis Taper 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 pour ajouter l'utilisateur à l'appartenance au domaine avec (peut être l'un des "admin" ou "user")

Exemple de requête :

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

Important

Si l'utilisateur invité est déjà membre d'un autre domaine dont l'administrateur l'invite est membre, l'invitation sera automatiquement acceptée et aucun e-mail ne sera envoyé.

Supprimer l'invitation de domaine

DELETE /v1/domains/:domain_name/invites

Paramètre du corps Requis Taper Description
email Oui Chaîne (e-mail) Adresse e-mail à supprimer de la liste des membres du domaine

Exemple de requête :

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

Mettre à jour le membre du domaine

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

Paramètre du corps Requis Taper Description
group Oui Chaîne (énumérable) Groupe pour mettre à jour l'utilisateur avec l'appartenance au domaine (peut être l'un des "admin" ou "user")

Exemple de requête :

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 requête :

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

Générer un mot de passe d'alias

Notez que si vous n'envoyez pas d'instructions par e-mail, le nom d'utilisateur et le mot de passe figureront dans le corps de la réponse JSON d'une demande réussie au format { username: 'alias@yourdomain.com', password: 'some-generated-password' }.

POST /v1/domains/example.com/aliases/:alias_id/generate-password

Paramètre du corps Requis Taper Description
new_password Non Chaîne Votre nouveau mot de passe personnalisé à utiliser pour l'alias. Vous pouvez laisser ce champ vide ou l'omettre complètement dans le corps de votre requête API si vous souhaitez obtenir un mot de passe fort et généré aléatoirement.
password Non Chaîne Mot de passe existant pour l'alias pour modifier le mot de passe sans supprimer le stockage de boîte aux lettres IMAP existant (voir l'option is_override ci-dessous si vous n'avez plus le mot de passe existant).
is_override Non Booléen À UTILISER AVEC PRÉCAUTION : Cette action remplacera complètement le mot de passe et la base de données de l'alias existant, supprimera définitivement le stockage IMAP existant et réinitialisera complètement la base de données de messagerie SQLite de l'alias. Si possible, effectuez une sauvegarde si vous possédez déjà une boîte aux lettres associée à cet alias.
emailed_instructions Non Chaîne Adresse e-mail à laquelle envoyer le mot de passe de l'alias et les instructions de configuration.

Exemple de requête :

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

Liste des alias de domaine

Note

À compter du 1er novembre 2024, les points de terminaison d'API pour Liste des domaines et Lister les alias de domaine utiliseront par défaut le nombre maximal de résultats par page 1000. Si vous souhaitez activer ce comportement plus tôt, vous pouvez ajouter ?paginate=true comme paramètre de chaîne de requête supplémentaire à l'URL de la requête du point de terminaison. Consultez Pagination pour plus d'informations.

GET /v1/domains/example.com/aliases

Paramètres de la chaîne de requête Requis Taper Description
q Non Chaîne (RegExp prise en charge) Rechercher des alias dans un domaine par nom, libellé ou destinataire
name Non Chaîne (RegExp prise en charge) Rechercher des alias dans un domaine par nom
recipient Non Chaîne (RegExp prise en charge) Rechercher des alias dans un domaine par destinataire
sort Non Chaîne Trier selon un champ spécifique (préfixer par un tiret simple - pour trier dans le sens inverse de ce champ). La valeur par défaut est created_at si elle n'est pas définie.
page Non Nombre Voir Pagination pour plus d'informations
limit Non Nombre Voir Pagination pour plus d'informations

Exemple de requête :

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

Créer un nouvel alias de domaine

POST /v1/domains/example.com/aliases

Paramètre du corps Requis Taper 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 une chaîne ou un tableau d'adresses e-mail valides, de noms de domaine complets (« FQDN »), d'adresses IP et/ou d'URL de webhook séparés par des sauts de ligne/espaces/virgules – et si elle n'est pas fournie ou s'il s'agit d'un tableau vide, 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 d'étiquettes (doit être séparée par un saut de ligne/un espace/une virgule, une chaîne ou un tableau)
has_recipient_verification Non Booléen Exiger des destinataires qu'ils cliquent sur un lien de vérification par e-mail pour que les e-mails soient transmis (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 Activer ou désactiver cet alias (si désactivé, les e-mails ne seront acheminés nulle part, mais renverront des codes de réussite). Si une valeur est transmise, elle est convertie en booléen via boolean.
error_code_if_disabled Non Numéro (soit 250, 421 ou 550) Les e-mails entrants vers cet alias seront rejetés si is_enabled est false avec soit 250 (livraison discrète nulle part, par exemple trou noir ou /dev/null), 421 (rejet souple ; et réessayer jusqu'à environ 5 jours) ou 550 échec permanent et rejet. La valeur par défaut est 250.
has_imap Non Booléen Activation ou désactivation du stockage IMAP pour cet alias (si désactivé, les e-mails entrants ne seront pas stockés dans IMAP storage. Si une valeur est transmise, elle est convertie en booléen via boolean).
has_pgp Non Booléen S'il faut activer ou désactiver OpenPGP encryption pour IMAP/POP3/CalDAV/CardDAV encrypted email storage en utilisant l'alias public_key.
public_key Non Chaîne Clé publique OpenPGP au format ASCII Armor (click here to view an example ; par exemple, clé GPG pour support@forwardemail.net). Ceci s'applique uniquement si has_pgp est défini sur true. Learn more about end-to-end encryption in our FAQ.
max_quota Non Chaîne Quota de stockage maximal pour cet alias. Laissez ce champ vide pour réinitialiser le quota maximal actuel du domaine ou saisissez une valeur telle que « 1 Go », qui sera analysée par bytes. Cette valeur ne peut être modifiée que par les administrateurs du domaine.
vacation_responder_is_enabled Non Booléen S'il faut activer ou désactiver un répondeur automatique de vacances.
vacation_responder_start_date Non Chaîne Date de début du répondeur de vacances (si activé et qu'aucune date de début n'est définie ici, il est alors considéré comme démarré). Nous prenons en charge les formats de date tels que MM/DD/YYYY, YYYY-MM-DD et d'autres formats de date via l'analyse intelligente avec dayjs.
vacation_responder_end_date Non Chaîne Date de fin du répondeur de vacances (si cette option est activée et qu'aucune date de fin n'est définie ici, le répondeur considère qu'il ne se termine jamais et répond indéfiniment). Nous prenons en charge les formats de date tels que MM/DD/YYYY, YYYY-MM-DD et d'autres formats de date via l'analyse intelligente avec dayjs.
vacation_responder_subject Non Chaîne Objet en texte clair pour le répondeur d'absence, par exemple « Absent du bureau ». Nous utilisons striptags pour supprimer tout le code HTML ici.
vacation_responder_message Non Chaîne Message en texte clair pour le répondeur en cas d'absence, par exemple : « Je serai absent du bureau jusqu'en février. » Nous utilisons striptags pour supprimer tout le code HTML ici.

Exemple de requête :

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 par sa valeur id ou name.

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

Exemple de requête :

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 requête :

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 du corps Requis Taper Description
name Non Chaîne Nom d'alias
recipients Non Chaîne ou tableau Liste des destinataires (doit être une chaîne ou un tableau d'adresses e-mail valides, de noms de domaine complets (« FQDN »), d'adresses IP et/ou d'URL de webhook séparés par un saut de ligne/un espace/une virgule)
description Non Chaîne Description de l'alias
labels Non Chaîne ou tableau Liste d'étiquettes (doit être séparée par un saut de ligne/un espace/une virgule, une chaîne ou un tableau)
has_recipient_verification Non Booléen Exiger des destinataires qu'ils cliquent sur un lien de vérification par e-mail pour que les e-mails soient transmis (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 Activer ou désactiver cet alias (si désactivé, les e-mails ne seront acheminés nulle part, mais renverront des codes de réussite). Si une valeur est transmise, elle est convertie en booléen via boolean.
error_code_if_disabled Non Numéro (soit 250, 421 ou 550) Les e-mails entrants vers cet alias seront rejetés si is_enabled est false avec soit 250 (livraison discrète nulle part, par exemple trou noir ou /dev/null), 421 (rejet souple ; et réessayer jusqu'à environ 5 jours) ou 550 échec permanent et rejet. La valeur par défaut est 250.
has_imap Non Booléen Activation ou désactivation du stockage IMAP pour cet alias (si désactivé, les e-mails entrants ne seront pas stockés dans IMAP storage. Si une valeur est transmise, elle est convertie en booléen via boolean).
has_pgp Non Booléen S'il faut activer ou désactiver OpenPGP encryption pour IMAP/POP3/CalDAV/CardDAV encrypted email storage en utilisant l'alias public_key.
public_key Non Chaîne Clé publique OpenPGP au format ASCII Armor (click here to view an example ; par exemple, clé GPG pour support@forwardemail.net). Ceci s'applique uniquement si has_pgp est défini sur true. Learn more about end-to-end encryption in our FAQ.
max_quota Non Chaîne Quota de stockage maximal pour cet alias. Laissez ce champ vide pour réinitialiser le quota maximal actuel du domaine ou saisissez une valeur telle que « 1 Go », qui sera analysée par bytes. Cette valeur ne peut être modifiée que par les administrateurs du domaine.
vacation_responder_is_enabled Non Booléen S'il faut activer ou désactiver un répondeur automatique de vacances.
vacation_responder_start_date Non Chaîne Date de début du répondeur de vacances (si activé et qu'aucune date de début n'est définie ici, il est alors considéré comme démarré). Nous prenons en charge les formats de date tels que MM/DD/YYYY, YYYY-MM-DD et d'autres formats de date via l'analyse intelligente avec dayjs.
vacation_responder_end_date Non Chaîne Date de fin du répondeur de vacances (si cette option est activée et qu'aucune date de fin n'est définie ici, le répondeur considère qu'il ne se termine jamais et répond indéfiniment). Nous prenons en charge les formats de date tels que MM/DD/YYYY, YYYY-MM-DD et d'autres formats de date via l'analyse intelligente avec dayjs.
vacation_responder_subject Non Chaîne Objet en texte clair pour le répondeur d'absence, par exemple « Absent du bureau ». Nous utilisons striptags pour supprimer tout le code HTML ici.
vacation_responder_message Non Chaîne Message en texte clair pour le répondeur en cas d'absence, par exemple : « Je serai absent du bureau jusqu'en février. » Nous utilisons striptags pour supprimer tout le code HTML ici.

Exemple de requête :

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 requête :

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

Nous vous permettons de chiffrer vos enregistrements gratuitement, même avec l'offre gratuite. La confidentialité ne devrait pas être une fonctionnalité, mais être intégrée à tous les aspects d'un produit. Suite à une forte demande pour Discussion sur les guides de confidentialité et nos problèmes GitHub, nous avons ajouté cette fonctionnalité.

Chiffrer l'enregistrement TXT

POST /v1/encrypt

Paramètre du corps Requis Taper Description
input Oui Chaîne Tout enregistrement TXT en texte brut de courrier électronique de transfert valide

Exemple de requête :

curl -X POST https://api.forwardemail.net/v1/encrypt \
  -d "input=user@gmail.com"