springboot集成发送邮件、短信的小测试demo

论坛 期权论坛     
选择匿名的用户   2021-5-31 08:48   109   0
<h2>   在我们工作中,遇到很多系统都有关于注册发送短信或者邮箱验证这一个功能,同样的springboot也集成了这一块,那么我就简单的写一个demo测试一下,实际工作中会有很多权限控制,安全校验等,这个demo只是让我们知道springboot如何处理这一块的逻辑,方便我们入手。首先,看一下我的项目的结构图:</h2>
<p><img alt="" class="blockcode" height="545" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-75f6c14accdc69c7b1a62d28b49057c1.png" width="469"></p>
<h1><span style="color:#f33b45;"><strong>pom文件:</strong></span></h1>
<pre class="blockcode"><code>&lt;project xmlns&#61;&#34;http://maven.apache.org/POM/4.0.0&#34; xmlns:xsi&#61;&#34;http://www.w3.org/2001/XMLSchema-instance&#34;
xsi:schemaLocation&#61;&#34;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&#34;&gt;
&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
&lt;groupId&gt;com.csq.study&lt;/groupId&gt;
&lt;artifactId&gt;springBoot-sendMail&lt;/artifactId&gt;
&lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
&lt;parent&gt;
  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
  &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
  &lt;version&gt;1.5.2.RELEASE&lt;/version&gt;
&lt;/parent&gt;
&lt;properties&gt;
  &lt;java.version&gt;1.8&lt;/java.version&gt;
&lt;/properties&gt;
&lt;dependencies&gt;
  &lt;dependency&gt;
   &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   &lt;artifactId&gt;spring-boot-starter&lt;/artifactId&gt;
  &lt;/dependency&gt;
  &lt;!-- springboot mail --&gt;
  &lt;dependency&gt;
   &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   &lt;artifactId&gt;spring-boot-starter-mail&lt;/artifactId&gt;
  &lt;/dependency&gt;
  &lt;!-- thymeleaf模板 --&gt;
  &lt;dependency&gt;
   &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt;
  &lt;/dependency&gt;
  &lt;!-- springboot web(MVC) --&gt;
  &lt;dependency&gt;
   &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
  &lt;/dependency&gt;
   &lt;dependency&gt;
            &lt;groupId&gt;commons-logging&lt;/groupId&gt;
            &lt;artifactId&gt;commons-logging&lt;/artifactId&gt;
            &lt;version&gt;1.1.1&lt;/version&gt;
        &lt;/dependency&gt;

        &lt;dependency&gt;
            &lt;groupId&gt;commons-codec&lt;/groupId&gt;
            &lt;artifactId&gt;commons-codec&lt;/artifactId&gt;
            &lt;version&gt;1.4&lt;/version&gt;
        &lt;/dependency&gt;

        &lt;dependency&gt;
            &lt;groupId&gt;commons-httpclient&lt;/groupId&gt;
            &lt;artifactId&gt;commons-httpclient&lt;/artifactId&gt;
            &lt;version&gt;3.0.1&lt;/version&gt;
        &lt;/dependency&gt;
  &lt;!-- springboot --&gt;
  &lt;dependency&gt;
   &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
   &lt;scope&gt;test&lt;/scope&gt;
  &lt;/dependency&gt;

&lt;/dependencies&gt;
&lt;/project&gt;</code></pre>
<h1><span style="color:#f33b45;">配置文件:</span></h1>
<pre class="blockcode"><code>#设置服务端口
server.port&#61;8088
# Email配置属性
spring.mail.default-encoding&#61;UTF-8
spring.mail.host&#61;smtp.qq.com
spring.mail.username&#61;939782637&#64;qq.com
#切记此处需要开启pom3的时候的验证码不是邮箱的密码
spring.mail.password&#61;#验证码
spring.mail.properties.mail.smtp.auth&#61;true
spring.mail.properties.mail.smtp.starttls.enable&#61;true
spring.mail.properties.mail.smtp.starttls.required&#61;true</code></pre>
<h1><span style="color:#f33b45;">mail1.html</span></h1>
<pre class="blockcode"><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html xmlns:th&#61;&#34;http://www.thymeleaf.org&#34;&gt;
&lt;head&gt;
    &lt;meta charset&#61;&#34;UTF-8&#34;/&gt;
    &lt;title&gt;邮件格式&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h3&gt;&lt;span th:text&#61;&#34;${username}&#34;&gt;&lt;/span&gt;,你好!&lt;/h3&gt;
    &lt;p style&#61;&#34;color: red;&#34;&gt;这是一封测试邮件。&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<h1><span style="color:#f33b45;">mail2.html</span></h1>
<pre class="blockcode"><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html xmlns:th&#61;&#34;http://www.thymeleaf.org&#34;&gt;
&lt;head&gt;
    &lt;meta charset&#61;&#34;UTF-8&#34;/&gt;
    &lt;title&gt;测试邮件2&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h3&gt;&lt;span th:text&#61;&#34;${username}&#34;&gt;&lt;/span&gt;,你好!&lt;/h3&gt;
    &lt;p&gt;这是一封含有附件的邮件,请查收!&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p> </p>
<h1><span style="color:#f33b45;">controller:</span></h1>
<h1><span style="color:#f33b45;">SendMailController </span></h1>
<pre class="blockcode"><code class="language-java">package com.csq.study.springboot.sendmail.controller;

import java.io.File;
import java.util.ArrayList;

import javax.mail.MessagingException;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;

import com.csq.study.springboot.sendma
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP