2011-10-13 85 views
2

我正在使用Javamail。在MimeMessage.setText中,我必須包含將文本編碼爲URL的代碼。用於下面的目的。Javamail並添加文本鏈接

BodyPart messageBodyPart = new MimeBodyPart();

messageBodyPart.setText("Test\n" + text +"\nVisit Test.com");` 

在此我需要Test.com被嵌入的URL。是否有標籤或通配符可以做到這一點?謝謝。

基本上我寧願避免在javamail中使用html,並利用以下內容。

Test.com

回答

5

如果您希望鏈接在郵件點擊,您應該發送郵件的HTML。

要做到這一點,你應該嘗試建立一個HTML MIME電子郵件:

InternetHeaders headers = new InternetHeaders(); 
headers.addHeader("Content-type", "text/html; charset=UTF-8"); 
String html = "Test\n" + text + "\n<a href='http://test.com'>Test.com</a>"; 
MimeBodyPart body = new MimeBodyPart(headers, html.getBytes("UTF-8")); 

編輯:

也可以使用的setText發送HTML郵件時:

String html = "Test\n" + text + "\n<a href='http://test.com'>Test.com</a>"; 
messageBodyPart.setText(html, "UTF-8", "html"); 

請參閱the API for more details

1

需要發生一些事情才能使其工作。

  1. 發送鏈接爲html
  2. 設置內容類型text/html

String text = "Test\n" + text +"\nVisit <a href="http://test.com">Test.com</a>"; messageBodyPart.setContent(text, "text/html");

JavaMail API FAQ

問:我如何發送HTML郵件? 答:發行版中包含許多演示程序,可以顯示如何發送HTML郵件。如果您想發送帶有HTML而不是純文本的簡單消息,請參閱演示目錄中的sendhtml.java程序。如果要將HTML文件作爲附件發送,請參閱sendfile.java示例,其中顯示瞭如何將任何文件作爲附件發送。