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

VB 6 et antérieur Discussion :

Utilisation de l'objet CDO.message


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 60
    Points
    60
    Par défaut Utilisation de l'objet CDO.message
    Bonjour

    J'ai divers problèmes dans l'utilisation de l'objet CDO.message : j'utilise cet objet pour créer des Emails au format HTML avec des images "embarquées" dans l'email.
    C'est à dire que les images ne font pas référence à des images téléchargées dynamiquement (au moment de l'ouverture) sur un site web mais que le mail est en plusieurs parties (MIME Multipart) et qu'une des partie du mail "code" les images.

    Pour créer un tel email, j'utilise la méthode CreateMHTMLBody de l'objet CDO.message. Voici mon code simplifié :

    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
    Dim couriel As CDO.Message
    Dim config As CDO.Configuration
     
    Set couriel = New CDO.Message
    Set config = New CDO.Configuration
     
    With config.Fields
          .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = CDO.cdoSendUsingPort
          .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1"
          .Update
    End With
     
     
    With couriel
      Set .Configuration = config
      .From = "adresse@expediteur.com"
      .cc = "adresse@destinataire-copie.com"
      .BCC = "adresse@destinataire-cache.com"
    End With
     
    couriel.To = "adresse@destinataire.com"
    couriel.CreateMHTMLBody "http://127.0.0.1/modele_email.htm", cdoSuppressNone
    couriel.Send
    Bien entendu, la machine qui execute le code dispose d'un serveur Web (IIS) qui répond correctement lorque l'on tape l'URL "http://127.0.0.1/modele_email.htm" dans IE.

    Mon problème : j'obtiens de temps à autre l'erreur suivante :
    Erreur d'exécution '-2147221163 (80040155)' : Interface not registered
    sur la ligne de code qui invoque la méthode CreateMHTMLBody.

    Après diverses recherches sur cet erreur (google ; kb miscrosoft), j'ai trouvé des solutions qui font référence à des DLL qui faudrait ré-enregistrer avec regsvr32 , j'ai essayé avec CDOSYS.DLL, rien n'y fait => j'ai toujours l'erreur ! En fait je ne sais pas quelle est la DLL manquante ou mal enregistrée.
    Je n'ai pas trouvé de documentation vraiment claire et précise sur cet objet et/ou les méthodes sur le site Microsoft.

    Bref ... à vot' bon coeur m'sieurs dames ...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    J'ai trouvé un peu de documentation sur le site de microsoft :

    http://msdn2.microsoft.com/en-us/library/aa488364.aspx

    Si cela peut être utilse à certains .... mais mon problème n'est toujours pas résolu ... je cherche encore ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    Je pense avoir trouvé la réponse :
    Il semble que les pages web qui sont utilisées pour créer les emails doivent avoir été affichées au moins une fois dans un navigateur avant d'être utilisées pour générer l'email.
    Si la page est modifiée, il faut bien penser à faire afficher la page de nouveau dans un navigateur en prenant soin de vider le cache du navigateur pour forcer le raffraichissement.

    En faisant systématiquement l'opération, je n'ai plus rencontré l'erreur et cela donc visiblement rien à voir avec l'enregistrement de DLL .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OL-2007] Renommer une PJ en utilisant l'objet du message
    Par didie78 dans le forum VBA Outlook
    Réponses: 12
    Dernier message: 02/03/2016, 21h46
  2. Réponses: 5
    Dernier message: 24/11/2006, 20h49
  3. Message d'erreur lors d'utilisation d'un Objet
    Par dirty_boy dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2005, 16h16
  4. Envoi de mail grace a l'objet CDO.Message
    Par vinze11 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 08h23

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