java郵件亂碼怎么辦

這篇文章將為大家詳細(xì)講解有關(guān)java郵件亂碼怎么辦,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

清澗網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

java發(fā)送郵件亂碼解決方法:

//設(shè)置郵件主題 

message.setSubject(MimeUtility.encodeText(mail_subject,MimeUtility.mimeCharset("gb2312"), null)); 

message.setContent(sendmessage, "text/html;charset=gbk"); // 設(shè)置郵件格式 

message.setSentDate(new Date()); // 設(shè)置郵件發(fā)送日期 

//設(shè)置郵件發(fā)件人名稱 

Address address = new InternetAddress(usernames, MimeUtility.encodeText(personalName,MimeUtility.mimeCharset("gb2312"), null));

當(dāng)一段 Text 或者 HTML 通過電子郵件傳送時(shí),發(fā)送的內(nèi)容首先通過一種指定的字符編碼轉(zhuǎn)化成“字節(jié)串”,然后再把“字節(jié)串”通過一種指定的傳輸編碼(Content-Transfer-Encoding)進(jìn)行轉(zhuǎn)化得到另一串“字節(jié)串”。

郵件的標(biāo)題,用了一種更簡短的格式來標(biāo)注“字符編碼”和“傳輸編碼”。

擴(kuò)展內(nèi)容

1.構(gòu)造MimeMessageHelper時(shí)設(shè)置編碼格式

	@Resource
	private JavaMailSender javaMailSender;
	
	@Test
	public void mimeMailTest() throws MessagingException {
		String email = "xxx-xxx@163.com";
		String mailCode = 123456789;
		// 創(chuàng)建多用途郵件消息對象
		MimeMessage mailMessage = javaMailSender.createMimeMessage();
		// 創(chuàng)建郵件消息助手(參數(shù)2:設(shè)置為true,表示可以發(fā)送超鏈接、附件)
		MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");

		messageHelper.setTo("xxx-xxx@163.com");
		messageHelper.setFrom("xxx-xxx@163.com");
		messageHelper.setSubject("注冊提醒");

		String text = "注冊成功,<a href=\"http://127.0.0.1:8080/userActivate" + "?code=" + mailCode
				+ "&email=" + email + "\">點(diǎn)擊激活</a>";
		//參數(shù)2表示是否以html格式發(fā)送.如不設(shè)置會發(fā)送純文本
		messageHelper.setText(text, true);

		javaMailSender.send(mailMessage);
	}

2.構(gòu)造MimeMessageHelper 不設(shè)置編碼,使用MimeMessage 的setContent()方法時(shí)設(shè)置

	@Test
	public void mimeMailTest2() throws MessagingException {
		String email = "xxx-xxx@163.com";
		String mailCode = 123456789;
		// 創(chuàng)建多用途郵件消息對象
		MimeMessage mailMessage = javaMailSender.createMimeMessage();
		// 創(chuàng)建郵件消息助手
		MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage);

		messageHelper.setTo("xxx-xxx@163.com");
		messageHelper.setFrom("xxx-xxx@163.com");
		messageHelper.setSubject("注冊提醒2");

		String text = "注冊成功2,<a href=\"http://127.0.0.1:8080/userActivate" + "?code=" + mailCode
				+ "&email=" + email + "\">點(diǎn)擊激活</a>";
		//參數(shù)2:以html格式發(fā)送
		mailMessage.setContent(text, "text/html;charset=UTF-8");
		
		javaMailSender.send(mailMessage);

	}

關(guān)于“java郵件亂碼怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

網(wǎng)站標(biāo)題:java郵件亂碼怎么辦
標(biāo)題網(wǎng)址:http://muchs.cn/article42/ighjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)ChatGPT網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)