Question Pourquoi ai-je besoin d'un serveur SMTP?


Pourquoi ai-je besoin d'un serveur SMTP intermédiaire pour envoyer du courrier? Pourquoi mon client (Outlook, Thunderbird) ne peut-il pas envoyer de messages directement au domaine SMTP du destinataire?

Par exemple, si je dois envoyer un email à address@example.com avec mon compte Gmail, je l'envoie au smtp.gmail.com serveur; et puis ce serveur enverra mon message au serveur MX de example.com.


90
2017-11-27 07:12


origine


Duplicata possible de Pourquoi les clients de messagerie n'utilisent pas directement le serveur SMTP du destinataire - WoDoSc


Réponses:


Il est techniquement possible d'envoyer un email directement au serveur SMTP du destinataire à partir de votre ordinateur.

Si vous le regardez de manière historique, si le serveur SMTP distant est en panne, vous voulez qu'un système le gère automatiquement et continue à le réessayer. Vous avez donc un serveur SMTP. De même, dans le passé, tous les serveurs de messagerie n'étaient pas connectés, toutes les liaisons longue distance coûtaient cher, de sorte que le courrier serait mis en file d'attente et envoyé lorsqu'un lien était établi.

En ce qui concerne Internet, il est toujours utile d'avoir des mécanismes pour réessayer l'envoi d'e-mails si un serveur n'est pas disponible, et il n'est pas idéal pour cette fonctionnalité d'être écrite dans le MUA (Mail User Agent / programme de messagerie). Ces fonctions entrent dans un MTA (serveur de messagerie / serveur SMTP).

