MailMessage hat eine Zeichenfolge als Nachricht ohne Zeilenumbruch in Outlook gesendet

9

HI, ich versuche eine einfache Benachrichtigung mit system.net.mail.mailmessage zu senden. Ich gebe nur die Zeichenfolge als Nachrichtentext weiter. Aber Problem ist, obwohl mehrzeilige Nachricht gesendet wurde, haben die richtige "\ r \ n" Format Info in Zeichenfolge. Die Post in Outlook geöffnet wird als lange einzelne Zeile angezeigt. Aber Quelltext in Outlook wird die Nachricht mit dem korrekten neuen Zeilenformat anzeigen.

Zum Beispiel: ursprüngliche Nachricht würde wie folgt aussehen:

%Vor%

Aber es wird in Outlook wie angezeigt:

%Vor%

Quelltext aus Outlook wird weiterhin angezeigt

%Vor%

Was soll ich tun, damit Outlook die Nachricht mit korrekten Newline-Informationen anzeigt?

    
Paul L 14.10.2010, 08:32
quelle

10 Antworten

14

Outlook entfernt manchmal Zeilenumbrüche (es erscheint normalerweise ein Kommentar, der es auch gemacht hat), bin mir nicht sicher, was genau die Regeln dafür sind, aber ich bin ziemlich sicher, wenn du . hinzufügst (Punkt ) am Ende jeder Zeile werden sie nicht entfernt.

Wenn Sie diesen Artikel betrachten, scheint es, als könnten Sie ihn auch lösen, indem Sie die E-Mails als HTML oder RTF senden: Zeilenumbrüche werden entfernt in Posts, die im Nur-Text-Format in Outlook erstellt wurden

    
Hans Olsson 14.10.2010, 08:34
quelle
3

Das hat für mich funktioniert

%Vor%     
user1740324 28.10.2012 19:53
quelle
2

Haben Sie Ihre Zeichenfolge wie folgt

%Vor%

Und:

%Vor%

Aber Sie können es in Ihrem Junk-Ordner

bekommen     
Savi 19.07.2011 14:21
quelle
1

Outlook wird Zeilenumbrüche immer entfernen, was jedoch verwendet werden kann, ist Folgendes:

Anstatt zu verwenden:         Umwelt.Newline oder         \ n \ r

Sie sollten verwenden         String MyString +="das ist mein Text" + "% 0d% 0A"

Diese% 0d% 0A wird von Outlook als Escape-Sequenz für eine neue Zeile erkannt.

    
XikiryoX 04.11.2011 18:06
quelle
1

// Der E-Mail-Text sollte HTML sein // ersetzt die neuen Zeilenzeichen \ n \ r durch die break HTML-Anweisung

%Vor%     
Carlos90210 13.10.2015 19:13
quelle
0

Setzen Sie IsBodyHTML auf false:

ms.IsBodyHtml = false;

Standardmäßig ist es falsch, aber es scheint, dass Sie es irgendwo auf True gesetzt haben, da Outlook denkt, dass es HTML ist.

    
Aliostad 14.10.2010 08:36
quelle
0

Das hat für mich funktioniert:

%Vor%

Achten Sie darauf, dass Sie nicht in die 2. und 3. Zeile einrücken.

    
Mathieu 04.06.2015 15:09
quelle
0

Ich konnte es zum Laufen bringen, indem ich ein paar Leerzeichen am Zeilenende vor der problematischen Zeile hinzufügte.

%Vor%     
eaglei22 20.07.2015 18:49
quelle
0

Necro ansering eine Frage, könnte aber auch für einige nützlich sein.

%Vor%     
Barry Guvenkaya 21.07.2016 07:50
quelle
0

Versuchen Sie es mit dem Verbatim-Operator " @ " vor Ihrer Nachricht:

%Vor%

Beachten Sie, dass sich auch der Abstand des Textes vom linken Rand auf die tatsächliche Entfernung vom linken Rand des E-Mail-Körpers auswirkt.

    
Ciro Corvino 09.05.2017 17:37
quelle

Tags und Links