2012-11-13 16 views
6
StringBuffer emailMessage = new StringBuffer("Dear Scott"); 
emailMessage.append("\r\n"); 
emailMessage.append("Sending mail over internet"); 

Yani burada benim biçimlendirilmiş içeriğidir. htmlYeni satır karakteri MimeMessage'de doğru olarak yorumlanmadı mı? i ayıklayıcıya</p> <pre><code>Dear Scott, Sending mail over internet </code></pre> <p>içinde incelemek Ama thunderbird bunu aldığınızda, ben aşağıda gibi tek satırda tam bir ileti aldığınızda

burada
Dear Scott,Sending mail over internet 

i basitçe msg.setText olarak metin gönderirseniz ben html

MimeMessage msg = null; 
msg = new MimeMessage(mailSession); 
msg.setText(body, CHARSET_UTF_8, "html"); 

olarak mesaj gönderiyorum nasıl edilir (beden gibi içerikleri gönderirken nasılsa satır karakteri doğru yorumlanmaz (CHARSET_UTF_8) sonra mesajı doğru biçimde görüyorum, yani sonraki satırında görüldüğü gibi "İnternet üzerinden posta gönderme". Metni html olarak gönderirken neden yeni satır karakterinin doğru şekilde yorumlanmadığını anlamıyorum?

cevap

11

bir HTML e-postayı olduğundan, yerine <br /> kullanmak zorunda , tıpkı bir klasik HTML belgesinde olduğu gibi (örn. .html dosya). \r\n'u kullandığınızda, oluşturulan içerik yeni bir satır yazmaz, ancak postanın kaynak kodu (ve tersi) olacaktır.

9

HTML, yeni satır karakterlerini yorumlamıyor. Eğer "html" yerine "\ r \ n" nin "< br/>" Kullanılacak içerik türünü ayarladığınızda:

StringBuffer emailMessage = new StringBuffer("Dear Scott"); 
emailMessage.append("<br/>"); 
emailMessage.append("Sending mail over internet");