Oggi vi posto uno script semplice e veloce che potrebbe tornare utile in parecchie occasioni.

Sarà capitato anche a voi di voler inviare un’email attraverso un form o una pagina dinamica del vostro sito web.
E magari perché oltre al semplice testo non inviamo anche un file in allegato?

Niente di più facile! Ecco a voi il codice in C# per inviare mail con allegato in .NET 2.0:

//using System.Net.Mail
try
{
  using(MailMessage mm = new MailMessage())
  {
    mm.IsBodyHtml = true;
    mm.From = new MailAddress("mittente@domnio.it");
    mm.To.Add(new MailAddress("detinatario@dominio.it"));
    mm.Subject = "Test email HTML";
    mm.Body = "</pre>
<div style="color: red;">Messaggio da <a href="'http://www.icoarena.com">Ico Arena</a></div>
<pre>
";
    mm.Attachments.Add(new Attachment("nomeFile.txt"));

    SmtpClient client = new SmtpClient();
    client.Send(mm);
  }
}
catch
{
  // se l'invio va in errore...
}

E’ tutto, semplice no?!
Alla prossima…

2 comments to “Inviare mail con allegato in .NET 2.0”

You can leave a reply or Trackback this post.
  1. marco - 14/01/2015 Reply

    Il problema è che funziona solo in locale…ma se questo codice lo utilizzi in un sito web…non funzionerà! Cerco anche io la soluzione ma non riesco a trovarla

    Marco

    • icoarena - 14/01/2015 Reply

      Ciao Marco,
      il codice l’ho testato su un sito web che curo e ti assicuro che funziona alla perfezione.
      Una volta instanziato l’oggetto MailMessage “mm”, al suo interno specifichi i vari parametri:
      using (MailMessage mm = new MailMessage())
      {
      mm.From = …
      mm.Body = …

      //qui aggiungi l’alleggato utilizzando la classe Attachment
      Attachment data = new Attachment(Server.MapPath(“percorso del file da allegare”);
      mm.Attachments.Add(data);

      //specifichi il tuo server SMTP e invii
      SmtpClient client = new SmtpClient(“192.168.1.0”);
      client.Send(mm);
      }

Leave a Reply

Your email address will not be published.