Envoyer mail en conservant le style du texte [Résolu]

Signaler
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
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

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
34
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.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
34
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.
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ?
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
34
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.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
@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
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
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
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
34
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.
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
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
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ?
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ?
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
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 ?
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
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
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Désolé c'est du C#, je ne trahirais pas le vb


Ma LV2 c'est le Visual Basic, et toi ?
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
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