Contrôler outlook 2003 - envoyer un mail depuis vb.net 2005

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 058 fois - Téléchargée 20 fois

Contenu du snippet

CONTRÔLER OUTLOOK 2003 - ENVOYER UN MAIL DEPUIS VB.NET 2005 modification du code original de microsoft

publié : http://www.vbfrance.com/codes/CONTROLER-OUTLOOK-ENVOYER-MAIL-DEPUIS-VB_320.aspx

Source / Exemple :


'
' 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

A voir également

Ajouter un commentaire

Commentaires

christian_grandjean
Messages postés
30
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
19 novembre 2013
2 -
Aucune idée je n'ai jamais essayé, mais si tu trouve la solution dis le moi.
newvicking
Messages postés
10
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
1 décembre 2010
-
Bonjour,

Le code fonctionne parfaitement.
Par contre, s'il y a plusieurs adresses mails configurer dans Outlook, ça prend forcement l'adresse par défaut comme expéditeur.
Y-a-t-il un moyen de modifier l'expéditeur (en prenant l'une des autres adresses définies dans Outlook) ?

Yannick
christian_grandjean
Messages postés
30
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
19 novembre 2013
2 -
Heuhh ce code ne fonctionne que avec VB.NET pas avec VB6, j'ai pas testé sous VB6.
erokage
Messages postés
91
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
23 juin 2009
-
je ne suis pas sur visual studio mais su visual basic
christian_grandjean
Messages postés
30
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
19 novembre 2013
2 -
Je viens de faire exactement copier coller du contenu + ajouter la référence "Microsoft.Office.Interop.Outlook 12.0.0.0" et ça fonctionne au poil avec mon Studio.NET 2008.
Je ne sais plus quoi te dire pour t'aider, désolé.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.