2009-06-06 5 views
1

J'ai créé un simple formulaire de courrier électronique asp.net pour un client, qui envoie des courriels à l'aide de la classe SmtpClient. C'est très basique et fonctionne dans la plupart des cas.E-mail non envoyé à certaines adresses e-mail à l'aide de SmtpClient

Le formulaire est utilisé dans un certain nombre de sites Web, mais il ne fonctionne que par intermittence. Le code fonctionne toujours et ne lance aucune exception, il fonctionne correctement mais de manière intermittente et pour certains clients, l'email n'atteint jamais l'adresse To. Si des modifications sont apportées à un e-mail externe (par exemple, mon compte Hotmail personnel), cela fonctionne correctement.

Nous avons demandé aux destinataires de vérifier leurs boîtes de réception de courrier indésirable mais en vain. Comment serait-on capable de suivre ce problème? Comment puis-je savoir que le serveur asp.net de mes clients a envoyé l'e-mail (auquel cas le problème est à la fin du destinataire) ou non?

Répondre

0

Regardez les en-têtes dans l'e-mail que vous avez dans votre compte Hotmail et voyez à quoi correspondent les champs From: et Reply-To:. Puis, examinez votre code source pour comparer avec ce que vous demandez.

Vous recevez peut-être un message de rejet d'un serveur SMTP (le vôtre ou un autre en route vers la destination) et il peut être envoyé à l'adresse De: de l'e-mail.

Vérifiez que vous avez du code pour gérer les exceptions, testez avec des détails incorrects et voyez ce que StatusCode renvoie.

0

Avez-vous le contrôle du serveur SMTP, de sorte que vous pouvez accéder à ses journaux et voir ce qui se passe?

Si ce n'est pas le cas, pouvez-vous configurer un serveur SMTP que vous pouvez contrôler, qui ne fait que transmettre des courriels au serveur réel, mais qui enregistre des données.

Avez-vous défini l'adresse de l'expéditeur sur quelque chose de valide, pour que vous puissiez voir si des messages d'erreur sont revenus?

Pas de réponses, je crains, mais peut-être que les questions vous donneront quelques idées qui pourraient vous aider. Si vos clients utilisent le serveur Exchange, vous pouvez utiliser le suivi des messages pour voir ce qu'il est advenu du message.

0

S'ils utilisent le serveur SMTP IIS intégré, vous pouvez activer la journalisation pour voir ce qui se passe également. Comme le premier message mentionné, vérifiez vos en-têtes de message et assurez-vous qu'ils sont valides ...

0

Pouvez-vous accéder à la boîte aux lettres qui appartient à l'adresse De:. Toute erreur de livraison sera envoyée à cette adresse.

Si l'adresse de l'expéditeur n'existe pas, il s'agit probablement d'une cause de non distribution du courrier. Certains serveurs de messagerie vérifient si l'adresse de provenance existe, dans le but de bloquer certains spams.