零基础,使用Idea工具写一个邮件报警程序

发布于:2025-07-08 ⋅ 阅读:(16) ⋅ 点赞:(0)

打开idea,创建一个project

打开文件目录下的pom.xml文件,添加下面的内容安装依赖,等待下载完成

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

打开src->main->resources->application.properties配置文件

添加邮箱账号、密码(这里使用的是qq邮箱的授权码)

spring.application.name=my-email-app
spring.mail.host=smtp.qq.com  //指定邮箱的SMTP服务器地址
spring.mail.port=587  //SMTP服务端口号
 #邮箱账号
spring.mail.properties.mail.smtp.auth=true  //启用SMTP身份验证(必须为true才能发送邮件)
spring.mail.properties.mail.smtp.starttls.enable=true  //启用STARTTLS加密(确保邮件传输安全)
spring.mail.username=25xxxxxxx@qq.com  //发件人邮箱
spring.mail.password=klptaxfztbtxxxx  //邮箱授权码
spring.mail.default-encoding=utf-8  //防止中文乱码

授权码在登录qq邮箱点击设置->账号->开启服务

在src->main->项目文件里面添加一个service包

添加一个SendMail.java文件

package com.qst.springbootjava4.service;
import jakarta.mail.MessagingException;  // 添加这行
import jakarta.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
// 其他已有导入...
import java.io.File;

@ComponentScan
@Service
public class SendMail {
    @Autowired
    private JavaMailSenderImpl mailSender;
    @Value("${spring.mail.username}")
    private String from;
  public void sendSimpleEmail(String to,String subject,String text){
      //定制纯文本邮件信息对象
      SimpleMailMessage message=new SimpleMailMessage();
      message.setFrom(from);
      message.setTo(to);
      message.setSubject(subject);
      message.setText(text);
      //发送邮件
      mailSender.send(message);
      try{
          mailSender.send(message);
          System.out.print("成功");
      }catch (MailException e){
          System.out.print("失败");

      }
  }
  //复杂的邮件发送
  public void  sendCompexEmail(String to,String subject,String text,String filePath){
      //定制复杂邮件信息对象MimeMessage
      MimeMessage message= mailSender.createMimeMessage();
      //使用MimeMessageHelper帮助类,并设置multipart多部件使用为true
      try {
          MimeMessageHelper helper=new MimeMessageHelper(message,true);
          helper.setFrom(from);
          helper.setTo(to);
          helper.setSubject(subject);
          helper.setText(text);
          //设置邮件附件
          FileSystemResource file=new FileSystemResource(new File(filePath));
          String fileName=filePath.substring(filePath.lastIndexOf(File.separator));
          //发送邮件
          helper.addAttachment(fileName,file);
          mailSender.send(message);
      } catch (MessagingException e) {
          e.printStackTrace();
      }
  }

}


打开text文件添加

package com.qst.springbootjava4;

import com.qst.springbootjava4.service.SendMail;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class Springbootjava4ApplicationTests {
    @Autowired
    private SendMail sendMail;  //自动注入邮件服务

    @Test
    public void testSendEmail() {
        String to = "251xxxxxxx5@qq.com";  //收件人邮件
        String subject = "验证邮件";  //邮件主题
        String text = "这是一封测试邮件,用于验证Spring Boot邮件发送功能。";  //邮件正文

        sendMail.sendSimpleEmail(to, subject, text);
    }
    @Test
    public void test02(){
        String to = "251xxxxxxx@qq.com";  //收件人
        String subject = "测试";  //主题
        String text="这是一个文件";  //正文
        String filePath="C:\\Users\\Administrator\\Desktop\\新建 DOC 文档.doc";  //附件路径
        sendMail.sendCompexEmail(to,subject,text,filePath);
    }
}

运行代码后看邮箱


网站公告

今日签到

点亮在社区的每一天
去签到