首页 > 其他分享 >SpringBoot发送邮件(三)

SpringBoot发送邮件(三)

时间:2024-05-23 10:40:45浏览次数:22  
标签:mailSender SpringBoot param 发送 source mail message 邮件 String

jdk:17
springboot:3.0+

POM依赖

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.0.2</version>
</dependency>

工具类

/**
 * 邮件发送消息
 */
@UtilityClass
public class MailUtil {

	/**
	 * 邮件发送消息
	 *
	 * @param host     SMTP服务器
	 * @param port     SMTP端口
	 * @param username SMTP用户名
	 * @param password SMTP密码
	 * @param from     发件人
	 * @param to       收件人
	 * @param subject  主题
	 * @param content  内容
	 */
	public Boolean sendNotice(String host, int port, String username, String password, String from, String protocol, String to, String subject, String content) {
		SimpleMailMessage message = new SimpleMailMessage();
		message.setSubject(subject);
		message.setText(content);
		message.setTo(to);
		message.setFrom(from);

		JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
		mailSender.setHost(host);
		mailSender.setPort(port);
		mailSender.setUsername(username);
		mailSender.setPassword(password);
		mailSender.setProtocol(protocol);
		mailSender.setDefaultEncoding(CommonConstants.UTF8);
		Properties properties = new Properties();
		Map<String, String> source = new HashMap<>();
		source.put("mail.smtp.auth", "true");
		source.put("mail.smtp.socketFactory.port", String.valueOf(port));
		source.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
		source.put("mail.smtp.socketFactory.fallback", "false");
		source.put("mail.smtp.starttls.enable", "true");
		source.put("mail.smtp.starttls.required", "true");
		properties.putAll(source);
		mailSender.setJavaMailProperties(properties);
		mailSender.send(message);
		return Boolean.TRUE;
	}
}

标签:mailSender,SpringBoot,param,发送,source,mail,message,邮件,String
From: https://www.cnblogs.com/leepandar/p/18207871

相关文章

  • SpringBoot动态定时任务
    其实SchedulingConfigurer实现方法很简单,只需要实现SchedulingConfigurer并重写configureTasks方法,在启动类必须加上@EnableScheduling注解即可。@Configuration@EnableScheduling@Slf4jpublicclassRuleTaskimplementsSchedulingConfigurer{privatevolatileSch......
  • SpringBoot发送邮件(一)
    POM依赖<!--发送邮件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>邮箱配置mail:host:smtp.partner.outlook.cn#发送邮件服务器user......
  • 【SpringBoot】服务停止数据源的关闭时机
    1 前言微服务中我们会用到数据源,数据源中其实就是管理我们的数据库连接,对于数据库而言,连接数是很珍贵的资源,所以释放无用或者长时间空闲的连接显得很重要。那么对于微服务比如我们的SpringBoot当服务启动的时候会初始化数据源,那么停止的时候,是如何关闭数据源,释放连接的呢?这......
  • 在springboot项目中,打包本地的外部jar包,到运行的jar包中
    1、配置依赖<dependency><groupId>com.genesyslab</groupId><artifactId>genesyslab</artifactId><version>1.0.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/re......
  • springboot开启热部署
    一、依赖在SpringBoot中启用热部署通常涉及使用SpringBootDevTools依赖和配置。以下是如何在SpringBoot项目中启用热部署的步骤:在pom.xml中添加SpringBootDevTools依赖:<dependencies><!--其他依赖--><dependency><groupId>org.springframework.b......
  • springboot中执行完某些逻辑后,才算bean加载完,applicationContext才加载完毕
    核心思想实现InitializingBean接口,重写afterPropertiesSet方法范例代码importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.InitializingBean;importorg.springframework.stereotype.Component;@Slf4j@ComponentpublicclassDemoimplementsI......
  • springboot集成logback-spring.xml日志文件
    logback-spring.xml:<!--Logbackconfiguration.Seehttp://logback.qos.ch/manual/index.html--><configurationscan="true"scanPeriod="10seconds"><springPropertyscope="context"name="logLevel"s......
  • Java核心面试知识集—SpringBoot面试题
    概述什么是SpringBoot?SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。SpringBoot有哪些优点?SpringBoot主要有如下优点:容易上手,提升开发效率,为Spring开发......
  • 【Springboot】复杂单元测试启动类-只测试OpenFeign
    复杂单元测试启动类-只测试OpenFeign背景随着springboot应用工程规模越来越大,集成了较多的自动配置的程序,例如SpringDataJPA,SpringCloudOpenFeign,ApacheDubbo有时会需要在本地运行测试,但要么因为数据库无法在办公网络环境连接,要么注册中心无法连接,这就导致本地完全无......
  • 使用HttpClient发送请求
    导入依赖<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>相关案例@TextpublicvoidtestGet()throwsException{//创建......