Mais ça empire-des spammeurs. La plupart des e-mails (plus de 80%) sont des spams. Les fournisseurs de messagerie font donc tout ce qu'ils peuvent pour réduire ce problème, et un grand nombre de techniques font des suppositions sur la manière dont le courrier électronique est distribué. Les considérations suivantes sont importantes:

  1. Greylisting: Certains fournisseurs suppriment automatiquement une connexion de messagerie si l'expéditeur et le destinataire n'ont pas encore communiqué, et s'attendent à ce qu'ils essayent une seconde fois, car les spammeurs ne le font souvent pas, alors qu'un serveur SMTP est toujours supposé le faire. Cela réduit les volumes de spam d'environ 80%. C'est nul d'avoir à faire ça cependant.

  2. Réputation: Il est beaucoup plus probable que quelqu'un qui envoie des e-mails via un serveur SMTP réputé et reconnu soit légitime qu'un serveur de nuit. Pour avoir une idée de la réputation, les fournisseurs font un certain nombre de choses:

    1. Bloquer les adresses dynamiques / client (Pas 100%, mais de gros morceaux d'Internet ont été tracés).

    2. Regardez que le DNS inversé correspond au DNS en avant: Pas très difficile à faire, mais montre un certain niveau de responsabilité et de connaissance des meilleures pratiques - et quelque chose que beaucoup de blocs d'adresses client n'ont pas.

    3. Réputation: Lors de la communication avec d'autres serveurs SMTP, de nombreux fournisseurs surveillent la quantité de spam et les volumes de courrier électronique envoyés et peuvent réduire la quantité de spam en limitant les connexions et en surveillant ces paramètres. (Il y a beaucoup de façons de faire, pas toutes évidentes, mais qui nécessitent un expéditeur connu).

    4. SPF et DKIM: Ces mécanismes lient les ressources DNS au domaine nom pour rendre le forgeage du courrier plus difficile, et serait difficile (mais pas nécessairement impossible à déployer si le programme de messagerie (MUA) est responsable du courrier sortant. (Ajouté pour rendre cette réponse plus complète comme il a déjà été accepté. Crédit pour cela devrait aller aux affiches ci-dessous comme ça m'a échappé, mais c'est quand même très valable)

Il y a probablement d'autres préoccupations mineures, mais ce sont les principales.


112
2017-11-27 07:32



N'oublie pas ça pas exactement mineur les choses comme SPF (mise en liste blanche des hôtes autorisés à envoyer du courrier pour un domaine) et DKIM (signature numérique des messages au niveau du domaine) - en particulier ce dernier n'est possible qu'avec un relais dédié. - grawity
@grawity Cela vaut la peine de le mentionner, mais pourquoi DKIM n'est-il pas "possible" sans relais dédié? Les sélecteurs DKIM ne sont pas liés à l'application ou à l'adresse IP émettrice. Si votre client de messagerie peut signer le message avec une clé publiée, il est aussi valide que tout autre signataire. - Mathias R. Jessen
@ManuH: selon les paramètres de la réponse, le courrier normal compromet 1/5 du volume de courrier. Selon les métriques sur mon serveur, le courrier normal compromet 1/20 du volume de courrier. C'est un compromis formidable. - dotancohen
@manuh: La liste grise fonctionne en fermant la connexion avant que l'e-mail soit envoyé - il écoute uniquement jusqu'à ce qu'il reçoive l'expéditeur et le destinataire - qui se trouvent dans l'en-tête. En outre, certains systèmes grise vont immédiatement. Accepter tous les messages provenant d'un serveur SMTP qui a déjà tenté de réessayer. Malheureusement, c'est très efficace. - davidgo
Pourrait ajouter que dans "le bon vieux jour", le courrier était souvent envoyé d'un serveur SMTP à un autre, puis à un autre, puis à un autre avant d'atteindre sa destination. Cela fonctionnait généralement très bien, mais par exemple lors de l'attaque rtm-worm, l'un des ordinateurs était l'un des relais de messagerie essentiels, donc les courriels contenant des alertes, des solutions et des corrections au ver pouvaient prendre jusqu'à 48 heures. leurs destinataires. - Baard Kopperud


Pourquoi ai-je besoin d'un serveur SMTP intermédiaire pour envoyer du courrier? Pourquoi ne peut pas mon   client (Outlook, Thunderbird) envoie des messages directement au   domaine SMTP du destinataire?

En 1991 et dans la majeure partie du début des années 90 et même avant, vous pourriez faire ce que vous décrivez. Mais en réalité, en 2015, même si l'on peut techniquement envoyer un courrier électronique à quiconque depuis n'importe quel ordinateur sur lequel un service de messagerie est installé, le monde du SPAM a rendu cette méthode inutilisable.

Lorsque vous utilisez un "vrai" service SMTP, les choses sont définies comme les enregistrements PTR, les enregistrements SPF et même les DomainKeys qui sont tous définis pour un but et un but uniquement: attester que le SMTP qui envoie le message est légitime. Et si ce n'est pas? Filtrer le message dans un dossier SPAM ou le "grand abîme" de la suppression. Voici une ventilation de chacun de ces éléments:

  • PTR (Pointer Record / Reverse DNS Record): Vérification au niveau du serveur. Comme expliqué ici, un enregistrement PTR est utilisé pour mapper une interface réseau (IP) à un nom d'hôte. Signification si vous avez l'adresse 123.456.789.0 sur votre serveur SMTP envoi d'emails pour smtp.example.com alors un enregistrement PTR approprié pour cela serait smtp.example.com. Semble trop simple, mais cela fonctionne car le seul qui peut vraiment définir un enregistrement PTR est le propriétaire de l'adresse IP et il ne peut être défini que sur son matériel. Il agit donc comme un point de vérification vers qui possède / exécute / gère cette adresse IP.

  • SPF (Sender Policy Framework): Vérification du niveau d'entrée DNS du nom d'hôte. Un enregistrement SPFcomme expliqué ici-C'est essentiellement un enregistrement DNS défini par le détenteur du nom de domaine qui fournit une liste d'adresses IP et de noms d'hôte des serveurs autorisés à envoyer des e-mails pour ce nom de domaine. C'est encore une autre étape de vérification qui garantit que seul le véritable propriétaire du nom de domaine d'un serveur SMTP peut envoyer des messages. Donc, disons un serveur avec l'adresse IP de 123.456.789.9 envoie des emails pour example.com. Nous savons déjà que smtp.example.com les usages 123.456.789.0, mais une entrée d'enregistrement SPF pour example.com peut dire, "Hey! 123.456.789.9 est un bon serveur! Il est légitime! Respectez ses emails! "

  • DKIM (DomainKeys Identified Mail): Vérification du niveau de messagerie Comme expliqué ici et sur Wikipédia, "DKIM est un système de validation de courrier électronique conçu pour détecter les usurpations d’e-mail en fournissant un mécanisme permettant aux destinataires de courrier électronique de vérifier que le courrier entrant d’un domaine est autorisé par les administrateurs de ce domaine et que le courrier électronique . "En utilisant des hachages cryptographiques, DKIM vérifie que le courrier lui-même n’a pas été filtré ou falsifié pendant le transit. Cela sert également de point de vérification supplémentaire dans la chaîne "Êtes-vous légitime ou êtes-vous un spam?".

Ainsi, au bout du compte, un serveur SMTP tourné vers le public ayant une valeur quelconque aura au moins deux de ces éléments (PTR et SPF) configurés pour vérifier que le serveur SMTP et le courrier électronique associé sont légitimes. Tout le monde n'utilise pas DKIM, mais c'est une autre couche de validation qui devient de plus en plus populaire de nos jours, alors que les SPAMmers deviennent plus tenaces dans leurs efforts pour envoyer du SPAM.


32
2017-11-27 19:36





La plupart des fournisseurs de services Internet résidentiels bloquent le port TCP 25 (SMTP) afin de vous empêcher de participer à un réseau de spam. Si votre PC est infecté, votre PC peut commencer à cracher du spam à la demande de quelqu'un d'autre.


15
2017-11-27 07:23



Vous écrivez "La plupart des ISP résidentiels bloquent le port TCP 25 (SMTP)" <- Pouvez-vous préciser ce que cela signifie? Voulez-vous dire qu'ils ne vous laisseront pas faire une connexion sortante vers un serveur SMTP sur le port 25? Ou voulez-vous dire qu'ils ne vous laisseront pas recevoir une connexion sur le port 25? - barlop
@barlop le premier - ils bloquent les connexions sortantes sur des liaisons résidentielles vers des machines autres que leurs propres serveurs de messagerie (ou même vers n'importe où, car ils peuvent utiliser le 587 ou le 465 pour leurs propres serveurs). Cependant, il est un peu exagéré de dire que la plupart des FAI le font. - hobbs
@ Hobbs - Mon expérience (et c'est une bonne partie de mon travail) est différente. Bien que de nombreux FAI bloquent le trafic en quittant leur réseau avec une cible de port 25 (qui force le trafic du port 25 sur leurs serveurs de messagerie), il en va généralement de même pour les ports 587 et 465. Les ports 587 et 465 requièrent généralement l'authentification et le blocage et sont spécifiquement MUA à MTA plutôt que MTA-MTA - Le blocage de ces ports génèrerait un énorme retour de force car de nombreuses entreprises en ont besoin. - davidgo
@hobbs, je n'ai jamais écrit que la plupart des FAI le font; ce que j'ai écrit c'est que la plupart FAI résidentiels Faites ceci Par exemple, AT & T, Comcast, TWC, Verizon, etc. le font pour leurs clients résidentiels, mais ils ne le font pas pour leurs clients commerciaux. - Ron Maupin


Les autres réponses sont toutes excellentes, et le spam y est pour beaucoup.

Mais il existe en fait une réponse plus simple, plus générique: les fonctionnalités. L'envoi de courrier électronique via SMTP est en réalité une entreprise très complexe. Même sans spam, vous ne voudriez pas implémenter l'ensemble des fonctionnalités du protocole SMTP dans chaque client de messagerie; vous êtes mieux avec un logiciel dédié (sendmail, postfix, etc. sont les plus gros du monde * nix, Exchange dans le monde Windows).

Par exemple, même au plus simple, un "vrai" serveur SMTP doit au moins être capable de résoudre les enregistrements MX. Ensuite, il doit négocier des fonctionnalités (principalement TLS, mais il y a aussi d'autres fonctionnalités). Il doit gérer les files d'attente pour réessayer, générer des rapports de non-remise, etc.

Et ce n'est que la fonctionnalité de base indispensable sans laquelle le serveur ne fonctionnerait même pas. Il n'inclut même pas des éléments tels que la réécriture d'adresses, les publipostages. Sans parler de la douzaine d'autres protocoles que sendmail et al supportent, tels que UUCP.

L'implémentation de SMTP dans Outlook, Thunderbird, etc. est très minime - au mieux, l'équivalent de l'utilisation d'un hôte actif sur sendmail, le cas échéant.

Problème connexe, mais distinct: le courrier électronique est un sujet très sensible à la sécurité, et vous voudrez peut-être qu'un ou plusieurs serveurs gérés centralement le gèrent, au lieu de potentiellement des centaines ou des milliers de serveurs individuels sur chaque poste de travail.


6
2017-11-30 00:04



C'est un bon point. Il ne s'agit pas seulement des fonctionnalités réelles de la file d'attente et ainsi de suite: le disponibilité du serveur fait une différence sur certaines de ces fonctionnalités. S'il y a un problème et que vous fermez votre ordinateur portable, il ne pourra pas réessayer avant d'être allumé - le serveur de messagerie est probablement disponible 24 heures sur 24 et 7 jours sur 7. Une fois que vous avez envoyé votre message au serveur par SMTP, votre client de messagerie n'a pas besoin de rester en ligne pour garantir la livraison. - David Spillett


Pourquoi ai-je besoin d'un serveur SMTP intermédiaire pour envoyer du courrier? Pourquoi mon client (Outlook, Thunderbird) ne peut-il pas envoyer de messages directement au domaine SMTP du destinataire?

Vous pourriez créer un programme de messagerie qui a fait cela, et je ne doute pas que d'autres l'ont déjà fait (ou tenté).

Vous écrivez essentiellement un outil à la fois MUA (agent utilisateur de messagerie) et MTA (agent de transfert de courrier) en un.

La raison pour laquelle cela est traditionnellement divisé en différents outils, avec le MTA résidant "côté serveur", est qu'un MTA qui envoie des messages via Internet ouvert est considérablement plus complexe à écrire et à configurer, et qu'il profite également serveur fiable "toujours actif".

Un MTA doit:

  • Recherchez et connectez-vous à des serveurs auxquels il ne fait pas confiance ou qui peuvent mal se comporter, et gérez les conditions d'erreur de manière judicieuse et sans perdre de courrier.

  • Traitez les serveurs en panne et acheminez-les vers d'autres serveurs ou mettez-les en file d'attente pour les réessayer ultérieurement. Cela fonctionne mieux sur un processus serveur "toujours connecté" à Internet. Cela implique également que l'agent de transfert de courrier a besoin de ses propres zones de stockage pour le courrier mis en file d'attente.

  • Traiter une gamme de capacités de serveur différentes, en ajustant le comportement en fonction des capacités du serveur de réception.

  • Faites un compte rendu à l'utilisateur sur les conditions d'erreur ou lorsque le courrier ne peut pas être livré, afin que le courrier ne soit pas perdu.

  • Avoir d'excellentes pratiques de sécurité et être très conscient de la sécurité.

  • Idéalement, résider sur un serveur fiable, toujours connecté, avec une adresse IP stable et une entrée DNS inversée, c’est-à-dire une connexion Internet adaptée aux serveurs publics. Cela aide les autres systèmes à ne pas détecter le courrier envoyé en tant que spam.

Compte tenu de ces exigences, il est logique de loger quelque part le serveur SMTP sur un serveur permanent accessible au public et d'essayer d'utiliser un outil adapté à ce travail particulier.


4
2017-12-01 01:09





Une autre chose à considérer est recevoir le courrier électronique retourné. Au minimum, tous les e-mails sortants ont une adresse FROM où une réponse peut être envoyée (utilisateur inconnu, réponse de vacances, etc.). Pour que l'adresse de retour soit résolue, il doit exister un enregistrement MX qui pointe vers l'emplacement de la boîte de réception de retour. À moins que vous n'envoyiez des e-mails à partir d'un ordinateur avec une adresse IP statique toujours active, vous aurez besoin d'un serveur pour gérer ces messages entrants. Ceci est généralement (mais pas toujours) géré par le même service.

GMail, Outlook 365 et Yahoo Mail sont des exemples de services de messagerie utilisés par des personnes qui envoient des messages électroniques. Pour l'envoi de courriers électroniques commerciaux, il existe des services tels que MailChimp, Marketo et Eloqua, qui sont très efficaces pour envoyer des emails en masse à une entreprise et gérer des éléments tels que les rebonds, la limitation et la délivrabilité.

Voir: https://en.m.wikipedia.org/wiki/Bounce_address


1
2017-11-27 19:01



Je ne comprends pas pourquoi j'ai besoin d'une adresse IP statique pour obtenir ma réponse ... La réponse doit être envoyée à mon serveur MX (ex. Gmail) et non à mon ordinateur. Ai-je raison? - Tobia
Oui tu as raison. Je suppose que ce que je veux dire, c’est qu’une boîte de réception existe généralement sur un serveur quelque part pour que le courrier électronique sortant soit envoyé. Logiquement, il est logique que ce serveur gère également le courrier électronique sortant. Sinon, vous perdriez des choses comme avoir un dossier de messagerie "envoyé". - dana
Mmh c'est raisonnable. Mais je suis libre d'envoyer un message avec Gmail avec une adresse inconnue "from" ou "replyto" pour supprimer son serveur smtp ... - Tobia
Si vous utilisez GMail, vous devez utiliser l'authentification smtp. Ainsi, l'adresse FROM est définie sur votre adresse @ gmail.com. Sinon, vous pourriez utiliser leur service pour usurper votre ordinateur. - dana
De nos jours, beaucoup d'utilisateurs ne se soucient guère des rebonds, MAIS une configuration qui n'accepte pas les rebonds est généralement considérée comme une source de spam probable. - rackandboneman