Spring JavaMailSenderImpl发送邮件时中文乱码处理


	    
	    
	    
	    
	    
	    
	

上面是在spring中配置邮件发送器的代码,其中设置了默认编码为UTF-8。但是在实际的应用中会554的错误,因为乱码导致发出的邮件被识别为垃圾邮件。

try {
        	MimeMessage message = javaMailSender.createMimeMessage();
    		MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
    		helper.setFrom("[email protected]");
    		helper.setTo("[email protected]");
    		helper.setSubject("交换契约");
    		helper.setText("你好,很高兴认识你!");
    		
    		UrlResource ur = new UrlResource("http://192.168.1.109:8089/common/2016/11/11/20161111141623053228.png");
    		helper.addAttachment("附件.jpg", ur);
        	javaMailSender.send(message);
        }
        catch (MailException ex) {
            // simply log it and go on...
            ex.printStackTrace();
        } catch (MessagingException e) {
			e.printStackTrace();
		}
在上面的代码中,加入MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");这句话。在编码层中明确使用UTF-8编码,这样的话就不会出现乱码了。

你可能感兴趣的:(java_base)