begin process at 2010 02 10 13:30:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > CONTRÔLER OUTLOOK (1) - ENVOYER UN MAIL DEPUIS VB

CONTRÔLER OUTLOOK (1) - ENVOYER UN MAIL DEPUIS VB


 Information sur la source

Note :
5,33 / 10 - par 9 personnes
5,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Classé sous :outlook, envoyer, mail, email Niveau :Débutant Date de création :05/07/2000 Vu :40 720

Auteur : painkiller

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

voici un code, fourni par microsoft, qui vous permet d'envoyer un mail par l'intermédiaire d'outlook depuis votre appli.

n'oubliez pas d'ajouter une référence à outlook dans votre appli.

Source

  • Function CreateMail(astrRecip As Variant, _
  • strSubject As String, _
  • strMessage As String, _
  • Optional astrAttachments As Variant) As Boolean
  • Dim olApp As Outlook.Application
  • Dim objNewMail As Outlook.MailItem
  • Dim varRecip As Variant
  • Dim varAttach As Variant
  • Dim blnResolveSuccess As Boolean
  • On Error GoTo CreateMail_Err
  • Set olApp = New Outlook.Application
  • Set objNewMail = olApp.CreateItem(olMailItem)
  • With objNewMail
  • ' Add each item in the varRecip array to the Recipients collection.
  • For Each varRecip In astrRecip
  • .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 astrAttachments
  • .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
  • Else
  • MsgBox "Unable to resolve all recipients. Please check " _
  • & "the names."
  • .Display
  • End If
  • End With
  • CreateMail = True
  • CreateMail_End:
  • Exit Function
  • CreateMail_Err:
  • CreateMail = False
  • Resume CreateMail_End
  • End Function
Function CreateMail(astrRecip As Variant, _
                   strSubject As String, _
                   strMessage As String, _
                   Optional astrAttachments As Variant) As Boolean

   Dim olApp                 As Outlook.Application
   Dim objNewMail            As Outlook.MailItem
   Dim varRecip              As Variant
   Dim varAttach             As Variant
   Dim blnResolveSuccess     As Boolean

   On Error GoTo CreateMail_Err

   Set olApp = New Outlook.Application
   Set objNewMail = olApp.CreateItem(olMailItem)

   With objNewMail
   ' Add each item in the varRecip array to the Recipients collection.
      For Each varRecip In astrRecip
         .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 astrAttachments
          .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
      Else
         MsgBox "Unable to resolve all recipients. Please check " _
             & "the names."
         .Display
      End If
   End With

   CreateMail = True

CreateMail_End:
   Exit Function
CreateMail_Err:
   CreateMail = False
   Resume CreateMail_End
End Function

 

 Conclusion

la propriété astrrecip désigne le nom du recipient (destinataire) INSCRIT dans le carnet d'adresse outlook.
je vais bientot ajouter une source pour montrer comment manipuler le carnet d'adresse outlook


 Sources du même auteur

MANIPULATION DES FICHIERS WORD PROTÉGÉS
RÉCUPÉRER LES PROPRIS D'UN DOCUMENT WORD
SAVOIR SI VOTRE APPLI TOURNE SEULE OU SOUS VB
SAVOIR AVEC QUELLE APPLI S'OUVRE LES FICHIERS D'UNE EXTENSIO...
IMPRIMER UN DOCUMENT WORD

 Sources de la même categorie

Source avec Zip Source avec une capture UPLOAD FTP VB 6 par Onin42
Source avec Zip Source avec une capture Source .NET (Dotnet) FAVORIS URL par Le Pivert
Source avec Zip Source avec une capture Source .NET (Dotnet) DEVSSH CLIENT SFTP/SSH par iblsysteme
Source avec Zip Source avec une capture CONNEXION RÉSEAU par ABUMAI
Source avec Zip CSOCKET - REMPLACEZ WINSOCK PAR LA VERSION 2 DES API par Renfield

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOYER DES EMAILS AVEC PIECES JOINTES EN EXÉCUTANT BLAT par mays
Source avec Zip Source avec une capture GESTION DE NEWSLETTER (PLUGIN OUTLOOK) par freddybesac
Source avec Zip MULTISENDER par TheHacker
Source avec une capture ANNONYM MAIL V3.0.0 [BETA] par aKheNathOn
ENVOYER EN E-MAIL AVEC OUTLOOK EXPRESS SOUS VB par olg137

