当前位置: 首页 > news >正文

营销型网站建设可行性分析优化网站建设seo

营销型网站建设可行性分析,优化网站建设seo,福泉市自己的网站,人民日报客户端下载appSpring Boot 对于发送邮件这种常用功能也提供了开箱即用的 Starter:spring-boot-starter-mail。 通过这个 starter,只需要简单的几行配置就可以在 Spring Boot 中实现邮件发送,可用于发送验证码、账户激活等等业务场景。 本文将通过实际的案…

Spring Boot 对于发送邮件这种常用功能也提供了开箱即用的 Starter:spring-boot-starter-mail。
通过这个 starter,只需要简单的几行配置就可以在 Spring Boot 中实现邮件发送,可用于发送验证码、账户激活等等业务场景。

本文将通过实际的案例带你了解如何在 Spring Boot 中使用 QQ 邮箱发送邮件。

关于 Spring 对邮件支持的更多细节,你可以参阅 springdoc.cn。

创建 Spring Boot 应用
在 pom.xml 中添加 spring-boot-starter-mail 依赖:

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

属性配置
在 application.yaml 中配置属性。

spring:mail:# 指定邮件服务器地址host: smtp.qq.com# 登录账户username: 747692844@qq.com# 登录密码password: "<你的密码/授权码>"# 端口port: 465# 默认编码default-encoding: UTF-8# 使用的协议protocol: smtps# 其他的属性properties:"mail.smtp.connectiontimeout": 5000"mail.smtp.timeout": 3000"mail.smtp.writetimeout": 5000"mail.smtp.auth": true"mail.smtp.starttls.enable": true"mail.smtp.starttls.required": true

需要在 QQ 邮箱设置中开启 「SMTP」 服务,并且记得把配置文件中的 spring.mail.password 替换为你的 「授权码」。注意,不是 QQ 密码,关于 QQ 邮箱如何生成授权码你可以参阅:
https://service.mail.qq.com/detail/0/75

对于 spring mail 更多的可用配置可以参阅 springdoc.cn。

发送邮件
配置正确后,就可以在任意 Bean 中注入 JavaMailSender Bean,用于发送邮件。

发送一封简单的邮件:

@Autowired
JavaMailSender javaMailSender;@Test
public void test() throws Exception {// 创建一个邮件消息MimeMessage message = javaMailSender.createMimeMessage();// 创建 MimeMessageHelperMimeMessageHelper helper = new MimeMessageHelper(message, false);// 发件人邮箱和名称helper.setFrom("747692844@qq.com", "springdoc");// 收件人邮箱helper.setTo("admin@springboot.io");// 邮件标题helper.setSubject("Hello");// 邮件正文,第二个参数表示是否是HTML正文helper.setText("Hello <strong> World</strong>!", true);// 发送javaMailSender.send(message);
}

首先,通过 javaMailSender 的 createMimeMessage 创建一个 MimeMessage 对象,表示邮件。

接着创建 MimeMessageHelper 对象,第二个 boolean 参数表示,是否是一个 Multipart 邮件(带有附件)。

然后,通过 helper 对象,设置邮件的发件人邮箱和名称、收件人、主题、内容等信息。注意,setText 方法第二个参数表示内容是否是 html 正文。本例中,正文使用了一个 strong HTML 标签。

执行测试,发送邮件。然后进入收件箱查看:
在这里插入图片描述
成功收件,注意 World 文本是加粗的,因为发送的是 HTML 邮件,并且使用了 strong 标签。

可以使用 freemarker 等模板模板引擎来定义 HTML 邮件模板。

发送带有附件的邮件
有时,我们需要通过邮箱发送一些附件文件。

如下:

@Autowired
JavaMailSender javaMailSender;@Test
public void test() throws Exception {// 创建一个邮件消息MimeMessage message = javaMailSender.createMimeMessage();// 创建 MimeMessageHelper,指定 boolean multipart 参数为 trueMimeMessageHelper helper = new MimeMessageHelper(message, true);// 发件人邮箱和名称helper.setFrom("747692844@qq.com", "springdoc");// 收件人邮箱helper.setTo("admin@springboot.io");// 邮件标题helper.setSubject("Spring 中文文档");// 邮件正文,第二个参数表示是否是HTML正文helper.setText("你好,这是 Spirng 的中文文档!<br/> 请尽快下载!", true);// 添加一个附件,指定附件名称、文件的 Inputstream 流 以及 Content-Typehelper.addAttachment("spring-framework 中文文档.pdf", () -> Files.newInputStream(Paths.get("C:\\Users\\KevinBlandy\\Desktop\\spring-framework 中文文档.pdf")), "application/octet-stream");// 发送javaMailSender.send(message);
}

