lun. 27 avril 2015, 08h36
BAUDRY
France
atoutfox.public.association
Re: Compte de messagerie Outlook
Bonjour Francis
Désolé pour cette réponse un peu tardive.
Il est vrai que mon code est un peu trop épuré !
Voici le code un peu plus complet :
Local oOutlookObject && application Outlook pour envoi mail
Local oEmailObject && objet mail Outlook
Local NumCpt && n° du compte dans la session Outllok pour recherche du type de compte POP3
#DEFINE CST_OlEXCH 0 && type de compte de messagerie Exchange
#DEFINE CST_OlIMAP 1 && type de compte de messagerie IMAP
#DEFINE CST_OlPOP3 2 && type de compte de messagerie POP3
#DEFINE CST_OlHTTP 3 && type de compte de messagerie HTTP
#DEFINE CST_OlAUTR 5 && type de compte de messagerie AUTRE
#DEFINE CST_OlMAILITEM 0 && valeur de constante de type olMailItem pour CreateItem
oOutlookObject = GetObject( , "Outlook.Application")
oEmailObject = oOutlookObject.CreateItem(CST_OlMAILITEM)
With oEmailObject
.Recipients.Add(adressemaildestinataire)
.Subject = "sujet du mail"
.Body = "corps du message"
.Attachments.Add("fichier.pdf")
for NumCpt=1 to oOutlookObject.Session.Accounts.Count
if oOutlookObject.Session.Accounts.Item(NumCpt).AccountType = CST_OlPOP3 Then
oOutlookObject.Session.Accounts.Item(NumCpt).SendUsingAccount = oOutlookObject.Session.Accounts.Item(NumCpt)
endif
next NumCpt
.Display
EndWith
Et voici un code fonctionnel en VBA (sous Word) :
Dim oOutlook As Outlook.Application 'application Outlook OUVERTE pour envoi mail
Dim MessMail As Outlook.MailItem 'email composé
Dim NumCpt As Byte 'n° du compte dans la session Outllok
Const CST_OlEXCH As Byte = 0 'type de compte de messagerie Exchange
Const CST_OlIMAP As Byte = 1 'type de compte de messagerie IMAP
Const CST_OlPOP3 As Byte = 2 'type de compte de messagerie POP3
Const CST_OlHTTP As Byte = 3 'type de compte de messagerie HTTP
Const CST_OlAUTR As Byte = 5 'type de compte de messagerie AUTRE
Set oOutlook = GetObject("", "outlook.Application")
Set MessMail = oOutlook.CreateItem(olMailItem)
MessMail.To = EMailDest
MessMail.Subject = "sujet du mail"
MessMail.Body = "corps du texte"
MessMail.Attachments.Add "fichier.pdf"
For NumCpt = 1 To oOutlook.Session.Accounts.Count
If oOutlook.Session.Accounts(NumCpt).AccountType = CST_OlPOP3 Then
MessMail.SendUsingAccount = oOutlook.Session.Accounts(NumCpt)
End If
Next NumCpt
MessMail.Display
Merci d'avance
Philippe
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000016318