在spring中使用邮箱验证和定时器

QQ邮件

当我们进行注册或是密码找回,等某种情景的时候,可以通过邮箱发送验证码,进确认账号等操作。

SMTP是一种有效且可靠的简单邮件传输协议,主要用于传输系统之间的邮件信息的传送。邮件发送协议。

163邮箱 :  smtp.163.com    qq邮箱:smtp.qq.com

POP3是TCP/IP协议中的一员,主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。邮件接收协议。

需要导入的jar包

1 <!--上下文支持包:支持以后Spring的邮件发送,定时器,模板-->
2     <dependency>
3       <groupId>org.springframework</groupId>
4       <artifactId>spring-context-support</artifactId>
5       <version>${org.springframework.version}</version>
6     </dependency>

 

1 <!-- 邮件支持 -->
2     <dependency>
3       <groupId>javax.mail</groupId>
4       <artifactId>mail</artifactId>
5       <version>1.4.1</version>
6     </dependency>

获取QQ邮箱授权码

登录QQ邮箱---->邮箱设置----->账户-----最下方有个------->生成授权码

XML配置

 1 <!--多个邮件可以配置不同的id注入-->
 2     <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
 3         <!-- 163邮箱,smtp.163.com -->
 4         <!-- admin@163.com 用户名:admin 密码:xxx -->
 5         <!-- smtp邮件发送协议 -->
 6         <!-- pop3收邮件协议 -->
 7         <property name="host" value="smtp.qq.com" />
 8         <!--管理员邮箱-->
 9         <property name="username" value="xxxx@qq.com" />
10         <!--授权码-->
11         <property name="password" value="xxxx" />
12         <property name="javaMailProperties">
13             <props>
14                 <!-- 必须进行授权认证,它的目的就是阻止他人任意乱发邮件 -->
15                 <prop key="mail.smtp.auth">true</prop>
16                 <!-- SMTP加密方式:连接到一个TLS保护连接 -->
17                 <prop key="mail.smtp.starttls.enable">true</prop>
18             </props>
19         </property>
20     </bean>

JAVA代码

 1 @Autowired
 2     MailSender mailSender;//XML中的id
 3     @Test
 4     public void testName() throws Exception {
 5         //JavaMailSenderImpl xxx = (JavaMailSenderImpl)mailSender
 6         // 简单邮件对象
 7         SimpleMailMessage msg = new SimpleMailMessage();
 8         // 发送人:和配置一致
 9         msg.setFrom("xxxx@qq.com");
10         // 收件人
11         msg.setTo("xxxx@qq.com");
12         // 主题
13         msg.setSubject("主题");
14         // 内容
15         msg.setText("内容");
16         // 设置固定回邮地址
17         msg.setReplyTo("xxxx@xxx.com");
18         // 发送
19         mailSender.send(msg);

 定时器

除了spring-context-support导入的jar包

1 <!-- 定时调度 -->
2     <dependency>
3       <groupId>quartz</groupId>
4       <artifactId>quartz</artifactId>
5       <version>1.5.2</version>
6     </dependency>

XML配置

cron表达式 详见百度

1 <task:scheduled-tasks>
2     <!-- 执行quartzJob里面的work方法,执行频率是cron表达式 -->
3     <!--每过一分钟去执行一个名称为quartzJob的bean,里面的work方法
4         0/1 * * * * ?
5     -->
6     <task:scheduled ref="rtquazJob" method="work" cron="0/1 * * * * ?" />
7 </task:scheduled-tasks>

 

posted @ 2019-03-29 19:46  .guangbin  阅读(450)  评论(0编辑  收藏  举报