SpringBoot实现邮件发送

1.引入jar包

<!--邮件发送功能依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

 

2.配置properties(yml)

spring:
  mail:
      protocol: smtp #smtp是邮件发送协议,pop3和imap是邮件接收协议。因为我们要发送邮件,因此是smtp
      host: smtp.qq.com #邮件发送服务器的主机,这里采用的是QQ邮箱来发送邮件
      port: 465 #邮件发送服务器的端口
      auth: true #一般情况下,发送邮件都是要进行验证
      username: 756834111@qq.com #邮件发送服务器的用户名
      password: mptwyvufdggcbgab #此处不是账户密码而是权限码(可以在邮箱中开启服务得到)
      properties: #由于smtp属于变种协议,需要申明ssl
        mail:
          smtp:
            ssl:
              enable: true

3.Controller实现

1.只发送信息

public String send(){
		//建立邮件消息
		SimpleMailMessage mainMessage = new SimpleMailMessage();
		//发送者
		mainMessage.setFrom("xxxxx@126.com");
		//接收者
		mainMessage.setTo("xxxx@qq.com");
		//发送的标题
		mainMessage.setSubject("嗨喽");
		//发送的内容
		mainMessage.setText("hello world");
		jms.send(mainMessage);
		return "1";
	}

2.发送带附件的邮件

常规使用中,可以将文件转为流传送

            MimeMessage mailMessage = javaMailSender.createMimeMessage();

            //开启带附件true
            MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
            messageHelper.setFrom("756834111@qq.com");//发送者.
            messageHelper.setTo("ztxcom@qq.com");//接收者.
            messageHelper.setSubject("朱儿");//邮件主题.
            messageHelper.setText(emailText);//邮件内容.
            //文件一
            FileSystemResource file1 = new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\1.jpg"));
            FileSystemResource file2= new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\2.jpg"));
            messageHelper.addAttachment("附件-1.jpg", file1);
            messageHelper.addAttachment("附件-2.jpg", file2);


            javaMailSender.send(mailMessage);//发送邮件

3.假如使用了Thymeleaf模板引擎,可以发送html

@Autowired
    private TemplateEngine templateEngine;

MimeMessage mailMessage = javaMailSender.createMimeMessage();
       // context 对象用于注入要在模板上渲染的信息
        Context context = new Context();
        context.setVariable("adminList",list);
        String emailText = templateEngine.process("testMain",context);

            //开启带附件true
            MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true);
            messageHelper.setFrom("756834111@qq.com");//发送者.
            messageHelper.setTo("ztxcom@qq.com");//接收者.
            messageHelper.setSubject("朱儿");//邮件主题.
            messageHelper.setText(emailText,true);//邮件内容.
            //文件一
            FileSystemResource file1 = new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\1.jpg"));
            FileSystemResource file2= new FileSystemResource(new File("C:\\Users\\15250\\Desktop\\2.jpg"));
            messageHelper.addAttachment("附件-1.jpg", file1);
            messageHelper.addAttachment("附件-2.jpg", file2);


            javaMailSender.send(mailMessage);//发送邮件

其中setText中加true是开启html传送,会识别html标签

 

 

以上只是自己学习使用,不喜勿喷!希望大佬指导怎么将能让传过去的页面最好能有css效果,我使终没有css效果

Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架。它提供了许多开箱即用的功能,包括邮件发送。下面是使用Spring Boot实现邮件发送的步骤: 1. 添加依赖:在项目的pom.xml文件中添加Spring Boot的邮件依赖,例如: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 2. 配置邮件信息:在application.properties或application.yml文件中配置邮件服务器的相关信息,例如: ```properties spring.mail.host=smtp.example.com spring.mail.port=587 spring.mail.username=your-email@example.com spring.mail.password=your-email-password spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true ``` 3. 创建邮件服务类:创建一个邮件服务类,用于发送邮件。可以使用JavaMailSender来发送邮件,例如: ```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. 调用邮件服务类:在需要发送邮件的地方调用邮件服务类的sendEmail方法,例如: ```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() { emailService.sendEmail("recipient@example.com", "Test Email", "This is a test email."); return "Email sent successfully."; } } ``` 以上就是使用Spring Boot实现邮件发送的基本步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值