Configuration, utilisation et meilleures pratiques du serveur SMTP
Publié: 2022-04-08Vous êtes-vous déjà demandé comment fonctionnent réellement les e-mails ? Lorsque vous envoyez un e-mail et qu'en quelques secondes, il se retrouve dans la boîte de réception de votre destinataire, la technologie sous-jacente est le protocole SMTP (Simple Mail Transfer Protocol). La façon dont les e-mails sont stockés sur le serveur une fois reçus à l'aide du serveur IMAP/POP3 est une histoire pour un autre moment, pour l'instant, nous couvrirons SMTP et à la fin de l'article, nous espérons que vous avez une compréhension complète du protocole SMTP, des serveurs SMTP , Options courantes et comment vous assurer que vos e-mails se retrouvent dans le SPAM.
Qu'est-ce que SMTP ?
Simple Mail Transfer Protocol ( SMTP ) est le protocole utilisé pour envoyer des e-mails, il définit une norme commune afin que n'importe quel serveur SMTP puisse communiquer avec n'importe quel autre serveur SMTP ou serveur POP3/IMAP sur Internet et qu'ils se comprennent. Vous pouvez dire qu'il garantit que les différentes entités impliquées dans le transfert d'e-mails parlent un langage commun.
Qu'est-ce qu'un serveur SMTP ?
Le protocole SMTP doit être mis à disposition par une application, cette application qui répond aux requêtes SMTP pour ceux qui souhaitent envoyer des e-mails ou relayer des e-mails est appelée SMTP Server/SMTP Relay. Vous pouvez le diviser en deux types comme indiqué ci-dessous, les deux sont pour la plupart identiques à l'exception d'une différence mineure -
- Serveur SMTP : C'est la même chose qu'un relais SMTP mais principalement utilisé lorsque le domaine du récepteur est le même que le domaine du serveur. Ceux-ci sont généralement utilisés avec des services de messagerie gratuits tels que gmail.com , yahoo.com.
- Serveur de relais SMTP : Il s'agit également d'un serveur, mais ce terme est utilisé lorsque les domaines de messagerie source et de destination sont différents des domaines du serveur SMTP. Un exemple peut être SendGrid ou SendInBlue qui les proposent. Ces serveurs sont principalement des routeurs pour le courrier.
Faux serveurs SMTP : - Ces serveurs sont principalement utilisés pour les tests par les développeurs, ce sont essentiellement des serveurs fourre-tout qui permettent aux utilisateurs de voir à quoi ressemblera l'e-mail du destinataire sans envoyer aucun e-mail. Vous pouvez soit installer une application locale comme MailHog ou MailCatcher, soit utiliser un cloud fourni comme Mailtrap ou Our local tool.
Comment fonctionne SMTP ?
Vous trouverez ci-dessous un guide commun sur le fonctionnement du processus d'envoi d'e-mails avec le SMTP.
- Un utilisateur souhaitant envoyer un e-mail de [email protected] à [email protected] utilise son client de messagerie pour rédiger un e-mail avec Objet et Corps et appuyez sur Envoyer.
- Une fois que l'utilisateur appuie sur envoyer, le client de messagerie se connectera au serveur SMTP configuré pour l'instant supposons qu'il s'agit de smtp.source.com . Le client et le serveur SMTP font une poignée de main et si une autorisation est requise, le client fournira des informations d'identification pour la même chose.
- Après la poignée de main, le client de messagerie envoie l'adresse du destinataire qui, dans notre cas, est [email protected], le sujet et le corps.
- Si c'était notre utilisateur qui avait envoyé à quelqu'un dans le même domaine, notre serveur le transmettra simplement en interne au serveur destinataire local.
- Ensuite, le serveur SMTP utilisant une requête DNS pour les enregistrements MX découvre l'adresse IP ou de domaine du destinataire sur laquelle son serveur SMTP est exécuté.
- Ensuite, il se connecte à l'adresse SMTP du destinataire et tente de livrer l'e-mail.
- Le serveur de messagerie des destinataires vérifie s'il peut gérer l'e-mail qui lui est transféré. Et si tout va bien, il le transmet au serveur IMAP ou POP3 entrant.
Port et adresse SMTP communs
Dans la plupart des cas, l'adresse SMTP sera un préfixe de mail ou smtp devant le domaine auquel vous essayez de vous connecter. Ceux-ci sont également spécifiés par les enregistrements Mail Exchange (MX) dans le DNS qui dirigent un client vers le serveur de messagerie qui est censé gérer la manière dont les messages électroniques doivent être acheminés.
Pour trouver l'adresse du serveur SMTP, vous pouvez utiliser la commande dig
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Ensuite, vous pouvez utiliser la commande dig pour trouver l'adresse IP si nécessaire
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
Les choses ne sont pas si simples avec le port auquel se connecter, les serveurs et les relais ont généralement un ensemble de ports différents auxquels vous pouvez vous connecter, chacun a été créé au fil du temps pour répondre à des exigences spécifiques.
Port SMTP
Numéro de port | La description | Information |
---|---|---|
25 | Port SMTP standard | Il doit être principalement utilisé pour le relais de messagerie |
465 | Port SMTP obsolète | Était pour SMTP sécurisé, utilisé SSL pour le cryptage. Évitez l'utilisation. |
587 | Port SMTP sécurisé moderne | La plupart des clients de messagerie modernes l'utiliseront, il utilise le cryptage TLS. |
2525 | Autre port SMTP non standard | Ceci est utilisé comme alternative à 587 en cas de blocage. |
Dans la plupart des cas, vous utiliserez le Port 587 pour vos besoins.
Noms de serveur SMTP courants
Les adresses courantes des serveurs SMTP commencent par smtp. ou courrier. avec le nom de domaine, certains peuvent également avoir une adresse IP. Nous avons répertorié quelques-uns des plus courants avec leurs détails ci-dessous -
Nom du service | Serveur SMTP | Port |
---|---|---|
Google Mail | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
yahoo Mail | smtp.mail.yahoo.com | 465 |
Yahoo Mail Plus | plus.smtp.mail.yahoo.com | 465 |
Yahoo Royaume-Uni | smtp.mail.yahoo.co.uk | 465 |
Yahoo Allemagne | smtp.mail.yahoo.com | 465 |
Yahoo AU/NZ | smtp.mail.yahoo.com.au | 465 |
O2 | smtp.o2.ie | 25 |
O2.fr | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
AT&T | smtp.att.yahoo.com | 465 |
NTL @ntlworld.com | smtp.ntlworld.com | 465 |
Connexion BT | pop3.btconnect.com | 25 |
BT Openworld | mail.btopenworld.com | 25 |
BT Internet | mail.btinternet.com | 25 |
Orange | smtp.orange.net | 25 |
Orange.fr | smtp.orange.co.uk | 25 |
Wanadoo France | smtp.wanadoo.co.uk | 25 |
Hotmail | smtp.live.com | 465 |
O2 Online Allemagne | mail.o2online.de | 25 |
T-Online Allemagne | securesmtp.t-online.de | 587 |
1&1 (1et1) | smtp.1and1.com | 587 |
1&1 Allemagne | smtp.1und1.de | 587 |
Comcast | smtp.comcast.net | 587 |
Verizon | sortant.verizon.net | 465 |
Verizon (hébergé par Yahoo) | sortant.yahoo.verizon.net | 587 |
Messagerie Zoho | smtp.zoho.com | 465 |
Mail.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
[email protégé] par USA.NET | smtp.postoffice.net | 465 |
Paramètres du fournisseur de serveur SMTP de masse
Que se passe-t-il si vous souhaitez envoyer plus de quelques e-mails, disons 10 000 e-mails, vous aurez alors besoin de quelque chose comme un relais SMTP de masse, ils vous fourniront également une API et d'autres fonctionnalités telles que le suivi de la livraison, les taux d'ouverture, etc. Les e-mails sont assez rapides car SMTP en tant que protocole est un peu lent.
Si le nombre n'est pas très grand, vous pouvez utiliser notre liste de fournisseurs de serveurs SMTP gratuits pour faire votre choix.
Si vous souhaitez envoyer un e-mail à votre large base d'utilisateurs ou peut-être pour le marketing par e-mail, nous avons indiqué les prix ci-dessous avec divers fournisseurs répertoriés.
Vendeur | Gratuit / Mois | Limite journalière | Forfaits payants | commentaires |
---|---|---|---|---|
SendInBlue | 9000 | 300 | 25 $ pour 10 000 $ à 499 $ pour 1 million | Meilleur gratuit |
TurboSMTP | 6000 | 200 | 14,95 pour 50 000 à 979,95 pour 2 millions. | 6000/mois pendant 12 mois |
Publipostage d'Alibaba | 6000 | 200 | 0,00029 pour 1000 e-mails | |
PépiPost | 3000 | 100 | 25 $ pour 150 000 à 445 pour 2 millions | |
Grille d'envoi | 3000 | 100 | 14,95 $ pour 50 000 e-mails à 749 $ pour 150 000 | |
SparPost | 3000 | 100 | 20 $ pour 50 000 $ à 525 $ pour 1 M | |
E-mail élastique | 3000 | 100 | Coûtant comme Amazon SES | Option payante à faible coût |
Amazon SE | 62000 | .0001 pour 1000 e-mails | L'un des moins chers, gratuit s'il est envoyé depuis le serveur AWS EC2 | |
Gmail | 15000 | 500 | Gsuite est l'option premium | Le domaine sera gmail.com, peut entraîner la suspension du compte. |
Utiliser un serveur SMTP avec WordPress
WordPress alimente près de 40% des sites sur Internet, par défaut, il utilise PHP Mail pour envoyer des e-mails transactionnels qui, s'ils ne sont pas configurés, utilisent sendmail , Cela peut être un hasard dans le cas où la livraison est concernée, nous vous recommandons donc d'utiliser un Plugin WordPress qui peut utiliser les paramètres SMTP ou utiliser l'API SMTP pour la même chose.
Par défaut, WordPress utilise PHP mail pour envoyer un e-mail, s'il est configuré correctement, c'est suffisant, mais dans la plupart des cas, il est plus facile d'utiliser un service tiers car la plupart des hébergeurs partagés n'autorisent pas l'accès direct à la console pour vérifier ce qui se passe et votre L'adresse IP de l'hôte peut avoir été mise sur liste noire en raison de SPAM car il peut également y avoir d'autres utilisateurs sur le serveur (en cas d'hébergement partagé commun) qui pourraient ne pas se comporter et entraîner la mise sur liste noire de votre adresse IP. En étant sur liste noire, nous entendons que l'adresse IP de votre serveur est placée dans une liste globale de spammeurs connus, ce qui rend encore plus difficile le passage de vos e-mails, vous pouvez vérifier votre statut ici.
Pour WordPress, nous recommandons le plugin Wp Mail SMTP, il est facile à configurer, à configurer et prend en charge de nombreux fournisseurs différents, y compris Gmail, il existe également une option pour enregistrer tous les e-mails envoyés. Le plan gratuit devrait être suffisant pour la plupart des utilisateurs.
Vous pouvez facilement l'installer depuis WordPress ou même le télécharger depuis le site Web de WordPress. Il a un plan premium, mais la gratuité devrait suffire à la plupart des utilisateurs.
Configurer un serveur SMTP auto-hébergé sous Linux
Comparaison rapide MTA, nous choisirons Postfix car nous travaillerons avec Linux -
si vous êtes... | qmail | Exim | Envoyer un mail | Suffixe | Remarques |
---|---|---|---|---|---|
Inexpérimenté | 0 | 3 | 1 | 3 | Exim et Postfix ont de bons documents et des exemples clairs |
Inquiet pour la sécurité | 3 | 2 | 0 | 3 | Postfix est sécurisé et moderne ; qmail est sécurisé mais très vieux et grincheux ; Exim est sécurisé selon différents critères (lire ci-dessus.) |
S'appuyer sur les courriers Sendmail | 0 | 1 | 3 | 2 | Postfix peut exécuter des milters ; peut utiliser des routeurs/scripts de filtre Exim équivalents |
Vouloir un minimum de tracas | 0 | 3 | 0 | 3 | Sendmail a des interfaces simples, mais plus vous approfondissez, plus cela empire. Postfix et Exim sont plus prévisibles. |
Ressources limitées | 3 | 2 | 1 | 2 | Voir l'application intégrée ci-dessous pour d'autres commentaires |
Sous Windows | 0 | 2 | 3 | 0 | Sendmail a un port Windows natif ; Exim est dans la distribution Cygwin |
Besoin d'un accompagnement commercial | 1 | 3 | 3 | 3 | Il existe des sociétés compétentes pour tous les MTA ; qmail est intrinsèquement moins supportable étant si vieux |
Postfix est un agent de transfert de courrier (MTA) qui peut agir comme un serveur ou un client SMTP pour envoyer ou recevoir des e-mails. Il est facile à installer et à configurer et nous l'utilisons nous-mêmes pour la plupart de nos besoins , il peut également être configuré pour servir d'intermédiaire pour transférer des e-mails via des services de messagerie tiers. Nous ne couvrirons que la configuration de base et enverrons votre premier e-mail.
La configuration la plus simple consiste à installer postfix et vous devriez être prêt à partir.
Une telle configuration basique fonctionnera techniquement, mais vos e-mails pourraient atterrir dans le SPAM, pour répondre à cela et assurer une meilleure délivrabilité des e-mails, nous avons un autre guide où nous ajoutons les autres exigences comme DKIM ou SPF qui sont nécessaires pour s'assurer que vos e-mails vont par. Mais encore, à moins qu'il n'y ait une très bonne raison, nous ne recommandons pas d'exécuter votre propre serveur de messagerie.
Ce processus suppose que vous avez un nouvel Ubuntu 20.04 installé et que vous pouvez travailler avec Linux en ligne de commande, sinon nous vous recommandons d'utiliser l'un des fournisseurs SMTP existants. Nous allons configurer le postfix sur le serveur Ubuntu 20.04 et envoyer un e-mail en l'utilisant à notre propre service factice pour tester s'il fonctionne.

Pour commencer, nous émettrons la commande de mise à jour du cache pour le gestionnaire de packages apt
sudo apt update
Ensuite, nous allons installer postfix en utilisant la commande suivante -
sudo apt install postfix
L'installation ouvrira un tas d'invites, veuillez faire les sélections suivantes -
- Type général de configuration de messagerie ? : Pour cela, nous choisirons un Site Internet car celui-ci correspond à nos besoins en infrastructure.
- Nom de messagerie système : Il s'agit du domaine de base qui sera utilisé pour envoyer un e-mail si aucun domaine d'expéditeur n'est spécifié par l'utilisateur. Donc, si vous envoyez un e-mail à partir de l'utilisateur 1 et qu'aucun domaine n'est spécifié, il sera postfixé à l'e-mail. Donc, si example.com est donné, il enverra un e-mail de [email protected] .
Cela devrait prendre en charge la configuration de base. Pour une configuration complète, veuillez suivre notre guide de configuration du serveur de messagerie. Maintenant, le port 25 devrait être disponible, vous pouvez vérifier s'il est ouvert en utilisant l'une des commandes -
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
Ce que nous recherchons quelque chose comme ça
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Si vous avez même besoin de reconfigurer la configuration, exécutez simplement la commande -
1 |
sudo dpkg - reconfigure postfix |
Nous sommes tous prêts à ce que notre serveur SMTP soit opérationnel. Ensuite, nous pouvons envoyer un e-mail à certains utilisateurs sur Internet ou peut-être attraper tous les e-mails pour tester des choses.
Utilisation d'un serveur SMTP
Habituellement, un client de messagerie est le moyen le plus courant pour la plupart d'entre nous de s'interfacer avec un serveur SMTP, mais vous pouvez également interagir directement avec lui en utilisant telnet. Nous allons commencer par cette méthode car elle est tout simplement cool.
Envoyer du courrier en utilisant telnet sous Linux
Connectez-vous à votre serveur SMTP local en entrant la commande suivante -
1 |
telnet localhost 25 |
Vous verrez quelque chose comme ça -
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Si vous ne parvenez pas à vous connecter, assurez-vous que postfix est en cours d'exécution et vérifiez que le port 25 est ouvert.
Maintenant, envoyons un e-mail pour dire [email protected] ( catch all email ).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
Allez vérifier si l'e-mail est reçu dans la boîte de réception de [email protected] , ou si vous avez utilisé un autre destinataire, vous pouvez le vérifier dans sa boîte de réception.
Envoyer un e-mail à partir de la ligne de commande Linux
Sous Linux, nous pouvons utiliser la commande sendmail pour envoyer rapidement des e-mails.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
J'espère que vous aimez mon article, si vous pensez que j'ai raté certains points ou que je me suis trompé quelque part, faites-le moi savoir et je le mettrai à jour ici.