Commentaires et avis

Commentaire de Jeje Software® le 15/04/2002 15:08:11

C'est bien gentil de nous dire :

n'oubliez pas d'ajouter une référence à outlook dans votre appli.

Mais si tu donnait le nom du fichier auquel tu fait référence ce sera l'occasion
pour moi de tester une source bien prometeuse.

MERCI de repondre

@+

Commentaire de devsurf le 21/10/2002 21:03:02

10 ans plus tard:
'  Pour faire Pour activer le modèle outlook de windows:
'    1. appuyer sur F2
'    2. faites un clique droit avec votre souris pour ouvrir un menu contextuel
'    3. cliquez sur références...
'    4. recherchez Microsoft outlook 8.0 object library  et validez en cliquant sur OK
'    5. vous pouvez maiintenant utilisez l'objet outlook  pour envoyer et gerer les mails
'Si vous n'arrivez pas le faire comme ce ci alors editez votre projet.vbp avec un bloc notes et ajoutez la ligne suivante en deuxieme ligne (si vous avez outlook 97):
'Reference=*G{00062FFF-0000-0000-C000-000000000046}#8.0#0#C:PROGRAM FILESMICROSOFT OFFICE97OFFICEmsoutl8.olb#Microsoft Outlook 8.0 Object Library


'Voici le code à partir d'un bouton:

Private Sub Command1_Click()

'Declaration des objets
    Dim olApp As Outlook.Application
    Dim olMail As Outlook.MailItem

'Création  des instances des objets

    Set olApp = CreateObject("Outlook.Application")
    Set olMail = olApp.CreateItem(olMailIItem)

'Utilisation
    olMail.To = "devsurf@hotmail.com"
    olMail.Subject = "Test de mail"
    olMail.Body = "qui devrait marcher"
    olMail.Send


End Sub

'          devsurf@hotmail.com

Commentaire de FatJoe le 22/11/2002 22:33:34

Slt moi je suis un débutant mais ce code fonctionne à merveille surtout si on utilise  bien dans une frm le code du bouton puis dans un module le code de la fonction.
pour ce qui est des pièces attachées voici la ligne de code simple :
olMail.attachements.add "c: estfichier.txt", olByValue, 1, ""
ligne a améliorer avec des variables et pour ajouter plusieurs attachements

@+

Commentaire de ICIoBRa le 22/05/2003 12:26:47

Où dl msoutl8.olb ou msoutl9.olb ?

Commentaire de moq le 03/12/2003 16:20:15

Bjr

Le Outlook dont vous parlez, c'est express ou celui fourni avec office ???

Commentaire de devsurf le 22/04/2004 10:34:53

JE PARLAIS DE OFFICE 97 DONC MSOUTL8.OLB
Si vous avez office 2000 c MSOUTL9.OLB
Si vous avez office XP c MSOUTL10.OLB je pense
En tout cas  si vous utilisez la liste de menu projet/reference il va vous proposer ceux qui sont dispo.
L'exemple que j'ai mis devrait etre compatible à tous je pense.

Remarque:
Une seule exception sur 2000 et superieur:
Le fait d'utiliser cette fonction mail  génére un message de securité comme qoui un programme essaye d'envoyer un mail a votre place - c qui est génant car il ouvre une petite boite de dialogue tres discrete qu'on voit des fois pas et ca bloque l'application.

Commentaire de boumbo73 le 03/01/2005 15:43:36

