VB6 ---->> Mail au format HTML

Signaler
-
cs_hackoo
Messages postés
94
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013
-
s'il vous plait, est il possible d'envoyer des mail au format html avec vb6, pour les mails au format text, le composant mapi fonctionne, mais je cherche une solution pour en envoyer au format html

11 réponses

Et si tu essayais via les sockets? Commence par regarder le format d'un message en HTML et tu n'auras qu'à réutiliser la même forme d'en-tête.

[Hawk]
Je débute dans VB, et ne connais pas les sockets ...
Pour le message, j'ai bien essayé de mettrele contenu du message, avec le détail html(<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>http</title>
</head>
....)
, mais le résultat est un message qui reprend le tout, sans le traduire.
Il n'y a pas d'automatisme de traduction, comme pour la reconnaissance des adresse internet (qui commence par http://)
Il y a un exemple sur ce site pour envoyer un mail via les socket : voir : http://www.vbfrance.com/article.asp?Val=361. (ENVOYER UN E-MAIL AUTONOME SANS MAPI).

Bon, ca marche, mais je suis comme toi, j'arrive pas a envoyer au format HTML.
Il doit falloir indiquer "Content-Type: text/html" quelque part ???
Pour mapi, il y a une propiété qui s'apelle ".MsgType" mais je n'arrive pas à trouver ce qu'il faut y donner comme valeur !
as-tu une idée ?

Pour moi, les sockets ne sont pas la solution ( ... décision hierarchique ...)
Salut,
regarde ce que dit microsoft : http://support.microsoft.com/support/kb/articles/Q268/4/40.ASP : "MAPI Is Not Suitable for HTML Messages".

So...
Si t'as une piste, je prends, je continue à chercher de mon coté...
JL
Hier, j'ai contacté une personne qui cherchait une réponse à ce problème.
Je cherche activement moi aussi.
Elle m'a répondu hier soir:

Thanks for your email. Yes we found that using Outlook 2000 instead of
Outlook 98 you can make an HTML page in VB code and using the MAPI object in
VB send the HTML as an attachment on the email message. This opens fine in
any HTML enabled email software.
________
Je lui ai écrit ce matin pour lui dire que je veux que mon document html
apparaisse en tant que corps du message et non pas comme pièce jointe
et voici sa réponse:

Raymond,
Although you create the file as an attachment to the email, when the
receipient opens the email it will appear in the body of the message. I'll
try and find the code for you later today or tomorrow. Very busy today!!

Julia
___________________________
Je lui ai promis une de mes peintures si sa façon de faire porte fruit!
Je vous transmettrai alors le résultat (gratuitemen)
Vous pouvez visiter mon site et me laisser un message pour recevoir
la réponse: www.rleclerc.com

À très bientôt je l'espère.

Raymond
Messages postés
5
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
5 janvier 2004

Bonjour,
As-tu eu ta réponse etle code qui va avec ?
Merci
Messages postés
2
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
20 mai 2004

le probléme d'envoyer un mail avec VB en format html avec des photos .
le probléme c'est les photos
Messages postés
1
Date d'inscription
mercredi 22 septembre 2004
Statut
Membre
Dernière intervention
22 septembre 2004

avec mapi, on ne peut pas envoyer de message au format HTML.

dans mon application, j'utilise le composant KMail.

pour télécharger cet outil, il est sur le site :
http://www.kcsoftwares.com/

l'inconvénient de l'outil est qu'on est obligé de passer par l'extérieur. Si votre programme est uniquement utilisé en interne, tant pis pour le format HTML.

Une astuce, créer un fichier .html (objet createTextFile) :
exemple de code :

Dim file As String
Dim fs, a
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("chemincompletdufichieràcréer".html", True)
a.WriteLine ("" & Text_txt & "") 'avec text_txt ="<html>..."
a.Close

le fichier créé est enregistré sur un serveur ftp.
Envoyer ensuite un mail avec MAPI où un lien sur le fichier est écrit, exemple :
ftp://serveur/nomdufichier.html
Messages postés
26
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
31 mars 2009

- Cherchez une source pour envoyer un mail avec pièce jointe
- Créez un fichier html
- Incorporer cette pièce jointe dans votre mail
- Le mail est au format html

Contactez moi si vous cherchez toujours à solutionner ce problème, je dispose d'une source ...
Messages postés
94
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2013

Salut voila deux exemples comment envoyer un mail en HTML avec pièce-jointe
Télécharger le Code Source Complet
'Donc les lignes à modifier sont bien sûr :
     'objMessage.To = "xxxxx@gmail.com" 'Email du destinataire doit-être 'correct ici.
     '("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.xxxxx.fr"
     'piece-jointe="c:\fichier.ext" 'Tu dois changer le chemin de ton image si 'tu veux l'envoyer par piéce-jointe
    
     sub main()
     Dim messageHTML
     Set objMessage = CreateObject("CDO.Message")
     objMessage.Subject = "Exemple de Message"
     objMessage.From = """La maison communicante"" " 'ici on s'en fou tu peux mettre n'importe quel mail même s'il n'existe pas (^_^)
     objMessage.To = "xxxxx@gmail.com" 'Email du destinataire doit-être correct ici
     objMessage.TextBody = "Ceci est un exemple de texte.." & vbCRLF & "Il est envoyé par un serveur SMTP."
     piece-jointe="c:\fichier.ext" 'Tu dois changer le chemin de ton fichier si tu veux l'envoyer par piéce-jointe
     messageHTML="Ceci est un message en HTML envoyé par hackoo"
    
     objMessage.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
     objMessage.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.xxxxx.fr"
     objMessage.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
     objMessage.Configuration.Fields.Update
     'Ajout d'un message en HTML en affichant une image hébergé dans un serveur distant
     objMessage.HTMLBody="<center>"&messageHTML&"

0 Then
     MsgBox Err.Description,16,"Erreur"
     msgbox "le mail n'a pas pu être envoyé !",16,"Information"
     Else
     msgbox "Le mail a été bien envoyé !",64,"Information"
     End If
     On Error GoTo 0
     end sub
     Call main

et si vous voulez passer par un formulaire en HTA la solution est ici