Email et Richtextbox

Résolu
aedavid Messages postés 9 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 8 août 2007 - 11 janv. 2006 à 18:27
aedavid Messages postés 9 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 8 août 2007 - 12 janv. 2006 à 15:06
Comment faire pour qu'un message email envoyer par winsock a partir d'un richtextbox soit recu avec toutes ses particularites de formatage( Taille du texte, Couleur
, etc
...)

aedavid

6 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
12 janv. 2006 à 11:50
Oui, tout simplement parce que, à mon avis, le RTF n'est pas une norme pour les e-mails!!! Si je dis pas de conneries, c'est un format 100% microsoft!

Comme je te l'ai dit, le seul moyen de formater du texte via des e-mail est le HTML !!! C'est, à ma connaissance, le seul langage (puisque standard) !!!

Donc, utilise plutôt le contrôle de IE (je ne me souviens plus de son nom mais regarde dans la liste [cf. menu Projet => Composants... => Onglet Contrôles {le premier} ... dans VB6] ça doit être un truc du genre Microsoft Internet Control...) pour affichier le résultat finale avant d'envoyer le mail.
Pour l'écrire, fait exactement comme maintenant : utilise un contrôle RTB.

Ensuite, il te faudra, via une routine de ton cru, transformer du texte formaté en RTB (via la propriété .TextRTF et non .Text qu'on s'entendent bien!!!) en formatage HTML.
C'est pas facile car tu devras déjà concevoir une routine permettant de bien découper le texte en petits morceaux. Pour ce faire, tu as plein de fonctions de traitement de texte en VB comme :
- Mid$ : récupérer une portion de chaine
- InStr : recherche la première occurence d'une chaine dans une autre.
- Replace : remplacer une chaine dans une autre
- Split : découper une chaine et la mettre dans un tableau
...
Je pense que les deux premières seront largement suffisantes!!!

Ensuite, pour le format RTB, je te laisse te référer à la MSDN (ton aide livrée avec VB). Tu y trouveras normalement toutes les "balises" RTB (ou du moins, la plupart du contrôle RTB... on ne saura jamais ce que Crosoft nous cache encore!!!).

Ceci dit, je suis presque certain qu'il y a déjà eu, sur VBFrance, un gar qui a fait ça! Ne serait-ce que pour créer, justement, un éditeur HTML "wysiwsg" (visuel quoi! Via RTB !) !!! Donc, recherche plutôt du coté des sources de ce type plutot que de celui des e-mails!

Sinon, tu as peut-être la possibilité d'utiliser le contrôle d'Outlook-Express qui fait exactement ça !!! Mais cela supposerait, d'un, qu'il (Outlook Exp) soit installé sur les machines où tournera ton programme, et de deux, que tu ai de l'aide pour manipuler ce contrôle ce qui, entre nous, est tout sauf garanti! Et évidemment, il faut que ce contrôle existe (qu'il ne soit pas interne à OutLookEx ce qui est tout sauf sûr [a toi de regarder et de nous dire]).

La dernière solution se trouve peut-être dans les API... En effet, peut-être qu'il existe une API pour convertir un texte RTF en HTML... Mais là, je te laisse refaire un post sur le forum pour demander aux pros des API (catégorie API, il va sans dire!!!). Et en tout dernier lieu, peut-être qu'il existe une DLL libre permettant de faire cela (les gars des API sauront certainement te renseigner...). Mais fait quand même une petite recherche de ton coté.

Voilà, c'est tout ce que je peux faire pour toi pour le moment!
Maintenant, si tu décides d'employer la bonne vieille méthode qu'est le codage manuel, sous VB6, d'un convertisseur TRF/HTML et que tu as des problèmes, je suis à ton service .

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
3
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
11 janv. 2006 à 19:41
Faut pas envoyer la propriété Text mais RTF... enfin, je pense parce qu'avec si peu d'informations, t'aider devient difficile!!!

Pense déjà à toujours nous préciser la version et le langage que tu utilises. Ca nous fera gagner tu temps à chaque fois (le temps de devoir systématiquement poser la question!!!). Merci d'avance.

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
aedavid Messages postés 9 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 8 août 2007
11 janv. 2006 à 20:44
Je precise...
En Vb 6
Comment faire pour qu'un message email envoyer par winsock a partir d'un richtextbox soit recu avec toutes ses particularites de formatage( Taille du texte, Couleur
, etc
...)

Si je fais Message = rtbMessage.TextRTF
j'obtiens en reception ce type de message:
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0 MS Sans Serif;}}
{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}
\viewkind4\uc1\pard\cf1\b\f0\fs24 ceci est un test\cf0\b0\fs17
\par \cf2\fs16 aaaaaaaaaaaaaaaaaaaa\cf0\fs17
\par \ul bbbbbbbbbbbbbbbbbbbbbbb\ulnone
\par \i cccccccccccccccccccccccccc\i0
\par }

si je fais Message=rtbMessage.text
j'obtiens en reception ce type de message:
ceci est un test
aaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccc

le texte est correct mais pas son formatage

Merci par avance...
aedavid
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
11 janv. 2006 à 21:39
Ben faut afficher le résultat de la première solution dans un RicheTextBox, tout simplement non !?!?!?

Sinon, sache que, de nos jours, les mails sont en HTML !!! Ca peut être utile de le savoir!

Sinon, tu peux encore regarder du coté du Quoted (orthographe???) et co. Fait une petite recherche tant sur VBF pour trouver les sources concernant les e-mails (y'en a un paquet dont certaines vraiment très bien!) et les posts forum mais également sur CommentCaMarche.com pour connaître les différents formats des e-mails (US-ASCII, ...).

C'est malheureusement tout ce que je peux te dire.

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0

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

Posez votre question
aedavid Messages postés 9 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 8 août 2007
12 janv. 2006 à 07:31
Merci ScSami pour ton aide, mais ta réponse ne m'a pas permis de resoudre mon probleme.
Je ne controle pas l'affichage du mail que j'envoi, le destinataire utilisant le programme de messagerie de son choix.
Sur VBF on trouve beaucoup d'exemple d'envoi de mail, mais aucun
qui envoi du texte formaté comme le permet un richtextbox.

Merci encore
aedavid
0
aedavid Messages postés 9 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 8 août 2007
12 janv. 2006 à 15:06
merci pour ces conseils. cela m'ouvre de nouveaux horizons que je vais des à présent explorer.

A+
aedavid
0
Rejoignez-nous