2011-04-18 64 views
0

我有一個賬戶註冊功能,在用戶輸入個人數據後,將通過生成的鏈接向該客戶發送確認電子郵件。問題是:因爲鏈接太長,它被分成兩行(第二行來自字符76),第二行不屬於第一行(用戶無法點擊整個鏈接)。我認爲這個問題可能來自單詞換行或類似的東西在Java郵件中設置[自動換行文本]

在Outlook Express中,在菜單 - >工具 - >選項 - >發送 - > HTML設置,我們可以設置字符數量的電子郵件內容應該是通過更改值來包裝在每一行中。有什麼方法可以使用核心Java郵件設置此功能?

預先感謝您。

回答

1

換行是由查看器(即Outlook Express)在發送電子郵件時完成的。我猜你會發送純文本電子郵件,並依靠觀衆試圖確定它包含鏈接。嘗試發送HTML郵件並使用''

+0

謝謝你的回答,這解決了我的問題 – 2011-04-19 10:09:18

0

不,JavaMail是一個庫,允許您通過Java發送/接收電子郵件。這不是像Outlook/Outlook Express或Thunderbird這樣的應用程序。

也就是說,您可以在調用JavaMail發送電子郵件之前編寫執行格式化的代碼。

0

首先,您不能在java郵件中設置更改客戶端格式的設置。

其次,雖然我的解決方案可能不是問題的最佳答案。它應該有助於解決您遇到的問題。

在將鏈接添加到郵件正文之前,請確保您;

  1. 把鏈接放在一個新行。 「\ n」;)

  2. 請使用URL縮短API(如bitlyj)爲bit.ly稍微縮短URL。添加縮短的鏈接和walla!

msg.setContent("This is an example of adding a shortened URL\n" 
+ shortLink("http://www.longlink.com") 
+ "\n", "text/plain"); 

public String shortLink(String link) { 
     Url url = as("Username", "APIKey").call(shorten(link)); 
     return url.getShortUrl(); 
} 

使用這種方法,你不應該有自動換東西的任何問題。

+0

謝謝你的回答,但我不能將這種方法應用到我的項目中作爲設置問題。無論如何,我真的很感激你的幫助 – 2011-04-19 11:25:00

+0

酷,沒有後顧之憂。我實際上從寫作和測試我的答案中瞭解到有關Java郵件驗證的一些情況,所以感謝您發佈問題。 – Gareth 2011-04-19 14:41:26

相關問題