Mam tekst typu "Cześć, \ r \ n to jest test \ r \ n Dzięki" Wysyłam wiadomość pocztową przy użyciu klasy MailMessage. Ustawiłem właściwość "IsBodyHtml" na wartość false. Problem polega na tym, że otrzymuję maile bez podziałów linii. Czy możesz dać mi znać, czego mi brakuje?Podziały linii są ignorowane podczas wysyłania poczty jako zwykły tekst.
Odpowiedz
Użyj Environment.NewLine
msdn zamiast \ r \ n.
Aby móc włączać podziały wiersza, a nie tylko zwykły test w poczcie, trzeba mieć ustawiony kod HTML na prawdę, tak myślę.
You może mieć podziały wierszy, po prostu nie można mieć 2 linii podziału i linii z kropką i nic więcej.Ta konkretna sekwencja oznacza koniec wiadomości, a serwer SMTP przechodzi zezowaty. – Tremmors
Myślę, że łatwiej jest po prostu wysłać e-mail w formacie HTML. Ktoś (najprawdopodobniej z marketingu/zarządzania) poprosi o ładną wiadomość e-mail, gdy zobaczy zwykły tekst, a będziesz musiał tylko powtórzyć. Rozumiem jednak, że istnieją okoliczności, w których można wysłać tylko zwykły e-mail. – Dean
Mieliśmy ten sam problem, ale jeśli zdefiniować wiadomości naraz w String, w przeciwieństwie do StringBuilder można zdefiniować swoją wiadomość tak:
string message = string.Format(
@"First Line: {0}
Second Line: {1}
ThirdLine: {2}", firstValue, secondValue, thirdValue);
Definiowanie treść wiadomości w ten sposób, a ustawienie IsBodyHtml = false, da ci nowe wiersze, które chcesz.
przeciwnym razie użyj StringBuilder
var sb = new StringBuilder();
sb.AppendLine("FirstLine");
sb.AppendLine("SecondLine");
IsBodyHtml = false załatwił sprawę! Dzięki .. – Vaibhav
Jeśli czytasz maile z Outlook, Outlook może się okazać, że jest usuwanie podziałów wierszy, myśląc, że są dodatkowe podziały wiersza. Czy próbowałeś czytać maile z innego oprogramowania - czy może z poczty internetowej?
+1 masz rację .. :) –
Bardziej skomplikowane Powodem tego może się zdarzyć, że po prostu miał do czynienia z:
- Serwer poczty manipuluje wiadomości wychodzących i dodaje wersję HTML do wiadomości w inny sposób tylko tekst
byłem mając podobny problem tam, gdzie pracowała większość moich linii, ale jedna nie. Jeśli kliknę odpowiedź na e-mail, który nie zawierał podziałów wierszy, oryginalny tekst e-mail pod odpowiedzią wyświetli podział wiersza (co oznacza, że jest to problem związany z perspektywą). Wypróbowałem zalecaną odpowiedź Environment.NewLine i to nic nie zmieniło. W moim przypadku dodanie kropki na końcu instrukcji, w której chciałem nowej linii, a następnie wstawienie \ r \ n, działało. Zgodnie z poprzednim linkiem, który opublikowałem w tej dyskusji, Outlook stosuje pewne reguły w celu odfiltrowania kanałów liniowych. W pytaniu, które rozpoczęło tę dyskusję, zauważam, że nie masz okresu na końcu zdania.
Wysyłałem wiadomość e-mail za pomocą skryptu PowerShell, a także nie otrzymywałem żadnych podziałów linii podczas przeglądania wiadomości w programie Outlook. Dla mnie rozwiązanie w pliku .ps1 było to:
$emailMessage.Body = "First Line" + "`r`n" + "Second Line"
Jest to funkcja w programie Outlook, można go wyłączyć w programie Outlook. Idź do Opcje - Poczta - i pod "Format wiadomości" odznacz "Usuń dodatkowe linie podziału w wiadomościach tekstowych".
Innym rozwiązaniem jest dodanie trzech spacji na końcu każdego wiersza, podczas wysyłania wiadomości. Wydaje się, że program Outlook akceptuje, że nie jest to dodatkowy podział wiersza.
- 1. wordpress nagłówek poczty ustawiony jako zwykły tekst
- 2. Jak prostu zwykły tekst i podziały wierszy przy użyciu XSL
- 3. Jak wstawić zwykły tekst?
- 4. Podziały linii w łańcuchach MATLAB
- 5. Obrazy zerwania podczas wysyłania poczty za pomocą SmtpClient
- 6. Jak wyświetlać pliki php jako zwykły tekst w Apache
- 7. Jak uzyskać ciągi znaków MVC jako zwykły tekst w widokach
- 8. Jak przekonwertować tekst reStructuredText na zwykły tekst
- 9. SSH: Czy podczas logowania hasło to zwykły tekst/sniffable?
- 10. Qt: Jak otworzyć plik HTML jako zwykły tekst?
- 11. SampleSyncAdapter przechowywanie hasła zwykły tekst?
- 12. Przekształcanie NSAttributedString w zwykły tekst
- 13. jak wykrywać podziały linii w java
- 14. Argumenty xcodebuild są ignorowane podczas korzystania z archiwum
- 15. Podziały linii i liczba linii w etykiecie Swift (programowo)
- 16. hibernate.id.new_generator_mappings są ignorowane przez glassfish?
- 17. Postgres OSTRZEŻENIE: błędy są ignorowane podczas przywracania: 59
- 18. Zdarzenia myszy Java są ignorowane podczas przenoszenia myszy?
- 19. ViewDragHelper - Zmiany układu potomnego są ignorowane podczas przeciągania
- 20. Konwersja Rich MarkDown na zwykły tekst
- 21. Jak wiemy poczty jest wysyłanie i odczytywanie przez użytkownika podczas wysyłania poczty za pomocą protokołu SMTP, PHPMailer
- 22. nowej linii nie działa w PHP poczty
- 23. Jak przechowywać hasło inne niż zwykły tekst?
- 24. Konwertuj zwykły tekst na PDF w Pythonie
- 25. Uzyskaj zwykły tekst z XMLHttpRequest responseText
- 26. Jak sprawdzić, w jakim języku jest napisany zwykły tekst?
- 27. Uzyskiwanie javax.mail.NoSuchProviderException przy próbie wysyłania poczty za pomocą java
- 28. Podziały linii lub znaki interpunkcyjne jako luki w pozycjach w elasticssearch
- 29. Kontrola "Pokaż hasło jako tekst"
- 30. Zastąp podziały wierszy
Myślę, że na to pytanie można lepiej odpowiedzieć pod tym linkiem: http://stackoverflow.com/questions/247546/outlook-autocleaning-my-line-breaks-and-screwing-up-my-email-format – user1387916