Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C#] Invio di e-mail

  1. #1

    [C#] Invio di e-mail

    Buongiorno,

    mi serviva integrare nella mia applicazione un servizio che inviasse un'e-mail.
    Mi trovo di fronte a un piccolo problema... Che SmtpClient devo impostare? ogni SmtpClient che ho provato parrebbe non funzionare.... posto il codice.

    MailMessage Msg = new MailMessage();
    //Imposta il mittente
    Msg.From = new MailAddress("email@mittente.it", "mittente");
    //La proprietà .To è una collezione di destinatari,
    //quindi possiamo addizionare quanti destinatari vogliamo.
    Msg.To.Add(new MailAddress("email@destinatario", "destinatario"));
    //Imposto oggetto
    Msg.Subject = "Inviare Mail con C#";
    //Imposto contenuto
    Msg.Body = "Mail inviata!";
    Msg.IsBodyHtml = true;
    //Imposto il Server Smtp
    SmtpClient Smtp = new SmtpClient("mail.libero.it");
    //Spediamo la mail
    Smtp.Send(Msg);
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    ciao,
    probabilmente il server smtp richiede l'autenticazione.

    prova ad aggiungere Smtp.UseDefaultCredentials = true;
    questo dovrebbe utilizzare le credenziali della tua connessione.


    EDIT :

    ovviamente devi mettere smtp della tua connessione.

  3. #3
    ecco un semplice sistema per inviare mail:

    codice:
    try
    {
          string IndirizzoMittente, IndirizzoDestinatario, IndirizzoServer, Oggetto, Messaggio;
          IndirizzoMittente = "XX@alice.it";
          IndirizzoDestinatario = "X@Y.it";
          IndirizzoServer = "out.alice.it";
          Oggetto = textBox2.Text;
          Messaggio = textBox3.Text;
          System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(IndirizzoMittente, IndirizzoDestinatario, Oggetto, Messaggio);
    
          System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient(IndirizzoServer);
          mailClient.Send(message);
    }
    catch (Exception ex)
    {
               MessageBox.Show(ex.Message);
    }
    in questo esempio invio un email da: XX@alice.it a X@Y.it in indirizzo server ci va...l'indirizzo del server: nel codice è riportato l'esempio con un e-mail del mittente del tipo XX@alice.it

    se hai bisogno di chiarimenti dimmelo

  4. #4
    i server smtp ormai usano solo connessioni autenticate quindi devi fornire username e password mediante le relative property..inoltre devi impostare la porta del server a seconda del provider che vuoi usare e impostare pure se accedere via SSL oppure no

  5. #5
    ti faccio un esempio con gmail:

    string username = "tuonick@gmail.com";
    string pwd = @"tuapass";

    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(new MailAddress("mail address"), new MailAddress("mail address"));
    message.Body = "body";
    message.Subject = "subject";

    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
    smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    System.Net.NetworkCredential oCredential = new System.Net.NetworkCredential(username, pwd);
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = oCredential;
    smtp.EnableSsl = true;
    smtp.Send(message);

  6. #6
    penso che la cosa più importante che trip ha scritto è questa:
    codice:
    smtp.EnableSsl = true;
    nel tuo codice manca, la maggior parte dei server attualmente sono muniti di autenticazione SSL, quindi la tua applicazione deve connettersi in SSL!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.