• 2 Giugno 2008
  • 1 Stella2 Stelle3 Stelle4 Stelle5 Stelle Nessun voto

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

RSScommenti all'articolo (1)

  • artgatt artgatt

Interessante opinione… :D !!

inserito il 17 Luglio 2008 alle 10:11

scrivi commento

Nome:

Email:

Url:




E’ con immensa soddisfazione che comunico che mondoinformatico.info ha superato i 1.000 articoli pubblicati!

Ebbene si, sembra incredibile ma tantissimi di voi hanno scritto molti articoli, alcuni molto interessanti, altri meno ma tutti originali, unici e in tema.

Il traguardo…

Ultimi Articoli Commenti

Inserisci il tuo indirizzo e-mail per rimanere aggiornato sulle novità del sito.

  • SONDAGGIO
Che notizie vorresti trovare su mondoinformatico?
Visualizza risultati
  • CRITEO
  • CHATTING

utenti online

Ci sono attualmente 0 utenti e 4 ospiti collegati