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);
    }

 

posted @ 2022-07-27 12:24  yyybl  阅读(28)  评论(0)    收藏  举报