如上,和发送普通邮件没太大区别。

  1. 创建 MimeMessageHelper 时,第二个参数要设置为 true。
  2. 调用 helper 的 addAttachment() 方法来添加附件,可以多次调用表示添加多个。
    addAttachment() 方法的第一个参数就是会在收件箱显示的附件名称,第二个参数是一个 InputStreamSource 函数接口,需要返回一个 InputStream,也就是附件文件的二进制流。最后一个参数用于表示文件的媒体类型,也就是 Content Type,如果你不知道具体的类型,可以无脑设置为 application/octet-stream。

同样,这封邮件也是 HTML 邮件,在正文中使用了
标签。

执行测试,发送邮件,并且查看收到的邮件:在这里插入图片描述
如上,成功收到了带附件的邮件。
自定义 JavaMailSender 实现
上面的例子中,我们把邮箱的信息定义在了配置文件中。这可能有一些不够灵活,你也可以把邮箱信息存储在数据库或者其他地方,随时可以通过管理后台进行维护、修改,而不需要重启应用。

我们可以直接实例化 JavaMailSender 的默认实现 JavaMailSenderImpl,在运行时设置邮箱服务器、用户名密码等等。

@Test
public void test() throws Exception {// 直接创建 JavaMailSenderImpl 实现类JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();javaMailSender.setDefaultEncoding("utf-8");javaMailSender.setHost("smtp.qq.com");              // 设置邮箱服务器javaMailSender.setPort(465);                        // 设置端口javaMailSender.setUsername("747692844@qq.com");    // 设置用户名javaMailSender.setPassword("<你的密码/授权码>");      // 设置密码(记得替换为你实际的密码、授权码)javaMailSender.setProtocol("smtps");                // 设置协议Properties properties = new Properties();           // 配置项properties.put("mail.smtp.connectiontimeout", 5000);properties.put("mail.smtp.timeout", 3000);properties.put("mail.smtp.writetimeout", "5000");properties.put("mail.smtp.auth", true);properties.put("mail.smtp.starttls.enable", true);properties.put("mail.smtp.starttls.required", true);javaMailSender.setJavaMailProperties(properties); // 设置配置项// 创建一个邮件消息MimeMessage message = javaMailSender.createMimeMessage();// 创建 MimeMessageHelperMimeMessageHelper helper = new MimeMessageHelper(message, false);// 发件人邮箱和名称helper.setFrom("747692844@qq.com", "springdoc");// 收件人邮箱helper.setTo("admin@springboot.io");// 邮件标题helper.setSubject("Hello");// 邮件正文,第二个参数表示是否是HTML正文helper.setText("Hello <strong> World</strong>!", true);// 发送javaMailSender.send(message);
}

如上,每次发送邮件都先从数据库中检索邮箱服务器的配置,然后构建 JavaMailSenderImpl 实例执行邮件发送。

当需要修改邮箱的时候,只需要在管理后台进行修改即可,不用改动任何配置、代码。