Bonjour !
J'ai utilisé ce code qui marche bien en revanche Microsoft Outlook me signale un message indiquant qu'une application tente d'envoyer un message automatiquement et la il faut répondre oui ou non car il précise que ca peut être un virus.
Comment faire pour ne plus avoir cette fenêtre ?

Commentaire de idhammou le 14/02/2005 11:38:33

Urgent :
Bonjour;
Est ce qu'il y'a moyen pour éviter l'apparition du message de secutité  OUTLOOK lors de l'execution du programme VBSCRIPT ?
MERCI.

Commentaire de dchrist le 29/01/2007 10:21:52

Bonjour,

Comme IDHAMMOU, j'ai le message de sécurité OUTLOOK lors de l'exe de mon programme d'envoie de mail en automatique.
Est-ce que quelqu'un aurait un maoyen de contrer ce message, SVP ?
Pour infos, les postes utilisateurs sont en OUTLOOK 2003 en lien avec un server avec EXCHANGE 2003.

Merci d'avance.

Cdlmt,

Commentaire de comme le 10/05/2007 17:53:23

Très bonne source ,tout marche bien , la boite de dialogue pour répondre oui ou non apparait tjrs je répond oui,j'envoie à mon addresse, avec un fichier attaché  et après je consulte ma boite de reception pour la trouver vide ... avez vous une explication? merci

Commentaire de christian_grandjean le 15/06/2007 16:39:51

Code adapté pour du VB.NET ici :
http://www.vbfrance.com/code.aspx?ID=43130

Commentaire de FloSch le 19/09/2007 12:43:18

Bonjour,

Pour éviter le message de sécurité Outlook, le seul moyen que j'ai trouvé est d'installer l'utilitaire suivant : ClickYes (http://www.contextmagic.com/downloads.htm) et le tour est joué.

Cordialement

Commentaire de didyman le 13/05/2008 15:45:46

J'aimerais savoir comment utiliser la propriété .from s'il y en a une svp car sa pas l'aire de fonctionner chez moi!

Commentaire de erokage le 17/06/2009 16:55:49

et si on est sous vb 2008 et outlook 2007 comment fait on?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Envoyer un email via VBA [ par Appolon ] Bonjour,Voici mon code:Dim myOlApp As New Outlook.ApplicationDim myItem As Outlook.MailItemSet myItem = myOlApp.CreateItem(olMailItem)'tu crée l'objet Envoyer un email via VBA [HELP] [ par Appolon ] Bonsoir,Voici mon code:Dim myOlApp As New Outlook.ApplicationDim myItem As Outlook.MailItemSet myItem = myOlApp.CreateItem(olMailItem)'tu crée l'objet Envoyer un mail avec vba sans passer par outlook si possible [ par Tsunami_11 ] helloJ aimerais que pour une certaine condition definie sous excel ca envoye un mail a une adresse donnée l'ideal ca serait de le faire sans passer pa Envoyer un mail à partir d'Access97 [ par Progsam ] Je cherche a envoyer un mail a partird'access97 via outlook express.Il est possible de le faire avec outlook en declarant une variable outlook.applica 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 Envoyer un mail sans passer par outlook [ par Chenzen ] Salut, ca fait 2 semaines que j'essaie de trouver un code pour envoyer un mail depuis mon prog sans passer par outlook mais directement par un serveur envoi de Mail par Outlook avec VB [ par EvilGost ] j'arrive à envoyer un mail à partir d'un prog en Visual Basic, mais uniquement avec OutLook 2002 d'installé. Est-il possible d'envoyer un mail par un [outlook] envoyer un mail par un compte autre que le compte par defaut [ par hfrBelgarion ] Bon alors voila j explique mon probleme je souhaite envoyer des mail depuis access en utilisant du vba pour l envoiyer a outlook 2000 jusque la pas de envoyer un mail à partir de outlook express sur Access97 [ par cat25 ] Bonjour!j'aimerai envoyer des mails en pièce jointe dans une base de donné Access97 sur Outlook expressj'ai essayé ce code DoCmd.SendObject [typeobjet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,342 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales