Une class contenant une fonction de validation d'adresse mail, et trois classes d'envoi de mail avec ou sans pièce jointe).
Public Class MAIL''' <summary>''' Vérifie la validité de l'adresse mail''' </summary>''' <param name="str_mail">adresse email à valider </param>''' <returns>true si valide </returns>Public Shared Function IsValideMail(ByVal str_mail As String) As BooleanIf (str_mail <> "") ThenDim RegexpEmail As New Regex("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")Dim bEmailValid As Boolean = RegexpEmail.IsMatch(str_mail)Return bEmailValidElseReturn FalseEnd IfEnd Function''' <summary>''' Envoi un mail sans fichier joint''' </summary>''' <param name="destinataire">destinataire</param>''' <param name="Expediteur">Expéditeur</param>''' <param name="sujet">Sujet</param>''' <param name="body">Corp du message</param>''' <returns>OK si tout va bien</returns>''' <remarks></remarks>Public Overloads Shared Function EnvoiMail(ByVal destinataire As String, ByVal Expediteur As String, ByVal sujet As String, ByVal body As String) As StringDim resultat As String = "OK"TryDim MessageMail As New Net.Mail.MailMessageDim mailAddressEXP As New Net.Mail.MailAddress(Expediteur)Dim mailAddressDEST As New Net.Mail.MailAddress(destinataire)Dim SMPTserver_name As String = "ServerSMTP"MessageMail.From = mailAddressEXPMessageMail.To.Insert(0, mailAddressDEST)MessageMail.Subject = sujetMessageMail.Body = bodyDim smtpClient1 As New Net.Mail.SmtpClient(SMPTserver_name)smtpClient1.Send(MessageMail)Catch ex As Exceptionresultat = ex.MessageEnd TryReturn resultatEnd Function''' <summary>''' Envoi un mail avec fichier (stream) joint''' </summary>''' <remarks>Aucune remarque</remarks>Public Overloads Shared Function EnvoiMail(ByVal destinataire As String, ByVal Expediteur As String, ByVal sujet As String, ByVal body As String, ByVal fichier As Stream, ByVal fichierNom As String) As StringDim resultat As String = "OK"Dim SMPTserver_name As String = "ServerSMTP"TryDim MessageMail As New Net.Mail.MailMessageDim mailAddressEXP As New Net.Mail.MailAddress(Expediteur)Dim mailAddressDEST As New Net.Mail.MailAddress(destinataire)MessageMail.From = mailAddressEXPMessageMail.To.Insert(0, mailAddressDEST)MessageMail.Subject = sujetMessageMail.Body = bodyDim File1 As New Net.Mail.Attachment(fichier, fichierNom)MessageMail.Attachments.Add(File1)Dim smtpClient1 As New Net.Mail.SmtpClient(SMPTserver_name)smtpClient1.Send(MessageMail)Catch ex As Exceptionresultat = ex.MessageEnd TryReturn resultatEnd Function''' <summary>''' Envoi un mail avec fichier (chemin serveur) joint''' </summary>''' <remarks>Aucune remarque</remarks>Public Overloads Shared Function EnvoiMail(ByVal destinataire As String, ByVal Expediteur As String, ByVal sujet As String, ByVal body As String, ByVal fichier As String) As StringDim resultat As String = "OK"Dim SMPTserver_name As String = "ServerSMTP"Dim MessageMail As New Net.Mail.MailMessageDim mailAddressEXP As New Net.Mail.MailAddress(Expediteur)Dim mailAddressDEST As New Net.Mail.MailAddress(destinataire)MessageMail.From = mailAddressEXPMessageMail.To.Insert(0, mailAddressDEST)MessageMail.Subject = sujetMessageMail.Body = bodyDim File1 As New Net.Mail.Attachment(fichier)MessageMail.Attachments.Add(File1)TryDim smtpClient1 As New Net.Mail.SmtpClient(SMPTserver_name)smtpClient1.Send(MessageMail)Catch ex As Exceptionresultat = ex.MessageEnd TryReturn resultatEnd FunctionEnd Class