Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONTRÔLER OUTLOOK 2003 - ENVOYER UN MAIL DEPUIS VB.NET 2005


Description

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

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

Commentaires et avis

signaler à un administrateur
Commentaire de zavier666 le 15/06/2007 17:51:21

D'un point de vue technique d'utilisation à priori rien à redire, en revanche
à noter tout de même que .Net 2005 possède déjà une classe permettant d'envoyer et recevoir de
mails : MailMessage

Sinon, pas mal comme code!

slts!
______________________________________________
Toujours + de VB et d'API => APi @ la Loupe
http://apialaloupe.free.fr

signaler à un administrateur
Commentaire de erokage le 16/06/2009 17:32:17

Bonjour
J'ai essayer ton code, je travaille sur vb2008 et ton
"Imports Outlook = Microsoft.Office.Interop.Outlook "
ne fonction pas, pourais tu m'aider?

signaler à un administrateur
Commentaire de erokage le 17/06/2009 08:32:05

Bonjour.
Merci pour ton code car c'est exactement ce que je cherchais, mon seul problème et que:

Imports Outlook = Microsoft.Office.Interop.Outlook

ne fonctionne pas sur vb 2008 pourais tu m'aider?

signaler à un administrateur
Commentaire de christian_grandjean le 17/06/2009 08:54:36

Bonjour
As-tu essayé d'installer la partie programmation dans le setup de ton Office ? Je sais plus ou c'est mais relance le setup il me semble que c'est dans les composants additionnels.

@CEREAL
http://www.simple-tech.info

signaler à un administrateur
Commentaire de erokage le 18/06/2009 10:40:16

Merci mais j'ai trouver une solution qui me convient, c'est une nouvel form dédier à 'envoi de mail.
Je n'ai pas encore réussi à en envoyer mais j'y suis presque!
Merci quand même pour votre aide

signaler à un administrateur
Commentaire de erokage le 18/06/2009 13:36:17

en faite le problème c'est que

Outlook.Application
Outlook.MailItem

sont non défini d'après le compilateur.
pourtant j'ai bien mis

Imports Microsoft.Office.Interop.Outlook

signaler à un administrateur
Commentaire de christian_grandjean le 18/06/2009 13:43:35

Bonjour
Avez-vous bien ajouté la référence dans les références COM
==> Microsoft Office 11 Object Library
Propriété de l'application ==> Références ==> Ajouter

signaler à un administrateur
Commentaire de erokage le 18/06/2009 14:29:05

oui car sinon

Imports Microsoft.Office.Interop.Outlook

serait souligner.
je n'ai pas vraiment mis celle que tu dis car j'ai outlook 2007 mais j'ai mis toutes les références en rapport avec outlook pour être sur.

signaler à un administrateur
Commentaire de christian_grandjean le 18/06/2009 14:43:11

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é.

signaler à un administrateur
Commentaire de erokage le 18/06/2009 15:28:00

je ne suis pas sur visual studio mais su visual basic

signaler à un administrateur
Commentaire de christian_grandjean le 18/06/2009 17:28:39

Heuhh ce code ne fonctionne que avec VB.NET pas avec VB6, j'ai pas testé sous VB6.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Lire un mail (direct OR outlook) [ par Kerad ] *** INTRO ****Cette question peut être stupide voir banale mais je n'ai jamais touché à la prog internet (sauf sous Delphi) = je n'y connais rien et d Envoyer un mail sans Winsock ni Outlook ! [ par Jonef ] Bonjour à tous !Voilà, en fait je souhaite faire un programme qui envois des e-mails, le problème c'est que Winsock ne marche pas donc pas possible d' Mail anonyme [ par Apophis ] slt,Comment faire pour envoyer un mail de manière autonome de préférence (sans outlook) ou l'on peut mettre le nom que l'on veut? (le code présent sur Envoie de mail avec outlook express via vb [ par fredo ] J'aimerai pouvoir appelle outlook express via vb et avoir la fenêtre d'envoye d'un nouveau message ouvert de oulook express et dans cette fenêtre y fi e-mail avec VB6 par outlook [ par Wallole ] Je voudrais savoir comment faire pour envoyer un mail avec une pièce jointe en se servant de outlook, le tout dans un programme VB6. Je ne cherche p Petit souci automation outlook [ par seb_d_angers ] Un petit souci en automation Outlook (reference Microsoft Outlook 9)Private Sub Command1_Click()Set myolapp = CreateObject("Outlook.Application")Set m Pb de Recup et lecture de Mail avec outlook [ par MOULE ] HI,Voila, je voudrais, sur l'arrivée d'un Mail, et avec outlook (2000), récupérer le corps de ce mail sous forme de chaine de caracteres et le placer Recuperer avec MAPI, un Mail non lu, placé dans sous dossier d'outlook!!!!!!!!! [ par MOULE ] de l'aide:Je veux recuperer les mails non lus qui arrive dans un sous dossier de ma boite de reception d'outlook (2000). et cela avec le controle Mapi Création d'un mail Outlook à compléter depuis Access [ par isa911 ] Bonjour, J'ai crée une fonction qui me permet d'intégrer dans un nouveau mail en pièce jointe un document sélectionné. Je ne voudrais pas qu'il parte envoi de mail sns outlook !!! [ par coco ] Bojour,quelqu'un saurait-il comment je peux envoyer un mail sans passer par outlook ?MERCI


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,733 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.