????@Autowired
? ? private JavaMailSender javaMailSender;//spring 提供的郵件發(fā)送類(lèi)
? ? @Value("${mail.fromMail.addr}")
? ? private String from;
? ? public void sendEmail(String to, String subject, String content) {
? ? ? ? SimpleMailMessage message = new SimpleMailMessage();//創(chuàng)建簡(jiǎn)單郵件消息
? ? ? ? message.setFrom(from);//設(shè)置發(fā)送人
? ? ? ? message.setTo(to);//設(shè)置收件人
? ? ? ? /* String[] adds = {"xxx@qq.com","yyy@qq.com"}; //同時(shí)發(fā)送給多人
? ? ? ? message.setTo(adds);*/
? ? ? ? message.setSubject(subject);//設(shè)置主題
? ? ? ? message.setText(content);//設(shè)置內(nèi)容
? ? ? ? try {
? ? ? ? javaMailSender.send(message);//執(zhí)行發(fā)送郵件
? ? ? ? ? ? log.info("郵件已經(jīng)發(fā)送儿子。");
? ? ? ? } catch (Exception e) {
? ? ? ? ? ? log.error("發(fā)送郵件時(shí)發(fā)生異常瓦哎!", e);
? ? ? ? }
? ? }
以上只是發(fā)送簡(jiǎn)單的文本郵件,除此之外JavaMailSender對(duì)象還支持發(fā)送多媒體郵件,比如HTML
MimeMessage message = javaMailSender.createMimeMessage();//創(chuàng)建一個(gè)MINE消息
MimeMessageHelper helper = new MimeMessageHelper(message, true);//true表示需要?jiǎng)?chuàng)建一個(gè)multipart message
如果需要添加附件蒋譬,則:
FileSystemResource file = new FileSystemResource(new File(filePath));//創(chuàng)建文件系統(tǒng)資源
String fileName = filePath.substring(filePath.lastIndexOf(File.separator));
helper.addAttachment(fileName, file);
如果需要在郵件中嵌入圖片資源割岛,則:
String content = "<html><body>內(nèi)聯(lián)資源郵件發(fā)送:<img src=\'cid:" + contentId + "\' ></body></html>"; //設(shè)置內(nèi)聯(lián)元素
FileSystemResource res = new FileSystemResource(new File(rscPath));
helper.addInline(contentId, res) //添加內(nèi)聯(lián)資源