En ce qui concerne cette question dans laquelle j'utilisais une méthode basique pour trouver le fournisseur de messagerie d'un utilisateur particulier, puisque j'utilisais Amazon SES
pour envoyer des e-mails, mais, étant aussi assez nouveau dans ce domaine, je me demandais si Amazon SES
offre une solution à cela? Est-ce que Amazon SES
propose un moyen (API/service, etc.) de trouver le fournisseur de messagerie de l'utilisateur à qui j'envoie un courriel?
Réponses
Trop de publicités?Votre question est un peu vague quant au résultat exact que vous essayez d'atteindre avec ces données.
Je ne sais pas si vous connaissez le fonctionnement de la livraison des e-mails sur Internet. Mes excuses si cela n'est pas nouveau pour vous. À un niveau de base, un e-mail est simplement transporté de machine en machine (serveur SMTP à serveur SMTP) jusqu'à trouver 'le' serveur sur lequel se trouve finalement votre boîte aux lettres. (C'est une simplification relativement grossière à l'heure actuelle, mais toujours vraie).
La première étape consiste à envoyer le message à un serveur SMTP avec instructions pour livrer le message, généralement avec une adresse e-mail de destination. Maintenant, si vous utilisez les API AWS SES, il y a l'étape additionnelle selon laquelle avant qu'il n'atteigne le serveur SMTP initial, vous exercez d'abord l'API SES qui transfère ensuite ce message aux serveurs SMTP d'Amazon.
Maintenant, le premier serveur SMTP doit savoir où l'envoyer. Cela se fait généralement en exécutant une requête DNS sur le domaine de destination et en recherchant l'enregistrement MX. (Plus d'informations sur les enregistrements MX ici). L'enregistrement MX contient une entrée (ou une liste d'entrées) qui indique à d'autres serveurs SMTP comment contacter ce serveur SMTP pour le domaine. C'est probablement là où votre question en arrive - identifier d'une certaine manière quel 'fournisseur' est en cours d'utilisation. De nos jours, il est très courant qu'un grand fournisseur de services gérés comme Office 365 ou similaire gère ce service pour un domaine. Cela est généralement programmé dans l'enregistrement MX du client, qui est le 'signe révélateur' qu'ils utilisent O365 ou autre chose. Cependant, de nombreux domaines utilisent leurs propres serveurs et il n'y a aucune raison technique empêchant cela. (Petit mensonge : Depuis la nuit des temps, le SPAM est là et la 'réputation' des serveurs SMTP expéditeurs a été assez importante pour dissuader le SPAM, du moins à un moment donné. C'est l'une des raisons pour lesquelles AWS est si strict sur le fait que vous ne pouvez pas envoyer d'e-mails non sollicités - cela nuirait à la réputation de leurs serveurs SMTP SES qui l'envoient et ils ont besoin qu'elle soit 'bonne' afin de ne pas se retrouver sur des listes noires au niveau d'Amazon)
Voici maintenant la prochaine complication et probablement la raison pour laquelle même si une recherche initiale a été effectuée, les données ne peuvent pas garantir de vous donner ce que vous voulez. Comme le service SMTP est intrinsèquement de saut en saut, rien n'empêche l'enregistrement MX sur le domaine DNS d'être simplement un proxy vers un autre ensemble de serveurs SMTP. Rappelez-vous que le SMTP est l'un des plus anciens protocoles existant sur Internet et sa simplicité est ce qui l'a rendu fonctionnel avant toute l'infrastructure que nous avons aujourd'hui. Un serveur SMTP prend des commandes des utilisateurs (ou d'autres serveurs SMTP) et fait ensuite sa part pour transmettre le message plus près de l'utilisateur réel.
Je ne sais pas si votre fonctionnalité finale modifierait d'une certaine façon le message envoyé en fonction de la destination, ou si peut-être il ne serait pas envoyé du tout. Les deux ne sont pas pris en charge par les API AWS SES (lien). (Au fait, ce serait les API AWS SES qui feraient cela, car cette fonctionnalité n'est tout simplement pas dans le vocabulaire du SMTP). Vous pouvez consulter la référence des API AWS SES pour ce qu'elles peuvent faire et ce qu'elles peuvent offrir, mais s'il s'agit de modifier le message avant la livraison en fonction du fournisseur, il n'y a actuellement aucune fonction pour cela.
Liens :
https://fr.wikipedia.org/wiki/Enregistrement_MX
https://docs.aws.amazon.com/ses/latest/APIReference/Welcome.html