81 votes

Comment puis-je faire SMTP authentifié en C#

J'en crée un nouveau ASP.NET application web qui utilisent le protocole SMTP pour envoyer un message. Le problème, c'est le smtp n'a pas été authentifié de qui envoyer le message.

Comment puis-je faire SMTP authentifié dans mon programme? est-ce que C# ont une classe d'attribut pour entrer le nom d'utilisateur et le mot de passe?

162voto

Arief Points 3058
using System.Net;
using System.Net.Mail;


SmtpClient smtpClient = new SmtpClient();
NetworkCredential basicCredential = 
    new NetworkCredential("username", "password"); 
MailMessage message = new MailMessage(); 
MailAddress fromAddress = new MailAddress("from@yourdomain.com"); 

smtpClient.Host = "mail.mydomain.com";
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;

message.From = fromAddress;
message.Subject = "your subject";
//Set IsBodyHtml to true means you can send HTML email.
message.IsBodyHtml = true;
message.Body = "<h1>your message body</h1>";
message.To.Add("to@anydomain.com"); 

try
{
    smtpClient.Send(message);
}
catch(Exception ex)
{
    //Error, could not send the message
    Response.Write(ex.Message);
}

U pouvez utiliser le code ci-dessus.

7voto

OJ. Points 16939

Définir les informations d'Identification de la propriété avant d'envoyer le message.

1voto

Tor Haugen Points 8258

Comment faites-vous envoyer le message?

Les classes de l' System.Net.Mail d'espace de noms (ce qui est probablement ce que vous devriez utiliser) possède un support complet pour l'authentification, soit spécifié dans le Web.config, ou à l'aide de l' SmtpClient.Credentials de la propriété.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X