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