188 votes

Comment définir le nom d’utilisateur et mot de passe pour l’objet SmtpClient dans .NET ?

Je vois les différentes versions du constructeur, on utilise des informations à partir du web.config, on spécifie l'hôte, et on l'hôte et le port. Mais comment dois-je configurer le nom d'utilisateur et mot de passe pour quelque chose de différent à partir du web.config? Nous avons la question où est notre smtp interne est bloqué par certains clients de la sécurité et nous voulons utiliser leur serveur smtp, il est un moyen de le faire à partir du code à la place de web.config?

Ah attendez, est-il comme cela? Dans ce cas, comment dois-je utiliser le web.config si aucun n'est disponible à partir de la base de données par exemple?

public static void CreateTestMessage1(string server, int port)
        {
            string to = "jane@contoso.com";
            string from = "ben@contoso.com";
            string subject = "Using the new SMTP client.";
            string body = @"Using this new feature, you can send an e-mail message from an application very easily.";
            MailMessage message = new MailMessage(from, to, subject, body);
            SmtpClient client = new SmtpClient(server, port);
            // Credentials are necessary if the server requires the client 
            // to authenticate before it will send e-mail on the client's behalf.
            client.Credentials = CredentialCache.DefaultNetworkCredentials;

      try {
              client.Send(message);
      }
            catch (Exception ex) {
              Console.WriteLine("Exception caught in CreateTestMessage1(): {0}", 
                    ex.ToString() );
      }              
        }

348voto

pipelinecache Points 1485

SmtpClient peut être utilisé par le code :

36voto

Gabe Points 24378

Utilisation``

Eh oui, il suffit d’ajouter ces deux lignes à votre code.

2voto

Mohsin Khan Points 31
protected void btnsubmit_Click(object sender, EventArgs e)
{
    string name = txtname.Text.Trim();
    string email = txtemail.Text.Trim();
    string contact = txtcontact.Text.Trim();
    string comments = txtcomment.Text.Trim();

    MailMessage message = new MailMessage();
    message.IsBodyHtml = true;
    message.Subject = "Contact inquery from website!";
    message.From = new MailAddress("xyz@gmail.com", "its me!Mohsin Azam!");
    message.To.Add("abc@yahoo.com");
    message.Body = name + "(" + email + "," + contact + ")sent Inquery message...";

    NetworkCredential nc = new NetworkCredential("xyz@gmail.com", "password");
    smpt = new SmtpClient("smtp.gmail.com", 587);
    smpt.EnableSsl = true;

    smpt.Credentials = nc;

   // for (int i = 0; i < 10;i++ )   //send 10 times
        smpt.Send(message);   
}                   //email send;

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