Comment faire pour envoyer un message électronique à partir de mon application en C#?
C'est le code que j'ai écrit:
MailMessage mail = new MailMessage("[email protected]", "[email protected]");
mail.Subject = "This is a test!!";
mail.Body = "testing...";
SmtpPermission connectAccess = new SmtpPermission(SmtpAccess.Connect);
System.Console.WriteLine("Access? " + connectAccess.Access);
SmtpClient client = new SmtpClient("mail.myurl.com", 2525);
client.Send(mail);
Ça ne fonctionne pas. J'obtiens une exception à la ligne "du client.Envoyer(mail)" qui dit "Boîte aux lettres non disponible. La réponse du serveur a été (MYLOCALCOMPUTERNAME) [MON IP LOCALE]:3045 est actuellement pas autorisé à relayer à travers."
connectAccess.L'accès n'retour "se Connecter" (je ne suis pas sûr si cela était nécessaire... je l'ai ajouté pour démarrer le processus de dépannage.)
Est-ce à dire que ma machine locale doit être configuré d'une certaine façon? Ce sujet quand j'déployer mon application à d'autres peuples machines? Sera-t-il besoin pour être la configuration locale là-bas? Je cherche simplement à créer une "Envoyer des Commentaires" type de lien à partir de mon application.
(Note: dans mon application j'utilise mon vrai adresses e-mail dans les "à" et "de" et mon smtp est vraiment mon adresse smtp à l'endroit qui héberge mon url/site web)
merci!
-Adeena
Vous devez vous connecter pour publier un commentaire.
@ Michael: merci pour le lien. C'est très utile.
Je pense j'ai compris mon problème. Je n'ai besoin d'ajouter les informations d'identification de connexion après, j'ai créé mon "client" de l'objet. J'ai ajouté la ligne suivante:
(désolé, j'ai cette habitude que lorsque j'effectue une recherche de réponse sur le web et par le biais de mes manuels pour 2 heures, j'ai fini par casser et de publier la question, puis 5 minutes plus tard le comprendre. 🙂 Je pense que l'acte d'écrire la question m'aide plus qu'autre chose)
Donc ça fonctionne... bien que je ne prétends pas, je comprends tout à propos de comment et pourquoi il fonctionne donc je ne s'attendent à exécuter certains problèmes que je l'ai donner à mon programme à d'autres de les utiliser. c'est à dire, tout le monde pourra utiliser le programme qui a une connexion internet sera en mesure d'ouvrir cette connexion smtp de mon serveur? Je ne connais pas la réponse... je vais attendre, voir, et d'en apprendre un peu plus.
Merci! 🙂
-Adeena
Est l'adresse de destination sur le même hôte que le serveur smtp? Si non, ce serait d'expliquer un relais d'erreur.
Le serveur SMTP que vous utilisez doit être soit la destination finale, le message ou le premier saut dans l'échange de courrier. Par exemple, si vous envoyez des e-mails à une adresse yahoo à partir d'une adresse gmail, le premier serveur de messagerie pour voir le message doit être votre serveur gmail ou yahoo serveur. Les serveurs entre la volonté de rejeter le message parce qu'ils ont le relais désactivé (pour réduire le spam, etc.).
Si ils sont de la même hôte, sont en mesure de vous envoyer un mail directement d'une autre manière?
Essayez ce test via telnet pour voir si votre serveur smtp fonctionne correctement: http://www.messagingtalk.org/content/470.html
Vérifiez votre pare-feu. Est 2525 poste ouvert?