Java发送邮件案例
一:添加依赖
<!--对邮件的支持jar--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
二:application.yml配置邮箱(放在Spring下的第一级)
mail:
host: smtp.qq.com # 设置邮箱主机(服务商),这里使用QQ邮件服务器
username: 2731518301@qq.com # 设置用户名 - 发送方
password: btywkbbxglkudgdg # 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码
properties:
mail:
smtp:
auth: true # 必须进行授权认证,它的目的就是阻止他人任意乱发邮件
starttls: #SMTP加密方式:连接到一个TLS保护连接
enable: true
required: true
三:发送简单邮件:javaMailSender
@SpringBootTest(classes = Application.class) @RunWith(SpringJUnit4ClassRunner.class) public class EmailTest{
//注入邮件对象JavaMailSender @Autowired private JavaMailSender javaMailSender; @Test public void send1(){ SimpleMailMessage mailMessage = new SimpleMailMessage(); //设置发送人 mailMessage.setFrom("2731518@qq.com"); //邮件主题 mailMessage.setSubject("新型冠状病毒防护指南"); //邮件内容:普通文件无法解析html标签 mailMessage.setText("<h1>好好在家待着.....</h1>"); //收件人 mailMessage.setTo("27801@qq.com"); //发送邮件 javaMailSender.send(mailMessage); }
四:发送复杂邮件:MimeMessage
@Test public void send2() throws MessagingException { //创建复杂邮件对象 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //发送复杂邮件的工具类 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8"); helper.setFrom("2718301@qq.com"); helper.setSubject("店铺激活邮件"); helper.setText("<h1>你的店铺已经注册!!!</h1><img src='http://dfs.java.itsource.cn/group1/M00/00/B9/rBE3kWD_fEuALou2AAB4rV4bI7c231.jpg' ><a href='http://localhost:8080/shop/active/22'>点击该链接激活</a>",true); //添加附件 helper.addAttachment("6.jpg",new File("C:\\Users\\Administrator\\Pictures\\6.jpg")); //收件人 helper.setTo("1838731@qq.com"); javaMailSender.send(mimeMessage); }