2013-12-17 1 views
0

Я пытаюсь отправить html-страницу как почту с помощью javamail.
моего HTML-страница содержит ссылкуотправьте html-страницу с гиперссылкой, используя почту java

<a href>click here</a> 

, когда я посылаю почту ссылку показывая, как равнина text.what я должен делать? вот код, который я использовал

MimeMessage message = new MimeMessage(mailSession);  
message.setSubject("modified html page","text/html");  
message.setHeader("Content-Type", "text/html; charset=UTF-8");  
message.setText(html, "utf-8");  
message.setContent(html, "text/html; charset=utf-8");  

, пожалуйста, дайте мне предложение.

+0

FYI [ 'setText'] (http://grepcode.com/file/repo1.maven.org/maven2/org.apache.geronimo. specs/geronimo-javamail_1.4_spec/1.0/javax/mail/internet/MimeMessage.java # MimeMessage.setText% 28java.lang.String% 2Cjava.lang.String% 2Cjava.lang.String% 29) ничего не делает здесь. 'setText' внутренне вызывает' setContent'. Попробуйте удалить его, посмотрите, получите ли вы лучшие результаты. – Danny

ответ

2

Дэнни справедливо указывает setText внутренне вызывает setContent, поэтому то, что вы здесь делаете, полностью избыточно. Только это будет достаточно: -

MimeMessage message = new MimeMessage(mailSession);  
message.setSubject("modified html page","text/html");   
message.setContent(html, "text/html; charset=utf-8"); 

Также setContent внутренне называет

removeHeader("Content-Type"); 
removeHeader("Content-Transfer-Encoding"); 

Так что нет никакого смысла вызова message.setHeader("Content-Type", "text/html; charset=UTF-8"); как он будет удален в любом случае.

См this ответ на более подробную информацию о том, как отправить HTML писем

+0

Обратите внимание, что отображение сообщения до почтового устройства. Может быть, ваш почтовый читатель не отображает ссылку, потому что для атрибута href нет значения? –

Смежные вопросы