寒假學習了ssm,就把之前看過的一個商城項目用ssm重構了。
然后在本地一切都正常,放到個人服務器上就涼了。
因為這個項目注冊需要郵箱激活,然后就在發郵件的時候出了問題。
一、發送端口
因為源程序是用25端口發email的,然后我排雷排了好久才看到那個異常,
具體是什么我忘了記下來了,反正是說25端口不能用。
后來我就查資料,說是服務器商為了防止垃圾郵件,就把25端口禁掉了。
然后我就想,這還不簡單,在安全組開放不就行了,然而打臉的是,還真不行。
要想開放,必須得找服務器商開啟,還很麻煩,只能換一條路了。
后面看到騰訊郵箱的文檔,才知道可以用別的端口。
其中有
發送端口不用25,用465或者587就可以了,我這里用的是465
二、郵件亂碼
好不容易能發送了郵件,然而郵件卻是亂碼,崩潰ing
繼續找解決辦法,網上各種方法都試過了,都不行。
功夫不負有心人,后來我狠着頭皮看stackoverflow,慢慢的看,就找到了解決方法。
一試還真行。
首先是標題部分,也就是subject

1 //修改編碼 2 String subject = "郵件標題"; 3 String encodedSubject = MimeUtility.encodeText(subject, MimeUtility.mimeCharset("gb2312"), null); 4 msg.setSubject(encodedSubject);
然后是正文部分

1 //設置郵件消息 2 msg.setContent(emailContent, "text/html;charset=UTF-8");
我這樣修改之后就解決了
我之前發正文的代碼是
// msg.setText(emailContent);
總算解決了。可以安心返校了,寒假過年也沒偷懶,把這個項目重構讓我對ssm有了更深的應用了。嘻嘻。
然后我把Demo掛在我的服務器上了,可以玩一下。
歡迎fork或star!