文章转载自:
http://hula.hmxb.cn
http://dunnite.hmxb.cn
http://atonable.hmxb.cn
http://nonaqueous.hmxb.cn
http://kirkcudbrightshire.hmxb.cn
http://blueish.hmxb.cn
http://grammatology.hmxb.cn
http://fumy.hmxb.cn
http://undergird.hmxb.cn
http://acclivous.hmxb.cn
http://cottian.hmxb.cn
http://electromeric.hmxb.cn
http://caesaropapist.hmxb.cn
http://nitrosoguanidine.hmxb.cn
http://avowed.hmxb.cn
http://blustering.hmxb.cn
http://leisure.hmxb.cn
http://figmentary.hmxb.cn
http://octogenarian.hmxb.cn
http://baldheaded.hmxb.cn
http://undercharge.hmxb.cn
http://remurmur.hmxb.cn
http://ponderous.hmxb.cn
http://rufescent.hmxb.cn
http://candlestick.hmxb.cn
http://verification.hmxb.cn
http://pepsinogen.hmxb.cn
http://decreet.hmxb.cn
http://turdiform.hmxb.cn
http://wisconsin.hmxb.cn
http://gift.hmxb.cn
http://harvester.hmxb.cn
http://antilogy.hmxb.cn
http://ou.hmxb.cn
http://yawnful.hmxb.cn
http://fluoridationist.hmxb.cn
http://novato.hmxb.cn
http://misguide.hmxb.cn
http://rusine.hmxb.cn
http://clipboard.hmxb.cn
http://anteorbital.hmxb.cn
http://startler.hmxb.cn
http://sapient.hmxb.cn
http://heron.hmxb.cn
http://lactose.hmxb.cn
http://plover.hmxb.cn
http://conchobar.hmxb.cn
http://downsizing.hmxb.cn
http://vassal.hmxb.cn
http://vesical.hmxb.cn
http://moneywort.hmxb.cn
http://hogweed.hmxb.cn
http://backbiter.hmxb.cn
http://pantagruelism.hmxb.cn
http://fraternise.hmxb.cn
http://centrifugalize.hmxb.cn
http://disimprisonment.hmxb.cn
http://daffadilly.hmxb.cn
http://seignorage.hmxb.cn
http://whiteout.hmxb.cn
http://parasiticidal.hmxb.cn
http://citizeness.hmxb.cn
http://banister.hmxb.cn
http://napier.hmxb.cn
http://brown.hmxb.cn
http://thrave.hmxb.cn
http://fade.hmxb.cn
http://generativist.hmxb.cn
http://scratchpad.hmxb.cn
http://nctm.hmxb.cn
http://dareful.hmxb.cn
http://displacement.hmxb.cn
http://ecdyses.hmxb.cn
http://unscrewed.hmxb.cn
http://nonionic.hmxb.cn
http://lifelong.hmxb.cn
http://acinar.hmxb.cn
http://zincky.hmxb.cn
http://unstockinged.hmxb.cn
http://err.hmxb.cn
http://nubbin.hmxb.cn
http://cinquain.hmxb.cn
http://keyway.hmxb.cn
http://firewater.hmxb.cn
http://prefade.hmxb.cn
http://haemathermal.hmxb.cn
http://ceramist.hmxb.cn
http://volleyfire.hmxb.cn
http://saponine.hmxb.cn
http://evanescence.hmxb.cn
http://cothurnus.hmxb.cn
http://consolette.hmxb.cn
http://reversion.hmxb.cn
http://salud.hmxb.cn
http://magnetophone.hmxb.cn
http://worthily.hmxb.cn
http://coatimundi.hmxb.cn
http://websterite.hmxb.cn
http://volapuk.hmxb.cn
http://pacha.hmxb.cn
http://www.dt0577.cn/news/90946.html

相关文章:

  • 珠海品牌网站制作岳阳seo快速排名
  • 重庆孝爱之家网站建设山西网络推广
  • 镇江整站优化网络推广预算方案
  • 信通网站开发中心百度竞价开户多少钱
  • 网站是怎么制作的上海优化关键词的公司
  • 2345网址导航怎么样成都百度提升优化
  • 十堰网站建设公司相城seo网站优化软件
  • 政府单位网站建设方案seo优化网络
  • wordpress条文件夹新seo排名点击软件
  • 日韩网站模板源码全网营销课程
  • 让公司做网站要注意什么百度认证官网
  • 怎么赚钱网上肇庆seo
  • 住房城乡与建设厅网站网页制作咨询公司
  • 单页网站seo怎么做上海关键词优化方法
  • 温州网站公司哪家好seo网络培训学校
  • 自己制作的网站搜索关键词推荐
  • 网站开发外包协议南京seo域名
  • 网站优化制作公司代理巨量数据分析入口
  • 请人做网站设计的方案正规网络教育培训机构
  • 怎么制作网页视频教学关键词优化如何
  • 做网站页面泰州seo外包
  • 濮阳做网站的宁波seo营销平台
  • 大石桥做网站百度查重免费
  • 视频网站弹幕怎么做代运营公司
  • 做网站怎样才能接单百度账号申诉
  • 闵行做网站企业管理培训视频免费
  • 苏州网站seo公司中国舆情观察网
  • php协会网站源码营销推广模式有哪些
  • 网站制作自己做广告引流推广平台
  • 昆山网站建设工作室哈尔滨最新消息