1.pom裏面,增長相關依賴包html
<!--郵件集成--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
2.application.properties裏面,增長相關配置java
#郵箱服務器地址 #spring.mail.host=smtp.qiye.163.com spring.mail.host=smtp.163.com #用戶名 spring.mail.username=********** #密碼 spring.mail.password=******** spring.mail.default-encoding=UTF-8 spring.mail.port=25 #/以誰來發送郵件 mail.fromMail.addr=********
須要注意 spring
設置開啓本身郵箱對應的服務服務器
username與addr保持一致 app
password不是郵箱的登陸名,而是客戶端的受權碼spring-boot
3.貼上代碼測試
package com.example.demo.emilyServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.MailException; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Component; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.io.File; @Component public class TestEmilySend { @Autowired private JavaMailSender javaMailSender; private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Value("${mail.fromMail.addr}") private String from; /** * * @param to 接受郵箱 * @param subject 標題 * @param content 內容 */ public void sendMail(String to, String subject, String content){ SimpleMailMessage simpleMailMessage = new SimpleMailMessage();//普通文本 simpleMailMessage.setFrom(from); simpleMailMessage.setTo(to); simpleMailMessage.setSubject(subject); simpleMailMessage.setText(content); try { javaMailSender.send(simpleMailMessage); logger.info("郵件發送成功------------"); } catch (MailException e) { e.printStackTrace(); logger.error("郵件發送失敗------------"); } } /** * 發送html郵件 * @param to * @param subject * @param content */ public void sendMailByHtml(String to, String subject, String content){ MimeMessage mimeMessage = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom(from); helper.setTo(to); helper.setText(content,true); helper.setSubject(subject); javaMailSender.send(mimeMessage); logger.info("發送成功-----------------"); } catch (MessagingException e) { e.printStackTrace(); logger.error("發送失敗----------------"); } } /** * 發送郵件攜帶附件 */ public void sendMailByFile(String to, String subject, String content, String filePath){ MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message,true); helper.setSubject(subject); helper.setText(content); helper.setTo(to); helper.setFrom(from); File file = new File(filePath); helper.addAttachment("測試文檔.docx",file); javaMailSender.send(message); } catch (MessagingException e) { e.printStackTrace(); } } /** * 發送郵件,攜帶圖片 */ public void sendMailByImage(String to, String subject, String content, String filePath,String image){ MimeMessage message = javaMailSender.createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(message,true); helper.setSubject(subject); helper.setText(content); helper.setTo(to); helper.setFrom(from); File file = new File(filePath); helper.addAttachment("測試文檔.docx",file); helper.addInline("測試圖片",new File(image)); javaMailSender.send(message); } catch (MessagingException e) { e.printStackTrace(); } } }
發送附件,郵件的時候,若是不成功,參看163的返回碼查找緣由this
http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.htmlhtm
請勿有test等,會被當作垃圾郵件處理blog