IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Images locales dans mail vba


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut Images locales dans mail vba
    Bonjour,

    Je cherche à envoyer un mail en VBA via Outlook 2003 (utilisation de CDO). Je suis un débutant en VBA et j'ai trouvé ça et là des morceaux de codes qui me conviennent.

    Le but est de réaliser une newsletter rudimentaire :
    - une base Access des contacts est alimentée (noms, prénoms, mails, ...)
    - des modèles HTML sont produits (HTML exporté de Word, c'est impératif)
    - Outlook 2003 (marco VBA) lit la source du modèle HTML souhaité. Cela constituera le corps du mail.
    - Outlook se connecte à la base Access pour récupérer les adresses des contacts, crée le mail et l'envoie.

    J'arrive à lier Outlook avec Access, à envoyer un mail avec un contenu HTML.

    Le problème se pose lorsque mon modèle HTML issu de Word contient des images stockées en local : les images ne sont pas "embarquées" dans le mail. J'utilise la méthode CreateMHTMLBody, qui semble destinée à ce genre de tâche, mais cela ne fonctionne toujours pas : dans le mail reçu, l'attribut src de mes balises img contient toujours le lien vers l'image locale.

    Je précise qu'il faut que cela soit réalisé en VBA (donc, pas de suggestion du genre : "pourquoi tu n'utilise pas PHP ?"), que les contacts existent déjà dans la base Access (donc, pas de suggestion du genre : "pourquoi tu n'utilise pas MySQL ?") et que je ne souhaite pas utiliser une solution déjà programmée (donc, pas de suggestion du genre : "pourquoi tu n'utilise pas un gestionnaire de newsletter ? Il en existe des très bien qui répondent à tes besoins.").

    Merci d'avance, le code suit.

    [edit] Je précise que je n'utilise pas de serveur Exchange. Cela est-il la clef du problème ? J'utilise un serveur mail qmail sous linux qui se trouve sur une machine déportée [/edit]

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    Sub envoyerMailsAPartirDAccess()
     
       'Set up DAO Objects:
       Dim oDataBase As Object
       Dim rst As Object
       Dim iMsg As Object, iConf As Object, mailFrom As String, mailDestinataire As String, sendusing As Integer, smtpServer As String, smtpserverport As Integer
     
       mailFrom = "monAdresse"
       sendusing = 2
       smtpServer = "monServeur"
       smtpserverport = 25
     
       Set oDataBase = OpenDatabase("C:\Documents and Settings\nicolas\Mes documents\access\contacts.mdb")
       Set rst = oDataBase.OpenRecordset("selectMails")
     
       With rst
        .MoveFirst
        ' Loop through the Access records
        Do While Not .EOF
     
            mailDestinataire = ![Mail]
            '**************** ENVOI DU MAIL
     
     
            Set iMsg = CreateObject("CDO.Message")
            Set iConf = CreateObject("CDO.Configuration")
     
            With iMsg
                Set .Configuration = iConf
                .To = mailDestinataire
                .from = mailFrom
                .Subject = "Le titre du message"
                '.HTMLBody = contenuHTML
                .CreateMHTMLBody "C:\Documents and Settings\nicolas\Bureau\NEWSLETTER.html", cdoSuppressNone
                .Fields("urn:schemas:mailheader:disposition-notification-to") = mailFrom
                .Fields("urn:schemas:mailheader:return-receipt-to") = mailFrom
                .Fields.Update
                .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = sendusing
                .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
                .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = smtpserverport
                .Configuration.Fields.Update
                .Send
            End With
     
            .MoveNext
        Loop
       End With
    End If
     
    End Sub

  3. #3
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    C'est normal ton programme ne sait pas que c'est des PJ, il faut les ajouter.
    sinon tu peux aussi utiliser le publipostage de WORD.

Discussions similaires

  1. Insérer image dans mail avec vba et outlook
    Par cemyr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2012, 02h01
  2. [XL-2003] Problème insertion image dans mail par vba
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2010, 15h23
  3. [DOM] Drop image locale dans iFrame
    Par mokadjo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/05/2008, 11h07
  4. [VBa-E] Object Ole "image bitmap" dans une Userform?
    Par gootsu dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/07/2006, 14h24
  5. [VBA-E] insertion images existante dans le classeur
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/03/2006, 23h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo