Nell’era di internet trasmettere e comunicare informazioni a grandi distanze è diventato un requisito necessario di ogni applicazione che desideri essere competitiva sul mercato. A tal proposito voglio proporvi una semplice routine che, facendo riferimento alle tecnologie del Mailer messe a disposizione da Visual Basic 2005, ci consente di inviare semplici E-Mail testuali, in formato Html, e persino con allegati tramite il protocollo SMTP.
Creiamo un nuovo progetto Windows e salviamolo da qualche parte.
Successivamente, nella finestra del codice, immettere il seguente listato:
Imports System.Net.Mail ‘Aggiungiamo il NameSpace per l’invio delle E-Mail.
Public Class FormPrincipale
‘Creiamo una enumerazione per elencare le possibili modalità di formattazione del testo dell’email.
Public Enum EmailFormat As Integer
HTML = 1
Testo_Semplice = 2
End EnumPublic Sub SendEMail(ByVal Da As String, _
ByVal A As String, _
ByVal Oggetto As String, _
ByVal Formato As EmailFormat, _
ByVal Testo As String, _
ByVal Allegato As Boolean, _
ByVal IndirizzoAllegato As String)‘DA: Indirizzo da visualizzare quando si spedisce l’email.
‘A: Indirizzo a cui spedire l’email.
‘OGGETTO: Oggetto dell’email da spedire.
‘FORMATO: Formato del testo dell’email (HTML o Testo Semplice).
‘TESTO: Testo dell’email, varierà in base al tipo di formato scelto.
‘ALLEGATO: Flag che ci consente o meno di inviare allegati.‘Dichiaro un oggetto SMTPClient e lo configuro con i dati d’accesso del mio indirizzo
‘E-Mail esistente (per le mie prove ho usato un indirizzo E-Mail registrato su WWW.EMAIL.IT
Dim MySMTP As New System.Net.Mail.SmtpClient(”Indirizzo SMTP”, “Porta”) ‘Per esempio: ….SmtpClient(”smtp.email.it”, “25″)
Dim MyCredential As New System.Net.NetworkCredentialMyCredential.UserName = “USERNAME MIO INDIRIZZO EMAIL” ‘
MyCredential.Password = “PASSWORD MIO INDIRIZZO EMAIL”MySMTP.EnableSsl = False ‘Abilito o disabilito l’autenticazione SSL in base al tipo di servizio E-Mail utilizzato.
MySMTP.Credentials = MyCredential ‘Assegno all’oggetto MySMTP le credenziali precedentemente impostate.‘Dichiaro due oggetti MailAddress e gli assegno gli indirizzi impostati nei parametri.
Dim My_Da As MailAddress = New MailAddress(Da)
Dim My_A As MailAddress = New MailAddress(A)Dim eMail As New MailMessage(My_Da, My_A)
eMail.Subject = Oggetto‘Verifico in che modo formattare il testo all’interno dell’email.
Select Case Formato
Case EmailFormat.HTML
eMail.Body = “<MARQUEE><B>” & Testo & “</B></MARQUEE>”
eMail.IsBodyHtml = TrueCase EmailFormat.Testo_Semplice
eMail.Body = Testo
eMail.IsBodyHtml = TrueEnd Select
‘Verifico se inserire allegati nell’email
If Allegato Then
eMail.Attachments.Add(New Attachment(IndirizzoAllegato))
End If‘Spediamo l’email
Try
MySMTP.Send(eMail)Catch ex As Exception
MsgBox(”Si è verificato un errore nella procedura di invio E-Mail.”, MsgBoxStyle.Critical, “”)
MsgBox(Err.Number & ” ” & Err.Description, MsgBoxStyle.Critical, “”)End Try
End Sub
End Class
Utilizzo:
Call SendMail(”da@dominio.it”,”a@dominio.it”,”Email prova”,HTML/Testo_Semplice,”Corpo del messaggio”,True/False,”Indirizzo File da allegare”)



Interessante opinione…
!!