Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Problème SMTP : emails renvoyés de manière récurrente par 1&1
    Bonjour,

    J'ai réalisé un petit logiciel qui permet d'envoyer des emails via la fonction SMTP du .NET Framework. Il fonctionne bien, sauf que j'ai eu récemment le problème suivant :
    J'utilise 2 prestataires pour l'envoi via SMTP : OVH (qui ne pose aucun problème) et 1&1, par le serveur auth.smtp.1and1.fr.
    Lorsque j'envoie un email via auth.smtp.1and1.fr, l'email est bien envoyé, bien reçu par le destinataire,... sauf que cet email est renvoyé au destinataire systématiquement et continuellement TOUTES LES 4 HEURES !... et ça a duré une semaine. De quoi le rendre fou !
    J'imagine que c'est le serveur SMTP de 1&1 qui exécute cette opération récurrente, mais pourquoi ?

    Y aurait-il un ou plusieurs paramètres à positionner dans la fonction SMTP du .NET Framework pour éviter ce problème ? Il y a tant de paramètres que je ne sais où agir. La seule chose que j'ai tentée est de régler l'option EnableSsl = True, puis EnableSsl = False, mais le résultat est le même.

    Auriez-vous une idée SVP.
    Merci d'avance.

  2. #2
    Futur Membre du Club
    Aucune réponse... Ça ne me surprend pas, le sujet est très pointu. Je vais bien tenter de me tourner vers 1&1, mais il est peu probable que j'obtienne une réponse précise de ce côté là non plus.

  3. #3
    Futur Membre du Club
    En faisant un nouvel essai, j'ai compris pourquoi le serveur 1&1 envoyait inlassablement le même message.

    Explication :
    1 - Le message était donc envoyé via le serveur SMTP de «1&1.
    2 - Il y avait 2 destinataires : l'un dans le nom de domaine « ovh.net », l'autre dans « free.fr ».
    3 – L'email était envoyé sans encodage particulier.

    Il s'avère que si le message parvenait bien au destinataire chez « ovh.net », en revanche il était rejeté par le serveur du domaine « free.fr ». Voilà donc pourquoi 1&1 essayait inlassablement de le renvoyer (reste à savoir tout de même pourquoi il était renvoyé systématiquement au 2 destinataires à chaque fois ?).

    Reste la question du pourquoi « free.fr » rejetait-il l'email. Il semble que les serveurs de Free n'acceptent que des emails encodés. En effet, j'ai tenté de renvoyer le message encodé en « base64 » et là ça a bien marché. Les 2 destinataires ont bien reçu le message (et une seule fois!).

    Code VB pour encoder un message email en base64 :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    ' smBodyHTML (String) est le corps du message en HTML
    ' smBodyTexteSimple (String) est le corps du message en texte simple
    Dim insMail As New MailMessage()
    With insMail
     
    	'------------- Création d'un message multi-view --------------------
    	Dim TexteSimple As AlternateView = AlternateView.CreateAlternateViewFromString(smBodyTexteSimple, System.Text.Encoding.GetEncoding("ISO-8859-1"), "text/plain")
    	Dim TexteHTML As AlternateView = AlternateView.CreateAlternateViewFromString(smBodyHTML, System.Text.Encoding.GetEncoding("ISO-8859-1"), "text/html")
    	.AlternateViews.Add(TexteSimple)
    	.AlternateViews.Add(TexteHTML)
     
    	'--------------- Encodage du message multi-view -------------------
    	'Codage Base64.
    	TexteSimple.TransferEncoding = System.Net.Mime.TransferEncoding.Base64
    	TexteHTML.TransferEncoding = System.Net.Mime.TransferEncoding.Base64
    End With

    Le problème est donc résolu.