0
我正在使用Amazon Simple Email Service Java API向接收者發送郵件。 我在標籤內發送郵件正文中的URL。 我的用例要求用戶雙擊收到的URL來提示一些操作。 (如確認郵件)如何在沒有編碼的情況下在電子郵件中發送url
問題是URL在接收時被編碼。雙擊它會導致找不到頁面(404)錯誤。
原始地址: http://something.com/confirm/email=abc%40hotmail.com%26regKey=somekey%26confirm=true
我使用AmazonSimpleEmailServiceClient:http://something.com/confirm/[email protected]®Key=somekey&confirm=true 當我雙擊郵件上的這個URL,鏈接在地址欄中顯示爲打開。代碼如下:
SendEmailRequest request = new SendEmailRequest().withSource(sourceAddress);
String confirmationURL="http://something.com/confirm/[email protected]®Key=somekey&confirm=true";
List<String> toAddresses = new ArrayList<String>();
toAddresses.add(toEmail);
Destination dest = new Destination().withToAddresses(toAddresses);
request.setDestination(dest);
Content subjContent = new Content().withData("Confirmation Request");
Message msg = new Message().withSubject(subjContent);
// Include a body in both text and HTML formats
Content textContent = new Content().withData("Dear please go to the following URL:"+
confirmationURL+"\n\n");
Content htmlContent = new Content().withData("<p>Dear please go to the following URL:</p>"+
"<p><a href=\""+confirmationURL+"\">"+confirmationURL+"</a></p>");
Body body = new Body().withHtml(htmlContent).withText(textContent);
msg.setBody(body);
request.setMessage(msg)
UPDATE
剛剛發現,當收件人的電子郵件是在hotmail.com這個問題只發生。爲什麼微軟總是需要做不同的事情?有人幫忙!
我只想做相反。它已經被編碼了。 – shashankaholic
對不起,URLDecoder.decode()應該做的伎倆。 – JamesB
其實編碼是在hotmail收件人。我無法解碼。 – shashankaholic