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

Per approfondire...





RSScommenti all'articolo (4)

  • artgatt artgatt

Interessante opinione… :D !!

inserito il 17 luglio 2008 alle 10:11

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

inserito il 14 gennaio 2009 alle 10:45

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

inserito il 14 gennaio 2009 alle 10:46

Come prego ?

inserito il 14 gennaio 2009 alle 10:53

scrivi commento

Nome:

Email:

Url:


Altri guadagni?

Da questo mese riprendiamo a pubblicare le statistiche di Mondo Informatico.
Tengo a precisare che erano state sospese a causa di problemi interni per i quali non ci era più stato possibile rendere pubblici alcuni dati.
Per questo motivo da…

Mondo Informatico on Facebook
  • SONDAGGIO
Che notizie vorresti trovare su mondoinformatico?
Visualizza risultati

utenti online

Ci sono attualmente 1 utenti e 127 ospiti collegati

  • loasterix