SMTP (Simple Mail Transfer Protocol): 简单邮件传输协议 , 用于发送电子邮件的传输协议
POP3 (Post Office Protocol-Version 3):用于接收电子邮件的标准协议
IMAP (Internet Mail Access Protocol) : 互联网消息协议 , 是POP3的替代协议
使用
-
导坐标
-
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
-
配置 : yml文件
-
spring: mail: #指定使用的协议 host: smtp.qq.com username: 1773048898@qq.com password: amocgcowhkwfeghc
发送简单邮件 :
-
@Autowired private JavaMailSender javaMailSender; //发送一个简单邮件 //发送人 private String from ="xxx@qq.com"; //接收人 private String to = "xxx@163.com"; //标题 private String subject = "测试邮件"; //正文 private String context = "测试邮件正文内容"; @Override public void sendMail() { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(from); message.setTo(to); message.setSubject(subject); message.setText(context); javaMailSender.send(message); }
发送复杂邮件 :
-
@Autowired private JavaMailSender javaMailSender; @Override public void sendMail() { try { MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message,true); //true表示允许使用多部件 , 也就是可以添加附件 messageHelper.setFrom(from+"(思尘)"); messageHelper.setTo(to); messageHelper.setSubject(subject); messageHelper.setText(context,true);//设置可以解析html //发送附件 File file1 = new File("D:\\测试.txt"); File file2 = new File("D:\\测试2.txt"); //第一个参数指定文件名称 , 第二个参数指定文件 messageHelper.addAttachment(file1.getName(), file1); messageHelper.addAttachment("思尘.txt", file2);//记得自定义文件名加上文件的格式 javaMailSender.send(message); } catch (MessagingException e) { e.printStackTrace(); } }