Comment envoyer un mail au format HTML avec MAPI ou DDO

sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004 - 27 sept. 2004 à 17:40
sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004 - 7 oct. 2004 à 08:47
comment envoyer un mail au format HTML avec MAPI ou DDO?
je galere vraiment la...... merci

9 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
27 sept. 2004 à 17:52
J'ai un script, je te le note, 30sec

Chris...
Firstruner
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
27 sept. 2004 à 17:55
    emaildest = InputBox("Indiquer l'adresse e-mail du destinataire", "Cryptext - E-mail du destinataire")
    If Len(emaildest) = 0 Then Exit Sub
    emailsubject = InputBox("Indiquer le sujet", "Cryptext - Sujet du message")
    emailmsg = InputBox("Indiquer un léger message pour votre message", "Cryptext - Message")
    Dim ObjOutl As Object
    Dim objSession As Object
    On Error Resume Next
    Set ObjOutl = CreateObject("Outlook.Application")
    Set objSession = ObjOutl.GetNamespace("MAPI")
    Set ObjMessage = ObjOutl.CreateItem(0)
    objSession.Logon
    With ObjMessage
        .To = emaildest
        .CC = ""
        .Subject = emailsubject
        .Body = emailmsg
        ObjMessage.Attachments.Add Sfile
        .Send
    End With

    Set ObjMessage = Nothing
    objSession.Logoff
    Set objSession = Nothing
    Set ObjOutl = Nothing


Attention par contre que ton mail ne passe pas pour un spam. si tu veux des explication demande.
En revanche selon la version Outlook, le message est soit envoyé de suite soit lors de la prochaine ouverture de Outlook.

Chris...
Firstruner
0
sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004
29 sept. 2004 à 09:04
merci beaucoup.
sinon sais tu comment diferencier un attachement "reel" ( du genre un fichier zip en attachement) d'un attachement du style un image contenu dans le corps du mail html....?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
29 sept. 2004 à 09:14
Hhhmmm..., attent il faut que j'étudie la question car le script que je t'ai noter est un script que j'utilise pour envoyé des rapport d'activité en format Texte.

Chris...
Firstruner
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
29 sept. 2004 à 10:18
Si tu regarde dans la MSDN tu peut trouver des documents sur l'objet body, Rechercher :

"Body Property (CDONTS NewMail Object)"

Chris...
Firstruner
0
sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004
29 sept. 2004 à 21:34
en fait voila ou j'en suis......
j'arrive a enregistrer mes mails sur le dur avec le bon format (html ou pas).
Mon autre pb (et pas des moindre) c'est que je n'arrive pas a traiter les mail recursifs ( du genre forward de deux maisl en meme temps)
je n'utilise pas l'objet MAPI.message ni MAPI.Session, mais Outlook.application ( objet outlook)....
si tu as a encore la patience demain je te mettrai bout de code pour te montrer ou est mon pb.....
en tout cas merci beaucoup vraiment !!!!!!!!!!!!!!!!!!!!!
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
29 sept. 2004 à 21:38
Ok ça marche je suis prêt pour ton code, je vais voir pour ton objet OutLook, avec quel références ou controle le charge tu ?

Chris...
Firstruner
0
sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004
29 sept. 2004 à 22:41
avec :
"microsoft outlook 11.0 object library" en reference.....
0
sorianoc Messages postés 6 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 7 octobre 2004
7 oct. 2004 à 08:47
Bon, la je vous ecris parceque j'ai trouver pas mal de solution à mes problemes et comme je vous ai fait partager mes pbs , je vais vous faire partager mes solutions aussi!!!!!
Bon, en fait tout repose sur l'utilisation de 3 lib. La MAPI (cdo.dll), les CDO (cdoex.dll) et les Redemption ( à telecharger sur http://www.dimastr.com/).

La premiere et la seconde permetent de manipuler les mail recursivement......
Sub DecomposeMess(CrmailMess As Message)
Dim i As Integer
Dim SDir As String
Dim RetVal As Integer
Dim MessRecur As Message
Dim RecurVal  As Integer
Dim OnlyMail As Boolean
Dim objInbox As Object
Dim objNewMail As Message
Dim j As Integer

On Error GoTo err_lbl
If CrmailMess.Attachments.Count <> 0 Then
' ##########
'si c'est un att mail recursif
' ##########
CrmailMess.Unread = True
CrmailMess.Update
For i = 1 To CrmailMess.Attachments.Count
    If CrmailMess.Attachments.Item(i).Type = 4 Then
        RECUR = True
        Call Write_Log("Extracting Attachment Appel recursif", True, MainCfg.TraceOK)
   
        Set MessRecur = CrmailMess.Attachments(i).source
        Set objInbox = objSession.GetDefaultFolder(1)
        Set objNewMail = MessRecur.CopyTo(objInbox.ID)
        objNewMail.Unread = True
        objNewMail.Update
        RECUR = True
        Call DecomposeMess(objNewMail)
    End If
Next i
End If
Exit Sub


La derniere (et la plus forte mais complique aussi) servent à acceder à des propriété "caché" de l'objet....

par exemple, ne pas avoir de message qui vous demande de cliker pour autoriser l'acces à vos mails depuis un exe (A program is trying to access your Address Book) franchement ca c'est super pratique et surtout sans cet objet c'est IMPOSSIBLE !!!!!

dim SafeContact, oContact  
set SafeContact = CreateObject("Redemption.SafeContactItem") 'Create an instance of Redemption.SafeContactItem 
set oContact = Outlook.Session.GetDefaultFolder(10).Items(1) 'Get a contact item from Outlook
SafeContact.Item = oContact 'set Item property of a SafeContact to an Outlook contact item
MsgBox SafeContact.Email1Address 'access Email1Address property from SafeContact, no warnings are displayed 


Autre chose, si vous recevez un mail au format HTML avec des images a l'interieure du message et un attachement style zip ou autre, quand vous voulais enregistrer l'attachement sur le dur vous vous retrouver avec TOUT les attachements y comprs ceux qui se troiuvais dans le corps du message...il est IMPOSSIBLE de savoir quelles sont veritables attachement ( ceux qu'on insere en faisant un drag and drop d'un mp3 par exple ou ceux qu'on insere en cliquant sur le trombonne)
voila j'espere que ca aidera qqun....

If Curmail.Attachments.Item(i).Fields(&H3712001E) = "" Then
' vous indique si c'est un attachement reel ou pas, le chiffre exa se trouve  avec l'utilitaire http://www.dimastr.com/outspy/

ciao à tous
0
Rejoignez-nous