Alessio Luffarelli - Sito Web
Sei qui: Guide e Tutorial / Web / Inviare email in ASP.Net
Inviare email (con allegato) in ASP.Net

La piattaforma .Net offre metodi incredibilmente semplici per inviare email, con o senza allegato. Data questa semplicità, in questo mini tutorial illustreremo questi metodi tramite esempi. Vediamo prima un esempio di invio di email senza allegato. Il codice è ben documentato per cui non aggiungerò altro.

' Dichiaro l'oggetto MailMessage
Dim MyEmail As New Web.Mail.MailMessage

' Specificare il mittente
MyEmail.From = "Mittente"
' Specificare l'indirizzo del destinatario
MyEmail.To = "destinatario@email.com"
' Specificare l'oggetto della mail
MyEmail.Subject = "Oggetto dell'email"
' Omettere questa riga se si vuole spedire la mail con priorità normale
MyEmail.Priority = Mail.MailPriority.High ' Priorità alta
' Omettere questa riga se si vuole spedire la mail in formato testo semplice
'MyEmail.BodyFormat = Mail.MailFormat.Html ' Formato HTML
'Inserire il testo della mail, eventualmente con tag HTML (se specificato il formato HTML)
MyEmail.Body = "<strong>Ciao</strong>, questo è il testo della mail!"

' Spedisce la mail
Web.Mail.SmtpMail.Send(MyEmail)

Ecco ora invece come mandare una mail con allegato. In questo codice sono commentate solamente le istruzioni che differiscono dall'esempio precedente.

Dim MyEmail As New Web.Mail.MailMessage
' Specificare il nome e il percorso (sul server) del file che si vuole mandare come allegato
Dim attachment As New Mail.MailAttachment("C:\percorso dell'allegato sul server\nome dell'allegato")

MyEmail.From = "Mittente"
MyEmail.To = "destinatario@email.com"
MyEmail.Subject = "Oggetto dell'email"
MyEmail.Body = "Ciao, questo è il testo della mail"
' Aggiungo l'allegato all'email
MyEmail.Attachments.Add(attachment)

Web.Mail.SmtpMail.Send(MyEmail)

Questi esempi possono essere utilizzati non solo da codice ASP .Net, ma anche da applicazioni VB.Net (purchè sul computer su cui si esegue l'applicazione sia installato un server di posta). Inoltre è molto semplice la traduzione di questi esempi in linguaggio C#.

(C) Alessio Luffarelli