Springboot使用QQ邮箱发送邮件信息

本文详细介绍使用 Spring Boot 发送简单及复杂邮件的方法,包括配置邮件服务器、编写测试代码及创建工具类等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简单的文本邮件

1、首先在pom.xml引用发送邮件需要的依赖

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

2、配置application.yml文件

spring:
  mail:
    username: 28******09@qq.com
    password: *****
    host: smtp.qq.com
    default-encoding: UTF-8

3、开始测试发邮件

package cn.orz;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;

@SpringBootTest
class TimingProgramApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void SenMail() {

        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setSubject("这是啥嘛");
        simpleMailMessage.setText("这是一封简单的邮件啦~");
        simpleMailMessage.setFrom("28*****709@qq.com");
        simpleMailMessage.setTo("orz****@qq.com");
        mailSender.send(simpleMailMessage);
    }




}

发送成功截图

 

二、复杂的文本邮件

 

配置啥的都不用改

    @Test
    void SenMail2() throws MessagingException {

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper Helper = new MimeMessageHelper(mimeMessage,true);
        Helper.setFrom("287*****09@qq.com");
        Helper.setSubject("这是啥嘛");
        Helper.setText("<P style='color:red'>这是一封带有附件的复杂邮件<p>",true);
        Helper.addAttachment("1.jpg",new File("C:\\Users\\orz\\Desktop\\IMG_9220.JPG"));
        Helper.setTo("orzdh@qq.com");
        mailSender.send(mimeMessage);
    }

发送成功截图

三、把发邮件代码抽取出来成为自己的工具类。

package cn.orz.utlis;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

@Service
public class Mail {

    @Autowired
    JavaMailSenderImpl mailSender;

    public void SenMail(boolean Html,String From,String Subject,
                 String text,String Filename ,
                 String Filepath,String To) throws MessagingException {

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper Helper = new MimeMessageHelper(mimeMessage,Html);
        Helper.setFrom(From);
        Helper.setSubject(Subject);
        Helper.setText(text,Html);
        Helper.addAttachment(Filename,new File(Filepath));
        Helper.setTo(To);
        mailSender.send(mimeMessage);
    }
}

如何调用???

代码如下

 

 

 

这样就大功告成啦!!!!!!!!!!!!

要发啥邮件都行

 

以下是使用Spring Boot发送邮件的步骤: 1. 导入Spring Boot提供的依赖[^1]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 2. 在配置文件中设置邮箱信息: ```properties spring.mail.host=smtp.qq.com spring.mail.port=587 spring.mail.username=your-email@qq.com spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true ``` 3. 创建一个邮件服务类,用于发送邮件[^2]: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class EmailService { @Autowired private JavaMailSender mailSender; public void sendEmail(String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); mailSender.send(message); } } ``` 4. 在需要发送邮件的地方调用邮件服务类的方法发送邮件: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class EmailController { @Autowired private EmailService emailService; @GetMapping("/sendEmail") public String sendEmail() { String to = "recipient@example.com"; String subject = "Test Email"; String text = "This is a test email."; emailService.sendEmail(to, subject, text); return "Email sent successfully."; } } ``` 以上是使用Spring Boot发送邮件的简单示例。你可以根据自己的需求进行相应的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值