旅游电子商务的三创赛网站建设英文seo推广

news/2025/10/3 22:19:17/文章来源:
旅游电子商务的三创赛网站建设,英文seo推广,租服务器价格一览表,政务网站的建设本文将详细介绍如何在Spring Boot应用程序中实现邮件发送服务。我们将探讨Spring Boot集成邮件发送服务的基本概念#xff0c;以及如何使用Spring Boot和第三方邮件服务提供商来实现邮件发送。此外#xff0c;我们将通过具体的示例来展示如何在Spring Boot中配置和使用邮件发…本文将详细介绍如何在Spring Boot应用程序中实现邮件发送服务。我们将探讨Spring Boot集成邮件发送服务的基本概念以及如何使用Spring Boot和第三方邮件服务提供商来实现邮件发送。此外我们将通过具体的示例来展示如何在Spring Boot中配置和使用邮件发送服务。本文适合希望使用邮件发送功能与用户进行交互的Spring Boot开发者阅读。 一、引言 在Web应用程序中邮件发送是一个常用的功能用于与用户进行交互如发送验证邮件、通知邮件等。Spring Boot提供了一种简便的方式来集成邮件发送服务。本文将介绍如何在Spring Boot应用程序中实现邮件发送服务并通过具体示例来演示这一过程。 二、Spring Boot集成邮件发送服务的基本概念 1. 什么是邮件发送服务 邮件发送服务是一种允许应用程序向用户发送电子邮件的功能。它通常用于发送验证邮件、通知邮件、营销邮件等。邮件发送服务可以通过SMTP协议实现也可以使用第三方邮件服务提供商。 2. 如何在Spring Boot中集成邮件发送服务 在Spring Boot中我们可以通过添加Spring Boot的邮件发送服务依赖并配置邮件发送服务的基本信息来实现邮件发送功能。Spring Boot支持使用JavaMail API和第三方邮件服务提供商。 三、Spring Boot实现邮件发送服务 1. 添加邮件发送服务依赖 在项目的pom.xml文件中添加Spring Boot的邮件发送服务依赖 dependencies!-- Spring Boot Web依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- Spring Boot Mail依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId/dependency /dependencies2. 配置邮件发送服务 在application.properties或application.yml文件中配置邮件发送服务的基本信息如SMTP服务器地址、端口、用户名、密码等。例如 # application.properties spring.mail.hostsmtp.example.com spring.mail.port587 spring.mail.usernameyour-emailexample.com spring.mail.passwordyour-password spring.mail.properties.mail.smtp.authtrue spring.mail.properties.mail.smtp.starttls.enabletrue3. 创建邮件发送服务类 创建一个邮件发送服务类用于实现邮件发送功能。以下是一个简单的邮件发送服务类示例 package com.example.demo.service; 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 MailService {Autowiredprivate 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. 创建Controller类 创建一个Controller类用于处理邮件发送请求。以下是一个简单的Controller类示例 package com.example.demo.controller; import com.example.demo.service.MailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; RestController public class MailController {Autowiredprivate MailService mailService;GetMapping(/sendEmail)public String sendEmail(RequestParam String to, RequestParam String subject, RequestParam String text) {mailService.sendEmail(to, subject, text);return Email sent successfully!;} }5. 运行项目 将以上代码添加到我们的Spring Boot项目中并运行项目。我们可以使用Postman或curl工具向http://localhost:8080/sendEmail发送GET请求并传递邮件接收者、主题和内容参数观察邮件发送效果。 四、使用第三方邮件服务提供商 除了使用SMTP服务器进行邮件发送我们还可以使用第三方邮件服务提供商如SendGrid、MailChimp等。这些服务通常提供更加灵活和强大的邮件发送功能如发送模板邮件、跟踪邮件打开率等。 1. 添加第三方邮件服务依赖 在项目的pom.xml文件中添加第三方邮件服务的依赖。以SendGrid为例 dependencies!-- Spring Boot Web依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- SendGrid依赖 --dependencygroupIdcom.sendgrid/groupIdartifactIdsendgrid-java/artifactIdversion5.3.0/version/dependency /dependencies2. 配置第三方邮件服务 在application.properties或application.yml文件中配置第三方邮件服务的基本信息如API密钥等。例如对于SendGrid # application.properties sendgrid.api-keySG.your-api-key.APIsendgrid3. 创建邮件发送服务类 创建一个邮件发送服务类用于实现邮件发送功能。以下是一个使用SendGrid的邮件发送服务类示例 package com.example.demo.service; import com.sendgrid.*; import org.springframework.stereotype.Service; Service public class SendGridMailService {private static final String API_KEY SG.your-api-key.APIsendgrid;public void sendEmail(String to, String subject, String text) {SendGrid sg new SendGrid(API_KEY);Request request new Request();request.setMethod(Method.POST);request.setEndpoint(mail/send);request.setBody(new SendGrid.Email(new String[]{to}, subject, text));try {Response response sg.api(request);System.out.println(response.getStatusCode());System.out.println(response.getBody());System.out.println(response.getHeaders());} catch (IOException ex) {throw new RuntimeException(Error sending email, ex);}} }4. 创建Controller类 创建一个Controller类用于处理邮件发送请求。以下是一个使用SendGrid的Controller类示例 package com.example.demo.controller; import com.example.demo.service.SendGridMailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; RestController public class SendGridMailController {Autowiredprivate SendGridMailService mailService;GetMapping(/sendGridEmail)public String sendGridEmail(RequestParam String to, RequestParam String subject, RequestParam String text) {mailService.sendEmail(to, subject, text);return Email sent successfully using SendGrid!;} }5. 运行项目 将以上代码添加到我们的Spring Boot项目中并运行项目。我们可以使用Postman或curl工具向http://localhost:8080/sendGridEmail发送GET请求并传递邮件接收者、主题和内容参数观察邮件发送效果。 五、总结 本文详细介绍了如何在Spring Boot应用程序中实现邮件发送服务。我们首先了解了邮件发送服务的基本概念以及Spring Boot集成邮件发送服务的方式。然后我们学习了如何使用Spring Boot和第三方邮件服务提供商来实现邮件发送功能。通过具体的示例我们展示了如何在Spring Boot中配置和使用邮件发送服务以及如何使用SendGrid作为第三方邮件服务提供商进行邮件发送。 通过本文您应该已经掌握了如何在Spring Boot中实现邮件发送服务。您学会了如何配置SMTP服务器和第三方邮件服务提供商如何创建邮件发送服务类和Controller类以及如何通过API发送邮件。此外您还了解了如何使用SendGrid提供的强大功能来发送模板邮件、跟踪邮件打开率等。 希望本文能够帮助您在开发Spring Boot应用程序时更加得心应手。如果您有任何疑问或建议请随时留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring事务管理:-rollbackFor

