[R] Intégration de texte html dans e-mail outlook

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

[R] Intégration de texte html dans e-mail outlook

#1

Message par A2Energie »

Bonjour,

A la base ça devait être qu'une formalité, et je me rends compte que c'est peut être plus compliqué que prévu.

Je cherche à intégrer du texte sous format html (pour la couleur, le gras...) dans un e-mail en utilisant Outlook.

La création du mail et des différents paramètres, semble ok, cependant, la forme html n'est pas pris en compte. Pour faire des essais j'ai pris un ptit bout de code des bas fond du net en html :

Code : Tout sélectionner

$oBody = "<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>"

$oMail = _INetMail("Moi", "test", $oBody)

 
Merci d'avance pour votre aide.
Modifié en dernier par A2Energie le ven. 17 oct. 2014 11:45, modifié 2 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#2

Message par jguinch »

J'ai pas trouvé les bas fonds, désolé.
Tu peux mettre le lien ? ca aiderait (si tu veux qu'on t'aide, bien sûr)

Sinon, sans voir le code, je dirais qu'il faut modifier la fonction _INetMail, en remplaçant la propriété Body par HTMLBody
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#3

Message par A2Energie »

Bonjour JGuinch,

Et merci pour ta réponse,

Lorsque je parle de bas fond :D c'est plus une expression pour dire que j'ai pris un ptit bout de code html comme on en trouve de partout.

cependant, pour le code autoit

Code : Tout sélectionner

$oMail = _INetMail("Moi", "test", $oBody)
ceci peut être retrouvé ici : https://www.autoitscript.com/autoit3/do ... etMail.htm

J'ai effectivement tenté de passer par :

Code : Tout sélectionner

$oMail.HTMLBody = "<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>"
 
Mais fonctionne pas.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#4

Message par orax »

_INetMail() utilise les liens mailto:. Il faudrait savoir s'il est possible de mettre du html dans la partie "body". Visiblement non, c'est plutôt pour du texte simple :
RFC a écrit :The special <hfname> "body" indicates that the associated <hfvalue>
is the body of the message. The "body" field value is intended to
contain the content for the first text/plain body part of the
message. The "body" pseudo header field is primarily intended for
the generation of short text messages [...]
Sources : http://stackoverflow.com/a/13415988RFC 6068
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#5

Message par jguinch »

Désolé pour la connerie que j'ai dit plus haut : j'avais cru que tu parlais d'une fonction que tu avais trouvé sur Internet...
Donc on parle bien de la fonction UDF intégré. Dans ce cas, je pense que c'est impossible avec cette fonction, car ça dépendra de la configuration du client de messagerie.
Il faudra plutôt regarder du côté de _INetSmtpMail() (sans passer par Outlook donc), soit par un UDF Outlook (OutlookEX UDF par exemple)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#6

Message par A2Energie »

Merci Orax et Jguinch pour vos réponses,

Ne pouvant pas passer par _INetSmtpMail() car j'ai besoin de visualiser le mail avant son envoi,
J'avais tenté de passer par l'UDF #Include <OutlookEx.au3> mais après des jours de recherches, je n'étais pas parvenu à modifier l'expéditeur du mail : $oMail.Sender qui pourtant se trouve déjà dans ma liste d'utilisateurs

Voici un ptit bout de code en utilisant l'UDF #Include <OutlookEx.au3> pour ceux que ça intéresse qui fonctionne très bien sauf pour modifier l'expéditeur :

Code : Tout sélectionner

#Include <OutlookEx.au3>
$oOutlook = _OL_Open()
$oMail = _OL_ItemCreate($oOutlook,$olMailItem)
$oMail.To = "client@test.fr"
$oMail.Subject = "Objet"
$oMail.Sender = "Moi@test.fr"
$oMail.Display
$oMail.HTMLBody = "<!DOCTYPE html>"&@CRLF& _
"<html>"&@CRLF& _
"<body>"&@CRLF& _
"<h1>My First Heading</h1>"&@CRLF& _
"<p>My first paragraph.</p>"&@CRLF& _
"</body>"&@CRLF& _
"</html>"
 
J'ai cherché dans des tonnes de forum, sans vraiment y parvenir,
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#7

Message par jguinch »

Tu as essayé avec $oMail.SenderEmailAddress ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#8

Message par A2Energie »

Merci pour ta réponse,

Oui idem, j'ai essayé chaque propriété msdn
et aucune ne passe.
C'est pour cette raison que je me suis orienté ensuite sur _inetmail.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#9

Message par jguinch »

De mon côté, ça fonctionne avec $oMail.SentOnBehalfOfName.

Code : Tout sélectionner

$oMail.SentOnBehalfOfName = "Moi@test.fr"
Par contre, la propriété s'applique bien mais le champ "De" ne change pas pour autant à l'affichage (mais ça envoi bien avec l'adresse spécifiée)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#10

Message par A2Energie »

Merci pour cette réponse.

Après plusieurs essais, il s'avère que cela ne fonctionne pas chez moi,
peut être la version outlook 2013.
Je vais continuer à rechercher dans cette voie.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#11

Message par jguinch »

J'ai fais le test sur Outlook 2010.

Edit : j'ajoute quand même que j'utilise un serveur Exchange et que l'envoi en tant qu'un autre utilisateur nécessite l'ajout d'une option SendAs ou Send On Behalf. Est-ce la cas pour toi ?
Et si tu fais le test manuellement, en remplissant le champ "De", ça marche ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#12

Message par orax »

A2Energie a écrit :

Code : Tout sélectionner

$oMail.Sender = "Moi@test.fr"
Contrairement à la propriété To, Sender retourne ou attend un objet de type AddressEntry (et non une chaîne de caractères).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Intégration de texte html dans e-mail outlook

#13

Message par A2Energie »

Bonjour,

Merci, impeccable j'y suis parvenu.
C'est assez complexe j'ai l'impression. en Exchange ca ne fonctionnait pas, et lorsque j'ai mis une adresse (serveur ovh) cela fonctionne.

Pour le moment c'est un bon dépannage, car il s'agit là de l'adresse (de la part de) non pas de l'adresse de la personne qui a envoyé le mail.

Si quelqu'un trouve une solution pour changer directement l'utilisateur, je reste preneur.

En attendant merci beaucoup pour votre aide. :mrgreen:

@orax,
Oui je m'étais aventuré dans les adressEntry, currentuser et compagnie, mais j'avoue que j'y comprends rien du tout :cry: . Si tu connais un peu le fonctionnement, je suis preneur, autrement, je vais gratter de ce côté.
Répondre