giu2

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


Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /var/www/web2/html/mondoinformatico.info/nuovo/wp-content/plugins/paginated-comments/paginated-comments.php(475) : eval()'d code on line 50

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

Commenti all'articolo (4)

  • di artgatt
    giovedì, 17 luglio, 2008 alle 10:11

    Interessante opinione… :D !!

  • mercoledì, 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 il mio indirizzo e-mail è gianchydj@yahoo.it

  • mercoledì, 14 gennaio, 2009 alle 10:46

    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

  • mercoledì, 14 gennaio, 2009 alle 10:53

    Come prego ?

Lascia un commento

Registrati a Mondo Informatico lasciare commenti, ascrivere articoli e guadagnare da subito con il paid to write con un unico nickname e avatar. Inoltre potrai segnalare notizie, scrivere articoli e mantenere lo storico nella tua pagina personale.

Se sei già registrato effettua il Login

Ricorda i miei dati per la prossima volta
Inviami una e-mail quando ci sono altri commenti