Invio di E-Mail tramite SMTP con Visual Basic .NET



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 Enum

Public 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.NetworkCredential

MyCredential.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 = True

Case EmailFormat.Testo_Semplice
eMail.Body = Testo
eMail.IsBodyHtml = True

End 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”)

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
  • Interessante opinione… :D !!

  • salve sono martina giancarlo ho 2 pacchi, ho fatto il traking e mi dici che è a lecce ma l’indirizzo di consegna è sbagliato. vi dò il mio indirizzo. martina giancarlo via pilella n°1 marina di alliste c.a.p. 73040 alliste (LE) il mio numero di traking è. 1811oo580385. vi lascio il mio numero di cell. 3469531254 grazie aspetto vostre risposte il mio indirizzo e-mail è gianchydj@yahoo.it

  • salve sono martina giancarlo ho 2 pacchi, ho fatto il traking e mi dici che è a lecce ma l’indirizzo di consegna è sbagliato. vi dò il mio indirizzo. martina giancarlo via pilella n°1 marina di alliste c.a.p. 73040 alliste (LE) il mio numero di traking è. 1811oo580385. vi lascio il mio numero di cell. 3469531254 grazie aspetto vostre risposte

  • Come prego ?

Pinterest