Envoyer mail en conservant le style du texte

Résolu
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 14 août 2010 à 16:00
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 - 2 sept. 2010 à 10:50
hello

Tout dabord, excusez moi de ne pas pouvoir participer au forum ces derniers temps car je suis en vacance et mon accès à Internet est limité j'ai donc pas beaucoup de temps pour aider les plus débutants que moi mais j'ai le temps pour poser des questions :)

Voila mon problème:

Je développe une application de gestion complète d'adresses emails. J'ai une richtextbox qui dispose des outils standarts pour mettre le style: gras, italique, surligne etc.

Une fois mon texte écrit, j'envoie le mail avec mail.Body = richtextbox1.Text

Le problème c'est que le mail envoyé ne conserve que le texte de la richtextbox et pas le style.

J'ai pas trop envie de m'embêter avec du HTML, il y aurait-il une solution simple ?

merci

PS: Mes réponses peuvent être lentes, dsl.


Ma LV2 c'est le Visual Basic, et toi ?

22 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
14 août 2010 à 20:10
Salut !

Bien non justement, c'est vraiment malheureux. J'ai du faire une solution de mailing pour un client, et je me suis heurté au même problème que toi.

Le souci c'est que le protocole des mails, impose la norme HTML, donc pas d'autre choix que d'envoyer dans ce format pour conserver la mise en forme. Autre gros souci, VB n'intègre aucun contrôle pour éditer du texte mis en forme au format HTML, d'ailleurs le seul contrôle qui permet la mise en forme d'un texte est le RichTextBox. Ce contrôle, peut exporter le texte mis en forme au format RTF (Rich Text File), le problème c'est que c'est un format PostScript (un peu comme le PDF), et qu'il faut faire une traduction du RTF, vers HTML, si tu espère avoir un éditeur HTML sous VB, à ma connaissance, pas d'autre moyen.

PCPT m'a gentiment offert son aide dans le but de mettre son savoir au profit d'un projet en commun, mais par manque de temps le projet est tombé à l'eau (par ma faute).

La seule solution rapide c'est d'utiliser un contrôle ActiveX (Composant COM) pour l'édition du HTML, mais ce n'est pas très .Net.

En espérant avoir répondu à ta question...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 août 2010 à 12:27
Bonjour,
quand je ne trouve pas sur codes-sources j'ai l'habitude de chercher sur codeproject
voici exactement ce que tu cherches je l'utilise moi même depuis longtemps
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
15 août 2010 à 14:42
Un grand merci gillardg ;)

Cela me sera aussi utile.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
15 août 2010 à 15:52
Merci Mayzz et gillardg !

@Mayzz, ce genre de phrase m'inquiete :
mais par manque de temps le projet est tombé à l'eau (par ma faute).

Mais je peux compter sur toi, hein ?

Je vais jeter un coup d'oeil sur le lien de gillardg, je vous tiens au jus.



Ma LV2 c'est le Visual Basic, et toi ?
0

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

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
15 août 2010 à 16:49
Mais je peux compter sur toi, hein ?


Oui c'est prévu au planing =)

C'est juste que je suis littéralement débordé ces temps-ci.

@gillardg, je n'ai pas vraiment le temps de me pencher sur cette source (je me répète je sais), mais si je comprends bien d'après l'aperçu que j'en est eu c'est un traducteur RTF=>Multi Formats, donc il ne restera plus qu'à se pencher sur la création d'un contrôle d'édition HTML en .Net basé sur cette assembly ?

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 août 2010 à 16:53
Bonjour,

Mayzz pourquoi se compliquer la vie ?

richtextbox => save => convert 2 html => sendmail



a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
15 août 2010 à 16:56
@gillardg:ce lien est juste superbe...
reste plus qu'à essayer de convertir la solution C# en VB.net
Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 août 2010 à 17:06
Bonjour,

mais non pourquoi faire ???

garde ça en C# ça fonctionne impeccable , à moins que tu aies l'intention de modifier le code

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
15 août 2010 à 17:27
Question de débutant:je suis en train de développer mon application en vb.net et je souhaite utiliser l'une de ces solutions C#(Rtf2Html),je fais comment?

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 août 2010 à 17:32
Bonjour,

si tu as visual studio tu intègres le projet dans ta solution et ça marche :)

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
15 août 2010 à 18:48
Ou tu compiles l'assembly puis tu l'ajoutes dans les références de ton projet.

Ca allège un peu l'explorateur de solutions.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
15 août 2010 à 19:08
en effet,la solution de Mayzz est largement plus pratique...
quoique la tienne gillardg ne soit pas mauvaise non plus...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 août 2010 à 19:20
Bonjour,

si tu n'envisage pas de modifier la dll, alors ça marche

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
15 août 2010 à 21:47
Heureux qu'un problème soit résolu pendant mon absence...

Je pige strictement rien au projet du lien et en plus il est en C#. Je pense pas que je vais suivre cette piste vu que je développe qu'en vb.net

Si je dois forcément passer par le HTML c'est pas grave. Je sais qu'il y a une fonction spécial HTML dans l'envoie de mail mais laquelle ?

Désolé si je cherche pas très longtemps sur le net avant de vous consulter mais si vous trouvez une application mobile qui permet de le transformer en modem ça me serait très utile


Ma LV2 c'est le Visual Basic, et toi ?
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
18 août 2010 à 15:56
Ya quelqu'un ... ??

= false ?

Si on envoie du code HTML par mail il n'est pas reconnu comme tel et on voie le code et non le resultat du code.

Il y a t-il un moyen pour prévenir qu'on utilise du HTML pour que ca fasse le resultat ??

J'imagine le miracle:
Dim mail As New MailMessage()
mail.HTML = richtextbox1.text


Ma LV2 c'est le Visual Basic, et toi ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 août 2010 à 16:39
Bonjour,

faut un header message mime type ou quelquechose dans le genre pour prévenir que ton mail est au format html sinon il est traité en tant que texte qui est le format par défaut

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
18 août 2010 à 16:45
Super ca veut dire que c'est possible !!!

En revanche j'ai pas trop pigé ta soluce, ca fait partie du System.Net.Mail ?
faut un header message mime type


Ma LV2 c'est le Visual Basic, et toi ?
0
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
18 août 2010 à 16:45
La solution C# du lien te permet notamment de convertir ton texte(Richtextbox) en format html...il y a dans cette solution un exemple de conversion(Rtf2Html:Windows form) qui va t'aider...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
0
cs_aus3004 Messages postés 319 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 16 mars 2011 1
18 août 2010 à 16:49
Désolé c'est du C#, je ne trahirais pas le vb


Ma LV2 c'est le Visual Basic, et toi ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
18 août 2010 à 17:08
Bonjour,
il y a des tas d'excellents outils de traduction c# -> vb.net dont celui ci
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Rejoignez-nous