Avant de faire tourner votre propre serveur de messagerie
Pour la plupart des gens, faire tourner son propre serveur de messagerie n'est pas une bonne idée. L'installer est facile ; le plus difficile est de faire arriver vos messages en boîte de réception. Avant de commencer, vous devez connaître quatre choses : si le port 25 sortant est ouvert, l'enregistrement PTR (DNS inverse) de votre adresse IP, vos enregistrements SPF, DKIM et DMARC, et la réputation de votre adresse IP.
Les grands fournisseurs de messagerie ne font pas confiance au courrier d'un serveur qu'ils ne connaissent pas. Même un nouveau serveur correctement configuré peut atterrir dans les spams, simplement parce qu'il n'a pas d'historique. De plus, le serveur doit rester en marche, à jour et surveillé contre les abus.
Dans quels cas est-ce pertinent ?
Faire tourner son propre serveur a du sens pour apprendre, pour quelques boîtes aux lettres sur une poignée de domaines, ou quand vous voulez garder vos données entre vos mains. Cela n'a pas de sens si votre activité dépend de l'e-mail, si vous prévoyez des envois en masse comme des newsletters, ou si vous n'avez pas le temps de surveiller le serveur. Vous devez aussi sauvegarder vous-même les boîtes aux lettres, car le courrier entrant se trouve sur le disque du serveur.
Port 25
- Les serveurs de messagerie se remettent le courrier sur le port 25. Pour recevoir du courrier, le port doit être ouvert aux connexions entrantes. Pour en envoyer, il doit l'être aux connexions sortantes.
- De nombreux réseaux et fournisseurs restreignent le port 25 sortant pour prévenir les abus. Chez Seturack, il est aussi fermé au départ sur les nouveaux serveurs, et vous l'ouvrez depuis votre panneau en un clic.
- Les clients de messagerie comme les téléphones et Thunderbird utilisent les ports de soumission 587 ou 465. Ces ports ne peuvent pas servir à la remise entre serveurs.
Vous pouvez tester le port 25 sortant sur votre propre serveur ainsi. Si la sortie est « 25 open », la connexion peut s'établir :
timeout 5 bash -c 'exec 3<>/dev/tcp/gmail-smtp-in.l.google.com/25' && echo "25 open" || echo "25 closed"
Envoyer des e-mails en masse à des personnes qui ne les ont pas demandés, et construire une infrastructure pour cela, enfreint les conditions d'utilisation de Seturack.
PTR, SPF, DKIM et DMARC
Les destinataires utilisent ces enregistrements pour vérifier qu'un message vient bien de vous. Tous se trouvent dans le DNS. Vous réglez la plupart d'entre eux là où vous gérez votre domaine, mais l'enregistrement PTR est défini par le propriétaire de l'adresse IP. Avant de commander, renseignez-vous pour savoir si votre fournisseur vous laisse définir un enregistrement PTR pour votre serveur. Si dig manque, installez-le avec sudo apt install -y dnsutils.
| Enregistrement | Rôle | Commande pour le vérifier |
|---|---|---|
| PTR (DNS inverse) | Convertit une adresse IP en nom. De nombreux destinataires attendent que ce nom pointe en retour vers la même IP. | dig -x 203.0.113.5 +short |
| MX | Indique aux expéditeurs quel serveur reçoit le courrier de votre domaine. | dig +short MX example.com |
| SPF | Liste les adresses IP autorisées à envoyer du courrier pour votre domaine. | dig +short TXT example.com |
| DKIM | Signe le courrier sortant. La clé publique se trouve dans le DNS. | dig +short TXT selector._domainkey.example.com |
| DMARC | Indique aux destinataires quoi faire quand SPF ou DKIM échoue. | dig +short TXT _dmarc.example.com |
Selon les consignes officielles de Google pour les expéditeurs, tous les expéditeurs doivent configurer SPF ou DKIM, l'IP ou le domaine d'envoi doit avoir des enregistrements DNS direct et inverse (PTR) valides, le courrier doit utiliser TLS, et le taux de spam doit rester inférieur à 0,3 pour cent. Les expéditeurs qui envoient plus de 5 000 messages par jour vers des comptes Gmail doivent avoir SPF, DKIM et DMARC tous les trois.
Réputation de l'IP
Chaque adresse IP a un historique. Si l'adresse qui vous a été attribuée a déjà servi à des abus, elle peut figurer sur des listes de blocage publiques (DNSBL). Recherchez votre adresse dans ces listes avant d'envoyer. Une nouvelle adresse n'a pas de réputation. Elle se construit avec le temps quand vous commencez par de petits volumes et envoyez du courrier régulier et attendu. Un soudain gros envoi donne en général tout de suite mauvaise image à une nouvelle adresse.
Attention à l'IPv6
Si votre serveur a l'IPv6, Postfix peut aussi envoyer le courrier sortant en IPv6. L'IPv6 a besoin de ses propres enregistrements PTR et SPF. Si vous ne les avez pas configurés, forcez Postfix à utiliser l'IPv4. D'après la documentation de Postfix, ce réglage nécessite un redémarrage, un rechargement ne suffit pas :
sudo postconf -e "inet_protocols = ipv4"
sudo systemctl restart postfix
Ressources et entretien
Postfix et Dovecot tournent sans peine sur un petit serveur. Les paquets prêts à l'emploi comme mailcow apportent aussi une interface web, un filtre anti-spam et une analyse antivirus. La configuration requise officielle de mailcow est d'au moins 6 Gio de RAM plus 1 Gio de swap dans la configuration par défaut. D'autres options existent aussi, comme Mail-in-a-Box et iRedMail. Quel que soit votre choix, les mises à jour, les sauvegardes et la supervision sont votre affaire.
Liste de contrôle avant d'envoyer
- Le port 25 sortant est-il ouvert ?
- L'enregistrement PTR est-il défini et pointe-t-il en retour vers la même IP ?
- Les enregistrements SPF, DKIM et DMARC sont-ils publiés ?
- Le certificat TLS est-il valide ?
- L'adresse IP figure-t-elle sur une liste de blocage ?
- Un message de test envoyé à vous-même est-il arrivé en boîte de réception ou dans les spams ?
Une solution plus simple
Pour la plupart des projets, la configuration la plus pratique consiste à envoyer le courrier transactionnel (réinitialisations de mot de passe, notifications de commande) via un service d'envoi d'e-mails, et à utiliser un service de boîtes aux lettres hébergées pour votre messagerie. Votre serveur ne fait tourner que votre application, et la remise du courrier est laissée à des spécialistes. Si vous voulez quand même faire tourner votre propre serveur, vérifiez les enregistrements ci-dessus avant d'installer quoi que ce soit.
Commentaires0
Pas encore de commentaire
Soyez le premier à partager votre avis.
Veuillez vous connecter ou vous inscrire pour laisser un commentaire.