rollbackFor属性用于控制出现何种异常类型,回滚事务。(默认情况下,只有出现RuntimeException才会回滚) 如: @Transactional(rollbackFor = {Exception.class}) @Override public void save(Emp emp) {//1.保存员工…

在JavaScript / HTML中,动态计算调整文字大小 - 详解

在JavaScript / HTML中,动态计算调整文字大小 - 详解2025-10-03 22:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

微信图片批量保存的办法

微信聊天的图片有时候想要批量保存,但又不想一张一张取点,所以请看此文章已经给官方提建议了,目前还没在最新版看到相关功能。 解决办法:python 脚本(通过pywinauto 控制点击下一张和下载按钮,然后通过判断文件夹…

网站运营专员具体每天怎么做网站建设收费标准报价

ps: 为啥不用蒲公英了,就是因为有广告了,获取个UDID还安装游戏,真恶心?,所以找了新的获取UDID都方法,网页直接获取就可以,不会安装软件。 UDID 是一种 iOS 设备的特殊识别码。除序号之外&…

详细介绍:使用 C# 设置 Excel 单元格数据验证

详细介绍:使用 C# 设置 Excel 单元格数据验证pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

乐清人才网官方网站深圳建网站公司哪家好

原理图: 矩阵按键原理图: 实验板接口原理图: 得到对应图: 扫描按键原理: 按键的COLUMN1、2、3分别制0,每次只允许其中一个为0其他都是1(POW1和POW2正常状况为上拉),当有…

博客园实验1

1 // 打印一个字符小人 2 #include <stdio.h> 3 int main() 4 { 5 printf(" O \n"); 6 printf("<H>\n"); 7 printf("I I\n"); 8 return 0; 9 }View Code1 …

做盗版系统网站会不会php app网站建设

本书目录&#xff1a;点击进入 一、总结内容 二、习题 2.1 【选择题】以下Vue指令中&#xff0c;哪些指令具备简写方式&#xff1f; 2.2 【编程题】以下Vue指令中&#xff0c;哪些指令具备简写方式&#xff1f; &#xff1e; 效果 &#xff1e; 代码 一、总结内容 了解核…

arm汇编

寄存器 R0–R3 传参/返回值 R4–R11 局部变量(callee 保存) R12 临时 R13 SP 栈指针 R14 LR 返回地址 R15 PC 程序计数器 CPSR 标志位:N Z C V 常用指令 MOV Rd, #imm 立即数传送 ADD/ADC…

腾度网站建设品牌营销模式

前段时间&#xff0c;家里的iPad被家人误操作&#xff0c;导致iPad变成不可使用状态。自己折腾了半天&#xff0c;没有找到解决办法。没有办法&#xff0c;只好拿到手机维修店去修理,很快就修理好了.其实也很简单--就是对iPad进行了刷机操作。当然我也看到了刷机的方法。今天&a…

模型与分词器

当我们说“让AI理解人类语言”时,第一步是什么? 计算机是无法直接处理文本的,它需要数字。而模型与分词器就是完成“文本 → 数字 → 理解”这个神奇转换的关键二人组。本文将带你彻底理解这两者是什么、如何工作以…

云锵投资 2025 年 9 月简报

季报摘要本季度,量化基金策略业绩:15.48%,中,全国排名:8672/13200;平均 Beta:1.00; 本季度,量化股票策略业绩:25.05%,良,全国排名:4926/13200;平均 Beta:1.61; 本季度,量化期权策略业绩:21.71%(中性…

subclipse最新版本更新地址

subclipse最新版本更新地址 https://gitcode.com/gh_mirrors/upda/updates/tree/main/subclipse

详细介绍:C++与Open CASCADE中的STEP格式处理:从基础到高级实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

板子2

最近经常跑到以前代码里复制的东西,其实简单。 其中逆序对甚至vp的时候开始写了个挂的,和将军手搓了半天。 干脆放这里备用。 【模版】逆序对 【模版】笛卡尔树

简单网站开发项目实例企业网址是怎么写的

提起SimpleDateFormat类&#xff0c;想必做过Java开发的童鞋都不会感到陌生。没错&#xff0c;它就是Java中提供的日期时间的转化类。这里&#xff0c; 为什么说SimpleDateFormat类有线程安全问题呢&#xff1f;有些小伙伴可能会提出疑问&#xff1a;我们生产环境上一直在使用S…

网站搭建多少钱徐州百都网络非常好网站建设代码怎么导入图片

我一直不知道我在大家心目中的定位是什么&#xff0c;但我内心其实是把自己定义为一个『工具人』的。可能是因为我自己本身就是程序员&#xff0c;所以更能理解程序员的不易吧。所以&#xff0c;我尽量不写水文&#xff0c;只分享干货。就是希望大家看了能够有所收获&#xff0…

从DQN到Double DQN:分离动作选择与价值评估,解决强化学习中的Q值过估计问题

2015年DQN在Atari游戏上取得突破性进展,从此以后强化学习终于能处理复杂环境了,但没多久研究者就注意到一些奇怪的现象: Q值会莫名其妙地增长到很大,智能体变得异常自信,坚信某些动作价值极高。实际跑起来却发现这…

P9877/QOJ5069 Vacation

题意 给定长度为 \(n\) 的序列 \(a\) 和定值 \(c\),\(q\) 次操作,每次操作可以是单点修改,也可以是查询 \([l,r]\) 的所有区间长度 \(\le c\) 的子区间中区间和最大是多少。 \(c\le n\le 2\times10^5,q\le 5\times1…

CF1916G Optimizations From Chelsu

神仙题,神仙做法。点分治,假设路径的端点是 \(s\) 和 \(t\),那么 \(len\times g\) 就是 \((d_s+d_t)\times \gcd(v_s,v_t)\),其中 \(d\) 是到根链长度,\(v\) 是到根的 \(\gcd\)。 不妨设 \(d_s\ge d_t\),那么 \(…