'
' MadeIn@CEREAL
' Fonction d'envoi d'un mail avec Outlook 2003
'
' Il faut avant d'utiliser ajouter la référence à Outlook dans les références COM
' Microsoft Office 11 Object Library
' Importer le Namespace
' Imports Outlook = Microsoft.Office.Interop.Outlook
'
' Utilisation de la fonction :
' Function CreateMail(ByVal astrRecip As String, ByVal strSubject As String, ByVal strMessage As String, Optional ByVal astrAttachments As String = "") As Boolean
'
' ByVal astrRecip As String
' Liste des destinataires séparés par des points virgules ;
'
' ByVal strSubject As String
' Sujet du message
'
'ByVal strMessage As String
' Corps du message
'
'Optional ByVal astrAttachments As String
' Liste des fichiers attachés séparés par des points virgules ;
'
' Exemple :
' CreateMail("dest1@test.com;dest2@test.int", "Sujet du message", "Corps du message à envoyer", "monfichier1.zip;monfichier2.doc")
'
' Adaptation du code exemple http://www.vbfrance.com/codes/CONTROLER-OUTLOOK-ENVOYER-MAIL-DEPUIS-VB_320.aspx mais pour qu'il fonctionne avec du .NET
'
Imports Outlook = Microsoft.Office.Interop.Outlook
Module SendOutlookMail
Function CreateMail(ByVal astrRecip As String, ByVal strSubject As String, ByVal strMessage As String, Optional ByVal astrAttachments As String = "") As Boolean
Dim olApp As Outlook.Application
Dim objNewMail As Outlook.MailItem
Dim varRecip As Object
Dim varAttach As Object
Dim blnResolveSuccess As Boolean
Dim sRceipList() As String
Dim sAttachments() As String
olApp = New Outlook.Application
objNewMail = olApp.CreateItem(Outlook.OlItemType.olMailItem)
'Crée un tableau avec la liste des expéditeurs
sRceipList = Split(astrRecip, ";")
sAttachments = Split(astrAttachments, ";")
With objNewMail
' Add each item in the varRecip array to the Recipients collection.
For Each varRecip In sRceipList
.Recipients.Add(varRecip)
Next varRecip
' Determine if all recipients have corresponding entries in the
' Outlook address book.
blnResolveSuccess = .Recipients.ResolveAll
' Add each item in the varAttach array to the Attachments collection
' and specify the subject and text of the mail message.
For Each varAttach In sAttachments
.Attachments.Add(varAttach)
Next varAttach
.Subject = strSubject
.Body = strMessage
' If all recipients are valid then send the message now, otherwise
' display the message so the user can fix invalid e-mail addresses.
If blnResolveSuccess Then
.Send()
'
'.Display()
Else
MsgBox("Unable to resolve all recipients. Please check " & "the names.")
.Display()
End If
End With
Return True
End Function
End Module