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?
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
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.
// Der E-Mail-Text sollte HTML sein // ersetzt die neuen Zeilenzeichen \ n \ r durch die break HTML-Anweisung
%Vor%Necro ansering eine Frage, könnte aber auch für einige nützlich sein.
%Vor% Versuchen Sie es mit dem Verbatim-Operator " @
" vor Ihrer Nachricht:
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.
Tags und Links c# mailmessage