Ce guide se concentre sur la mécanique DNS et le dépannage. Pour le corps complet des requêtes/réponses de chaque endpoint de domaine, consultez Domaines de messagerie personnalisés dans le guide White Labeling.
Pourquoi configurer un domaine personnalisé
Réputation de l’expéditeur. Les e-mails envoyés depuis le domaine d’envoi partagé de Firma portent la réputation de Firma, pas la vôtre. Un domaine personnalisé vérifié envoie sous vos propres enregistrements SPF/DKIM/DMARC, de sorte que votre historique d’envoi et votre réputation se construisent indépendamment et ne sont pas affectés par les autres clients de Firma. Image de marque. Les destinataires voient les invitations de signature provenir denoreply@sign.yourcompany.com plutôt que d’une adresse firma.dev, renforçant le fait que la demande vient bien de vous.
Les domaines personnalisés peuvent être configurés au niveau de l’entreprise (par défaut pour tous les espaces de travail) ou par espace de travail (pour les applications multi-locataires qui ont besoin d’un domaine distinct par client). Consultez Domaines au niveau du compte vs. au niveau de l’espace de travail pour connaître l’ordre de résolution.
Enregistrements DNS nécessaires
La configuration d’un domaine nécessite trois enregistrements DNS une fois finalisée, plus un enregistrement TXT préalable pour prouver la propriété :1
Ajoutez le domaine
verification_token et un enregistrement TXT _firma-verification.<domain> à ajouter. La valeur de l’enregistrement est le jeton brut — sans préfixe ni formatage.2
Vérifiez la propriété
Une fois l’enregistrement TXT actif, appelez
verify-ownership. Firma recherche l’enregistrement via DNS et le compare au jeton stocké.3
Finalisez pour obtenir les enregistrements d'envoi
4
Ajoutez les enregistrements DNS et vérifiez
Ajoutez les trois enregistrements, puis déclenchez une vérification :La propagation DNS prend généralement quelques minutes, mais peut aller jusqu’à 48 heures. Il est normal d’appeler
verify-dns plusieurs fois pendant que les enregistrements se propagent.Vous utilisez déjà Resend pour votre propre messagerie ?
L’échec de configuration le plus courant : vous avez déjà ce domaine enregistré dans votre propre compte Resend pour votre propre messagerie transactionnelle (réinitialisations de mot de passe, notifications, etc.). Firma envoie via son propre compte Resend en coulisses. Resend n’autorise pas l’enregistrement du même domaine sous deux comptes différents à la fois. Lorsque Firma tente de finaliser un domaine déjà revendiqué ailleurs, l’API renvoie :Autres schémas de conflit avec les fournisseurs
Au-delà du conflit direct avec Resend décrit ci-dessus, deux autres contraintes DNS plus générales posent problème lorsqu’un domaine envoie déjà des e-mails via un autre fournisseur (Google Workspace, Microsoft 365, SendGrid, Mailgun, Postmark, etc.) : SPF : un seul enregistrement est autorisé par domaine. Siacme.com possède déjà un enregistrement TXT SPF pour un autre fournisseur (par exemple v=spf1 include:_spf.google.com ~all), n’ajoutez pas un second enregistrement TXT à @ pour le include:amazonses.com de Firma. Deux enregistrements SPF au même nom provoquent un échec SPF permanent (permerror) pour tous les expéditeurs du domaine, pas seulement Firma. Fusionnez plutôt le mécanisme dans votre enregistrement existant :
_dmarc.acme.com existe déjà avec une politique comme p=quarantine ou p=reject, n’ajoutez pas un second enregistrement _dmarc avec la valeur par défaut p=none de Firma. Plusieurs enregistrements TXT _dmarc rendent le traitement DMARC indéfini pour les serveurs de messagerie qui le vérifient. Conservez votre politique existante, plus stricte — elle continuera à s’appliquer aux e-mails de Firma tant que SPF et DKIM réussissent.
Les sélecteurs DKIM d’autres fournisseurs n’entrent généralement pas en collision. Chaque fournisseur utilise son propre nom de sélecteur CNAME (Google utilise google._domainkey, Microsoft utilise selector1._domainkey/selector2._domainkey, SendGrid utilise son propre sélecteur personnalisé, etc.), donc DKIM lui-même est rarement le problème en dehors du conflit spécifique à Resend décrit ci-dessus. Si vous rencontrez une collision DKIM inattendue avec un fournisseur autre que Resend, un sous-domaine résout le problème de la même manière.
États de vérification
Un domaine progresse à travers deux champs de statut indépendants. Le badge du tableau de bord reflète les deux :Bloqué sur “Configuring”
Si un domaine reste àverification_status = 1 pendant plus de quelques minutes sans progresser, la tâche d’arrière-plan de Firma retente automatiquement l’appel à finalize. S’il reste bloqué après cela, la cause sous-jacente est presque toujours le conflit Resend décrit ci-dessus — vérifiez la présence d’une erreur DOMAIN_PROVIDER_CONFLICT lors d’une nouvelle tentative manuelle avant de contacter le support.
Un domaine vérifié affiche ensuite “Failed”
Contrairement àverification_status, domain_status peut revenir en arrière, de 1 (Verified) à 2 (Failed). Firma revérifie périodiquement le DNS en arrière-plan, et si un enregistrement précédemment vérifié est ensuite supprimé ou modifié — par exemple, vous migrez de fournisseur DNS et le CNAME n’est pas reporté — le domaine bascule vers Failed. Rajoutez le ou les enregistrement(s) manquant(s) et rappelez verify-dns pour le restaurer.
Bizarrerie d’affichage connue : “pending” après qu’un domaine soit déjà vérifié
Commeverify-dns revérifie en direct auprès du fournisseur de messagerie à chaque appel, le rappeler sur un domaine déjà entièrement vérifié peut occasionnellement signaler un incident transitoire alors que rien n’est réellement cassé :
- Dans l’API, le champ
verifiedde premier niveau et la chaînemessaged’une réponseverify-dnsreflètent cette vérification en direct spécifique, pas l’enregistrement stocké. Si le fournisseur connaît un blip momentané, vous pouvez obtenir"verified": falseavec un message « pas encore vérifié » dans le même corps de réponse oùdomain.domain_statusindique toujours correctement1(Verified). Fiez-vous àdomain.domain_status, et non auverified/messagede premier niveau, lors d’une nouvelle vérification d’un domaine déjà vérifié. - Dans le tableau de bord, le badge de statut en haut de la ligne du domaine fait autorité — il est lu depuis l’enregistrement stocké. La boîte de dialogue de détail « Domain Records » affiche les vérifications de chaque enregistrement (TXT/CNAME/DMARC) qui peuvent occasionnellement accuser un retard et afficher un enregistrement individuel comme encore en attente, alors même que le badge global indique déjà Verified. En cas de désaccord entre les deux, fiez-vous au badge du haut.
Guides associés
- White Labeling : Domaines de messagerie personnalisés — parcours complet de l’API, corps de requêtes/réponses et configuration des domaines au niveau de l’espace de travail
- Webhooks — abonnez-vous aux événements
domain.verifiedetdomain.verification.failedplutôt que d’interrogerverify-dns - Référence de l’API des Domaines de Messagerie