SpringBoot整合JavaMail---发送邮件

目录

补充知识

一、发送简单邮件

maven

配置

代码

 二、发送多部件邮件

代码


补充知识

  我们一般用程序发邮件,很少用程序收邮件

SpringBoot整合JavaMail---发送邮件_第1张图片

一、发送简单邮件

maven

        
            org.springframework.boot
            spring-boot-starter-mail
        

配置

spring:
  mail:
#   使用SMTP发送邮件  我们使用的是QQ邮箱
    host: smtp.qq.com
#   账号   写上自己的qq号
    username: 11*******@qq.com
#   此处要去邮箱获取(不要复制这个)
    password: eivalefaehrkiaaa

SpringBoot整合JavaMail---发送邮件_第2张图片

代码

@Service
public class SendMailServiceImpl implements SendMailService {

    // springboot已经整合完毕,直接自动装配
    @Autowired
    private JavaMailSender javaMailSender;

//    发送者
    private  String from = "114******@qq.com";
//    接收者
    private  String to="182******@qq.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);
    }
}

 二、发送多部件邮件

 在我们使用的时候,并不会像上面一样仅仅是发送一个很简单的文字内容,可能会有图片,附件等等等等,下面我们就要来实现一下。

配置不改变

代码

@Service
public class SendMailServiceImpl implements SendMailService {

    // springboot已经整合完毕,直接自动装配
    @Autowired
    private JavaMailSender javaMailSender;

//    发送者
    private  String from = "11*******@qq.com";
//    接收者
    private  String to="18*********@qq.com";
//    标题
    private  String subject="测试邮件";
//    正文
    private  String context="" +
                            "点我有惊喜" ;


    @Override
    public void sendMail() {


        try {
            MimeMessage message = javaMailSender.createMimeMessage();
//                 第二个参数true代表可以添加附件  不写的话默认false
            MimeMessageHelper helper = new MimeMessageHelper(message,true);


//          发送者 ( 和下面一样,我们在发送者的宋勉加了一个名字,所以接收者收到的时候,就会显示这个名字,而不会显示我们发送者的邮箱号了)
            helper.setFrom(from);
//          接收者
            helper.setTo(to);
//          标题
            helper.setSubject(subject);
//          正文     true 表示正文中的各种html语言要实现,不加true默认false,不管写什么html语言,都当做纯String处理
            helper.setText(context,true);

//          添加附件
            File file = new File("E:\\zzz.docx");
//                第一个参数:发送过去的附件名字  第二个参数,发送的文件
            helper.addAttachment(file.getName(),file);


//          发送
            javaMailSender.send(message);

        } catch (MessagingException e) {
            e.printStackTrace();
        }

    }
}

SpringBoot整合JavaMail---发送邮件_第3张图片

你可能感兴趣的:(springboot,java,开发语言)