2010-06-07 9 views
0

Je dois envoyer du courrier en utilisant C#. Je suis chaque étape correctement, mais je ne peux pas envoyer de courrier en utilisant le code ci-dessous. Quelqu'un peut-il m'aider s'il vous plaît à résoudre ce problème? Je sais que c'est un vieux problème et j'ai lu tous les articles connexes sur ce site à ce sujet. Mais je ne peux pas résoudre mon problème. Alors s'il vous plaît aidez-moi à résoudre ce problème. L'erreur est: Failure sending mail. J'utilise System.Net.Mail pour le faire.Envoyer du courrier en utilisant C#

using System.Net.Mail; 

string mailTo = emailTextBox.Text; 
string messageFrom = "[email protected]"; 
string mailSubject = subjectTextBox.Text; 
string messageBody = messageRichTextBox.Text; 
string smtpAddress = "mail.abc.com"; 
int smtpPort = 25; 
string accountName = "[email protected]"; 
string accountPassword = "123"; 

MailMessage message = new MailMessage(messageFrom, mailTo);        
message.Subject = mailSubject; 
message.SubjectEncoding = System.Text.Encoding.UTF8; 
message.Body = messageBody; 
message.BodyEncoding = System.Text.Encoding.UTF8;    
SmtpClient objSmtp = new SmtpClient(smtpAddress, smtpPort); 
objSmtp.UseDefaultCredentials = false; 
NetworkCredential basicAuthenticationInfo = new System.Net.NetworkCredential(accountName, accountPassword); 
objSmtp.Credentials = basicAuthenticationInfo; 
objSmtp.Send(message);         
MessageBox.Show("Mail send properly"); 
+0

Le serveur SMTP est-il en cours d'exécution? –

+0

oui.aucun problème sur smtp je suis sûr. – riad

Répondre

2

Si le serveur de messagerie cible est un SMTP IIS (ou tout autre) serveur, vous devrez vérifier les restrictions de relais sur ce serveur.

Généralement, vous devez configurer le serveur de messagerie pour accepter le relais entrant du nom de votre machine (si Active Directory) ou de l'adresse IP. Soit cela, soit vous pouvez en faire un Open Relay - mais si c'est un serveur de messagerie public, ce n'est pas recommandé car vous aurez des spammeurs qui le relaient en un rien de temps. Vous pouvez également configurer le serveur pour accepter les messages relayés d'une identité particulière. Si c'est le code d'un site Web, cela signifie que vous devrez probablement configurer le site pour qu'il fonctionne en tant qu'utilisateur de domaine. les NetworkCredentials sont envoyés correctement.

+0

merci.Mais est-ce que vous vous sentez est leur et le problème sur le code ?? – riad

+0

S'il s'agit d'un problème de relais, il n'y a pas de problème avec le code mais avec la conception –

1

oh les amis ... j'ai eu la solution.

juste j'ai utilisé le port 26. maintenant le courrier envoie correctement.

int smtpPort = 26; 

de toute façon grâce à Zoltan

riad.

Questions connexes