124 votes

Autonettoyage Outlook mes sauts de ligne et vissage mon email format

Je suis en envoyant un e-mail à l'aide de la dotnet framework. Voici le modèle que j'utilise pour créer le message:

Date of Hire: %HireDate%
Annual Salary: %AnnualIncome%
Reason for Request: %ReasonForRequest%

Name of Voluntary Employee: %FirstName% %LastName%
Total Coverage Applied For:  %EECoverageAmount%
Guaranteed Coverage Portion: %GICoveragePortion%
Amount Subject to Medical Evident: %GIOverage%

Lorsque le message est reçu dans outlook, outlook me dit "sauts de ligne Supplémentaires dans ce message ont été supprimés". Et le message s'affiche comme ceci:

Date of Hire: 9/28/2001
Annual Salary: $100,000
Reason for Request: New Hire

Name of Voluntary Employee: Ronald Weasley Total Coverage Applied For:  $500,000 Guaranteed Coverage Portion: $300,000.00 Amount Subject to Medical Evident: $200,000

Notez la façon dont Outlook supprime incorrectement nécessaire sauts de ligne après le nom, EECoverageAmount, etc...

Il est important pour l'e-mail recepients pour obtenir un email correctement formatée, et je suppose que certains d'entre eux utilisent outlook 2003. Je ne peux pas supposer qu'ils en savent assez pour arrêter la fonction d'autonettoyage pour faire passer le message pour formater correctement.

J'ai vu ces messages à d'autres clients de messagerie et qu'ils s'affichent correctement

quelques informations supplémentaires:

  • Je suis en UTF-8 BodyEncoding (msg.BodyEncoding = Système.Texte.L'encodage.UTF8)
  • Le msg.Le corps est en train de lire à partir d'un texte UTF-8 fichier, et chaque ligne est terminée par un crlf.

Question: Comment puis-je changer le format du message pour éviter ce problème?

134voto

Jim Davis Points 966

Vous pouvez également insérer un caractère de tabulation à la fin de la ligne (juste avant la CR LF). Cet espace blanc supplémentaire aura lieu à la fin de la ligne et donc pas visible pour l’utilisateur. Vous pouvez préférer ce devoir insérer des espaces à gauche. Notez qu’un seul espace ne suffit pas (bien que peut-être plusieurs espaces aiderait, je ne sais pas.)

100voto

Alex B Points 12826

Commencer chaque ligne avec 2 espaces et outlook va être « trompé » en gardant votre mise en forme.

Alors changer

À

Voici l' article que j’ai trouvé lors de la recherche de ce problème qui est acheminé dans un peu plus de profondeur que ma réponse.

26voto

DHornpout Points 1486

Cette réponse est sur la façon de « désactiver » la fonctionnalité du Client Outlook.

  • Allez dans Outils-> « Options... »
  • Dans les « préférences », onglet cliquez sur « Options de messagerie... »
  • Décochez la case « Supprimer des sauts de ligne supplémentaire dans les messages en texte brut ».
  • Appuyez sur OK

FYI : J’utilise Outlook 2007

4voto

Doug L. Points 2216

J'ai toujours eu une meilleure chance de mise en forme e-mails au format html. Vous pouvez encore a l'utilisateur final de question d'avoir à mettre le client afin de permettre au format html, mais ils sont généralement plus familier avec cela, étant donné le nombre d'e-mails ne viennent au format html. Vous avez également un peu plus de travail sur votre fin ajouter les balises html, mais le résultat final est beaucoup plus contrôlable.

@ephemient suggère également: Envoyer en tant que HTML et texte brut. De bons clients montrera le dernier, Outlook affichera l'ancien, tout le monde est content (sauf le programmeur qui doit faire plus de travail).

0voto

Christian Muggli Points 1023

Mettez le texte dans `` Tags et outlook vont formater et le texte s’affiche correctement.

J’ai défini en CSS inline dans corps HTML comme :

CSS :

J’ai défini la famille de police d’avoir à police fixé.

HTML :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X