java实现通过QQ邮箱发送激活邮件 springBoot
用户邮件激活 通过QQ邮箱发送激活邮件 soringBoot
本文主要介绍了使用java 调用邮箱发送邮件的功能
首先新建一个springboot项目
pom依赖如下
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.7.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions><version>1.3.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.11</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.5</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.8.1</version></dependency><!--Json array start --><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.7.0</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.1</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.5</version></dependency><dependency><groupId>net.sf.ezmorph</groupId><artifactId>ezmorph</artifactId><version>1.0.3</version></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classifier></dependency><!--Json array end --><dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
上面除了邮件还有一些别的,为了防止去掉出问题所以我就全粘上了jdk1.8的
首先要想使用代码发邮件需要第一步就是有一个邮箱,这里我用QQ邮箱举例子
先登录
然后进入设置
在之后开启邮箱的操作服务并获取授权码,这个授权码也是我们在下面要用到的,不是邮箱登录密码
接下来正式进入代码,首先就是创建controller类 testController
这里需要解释一下就是激活账其实就是给用户一个字段是否激活,创建的时候这个值为0,激活之后值就是1;不用我多说了吧
@Controller
@RequestMapping("/test")
public class testController {@RequestMapping("/toReg")@ResponseBodypublic Integer toReg(HttpServletRequest request){
String itme=request.getPatameter("item");//这里是用户注册时填入的邮箱,也就是目标邮箱//内容是修改用户状态的超链接
//这个地址是修改用户状态的超链接 这里我使用localhost:8080 调用的其实就是下面激活账户的方法
String content="<a href='http://localhost:8080/test/toTuser?id="+这里写新创建的账户的id+"' >請激活您的賬號</a>";
sendEmail(content); return 0; } /** * 激活账户 * @param request * @return */ @RequestMapping("/toUpUser")
@ResponseBody public Integer toTuser(HttpServletRequest request){int i=0;//这个基本就是一条sql搞定,就是更新id为n的用户让他变为激活状态String id=request.getParameter("id");i+=this.testService.toTuser(id); return i; } public Object sendEmail(String content,String item) { try { //手动写入资源 Properties props = new Properties(); //显示日志props.setProperty("mail.debug", "true");// 需要验证props.setProperty("mail.smtp.auth", "true");// qq邮箱props.setProperty("mail.host", "smtp.qq.com");//这里QQ邮箱是这个 别的比如163的话就把qq换成163//制定SMTP方式发送props.setProperty("mail.transport.protocol", "smtp");//qq邮箱服务器端口号props.setProperty("mail.port", "465");//不同邮箱不同服务号 qq是465 别的自己百度 随便一搜索就有MailSSL SocketFactory sf = new MailSSL SocketFactory();//mail的 socket工厂 sf.setTrustAllHosts(true);//这里貌似是信任所有的发送到邮箱的操作//设置ssl加密 不是所有邮箱都需要props.put("mail.smtp.ssl.enable", "true");props.put("mail.smtp.ssl. socketFactory", sf); //载入资源 Session session = Session.getInstance(props); //创建消息Message msg = new MimeMessage(session);msg.setFrom(new InternetAddress("xxxxxx@qq.com"));//这里是我们用的QQ邮箱//设置主题msg.setSubject("測試");//邮件内容并设置编码msg.setContent(content,"text/html;charset=utf-8");//创建链接Transport transport = session.getTransport();//进行连接transport.connect("smtp.qq.com", "xxxxxxxxxx@qq.com", "这里写我们得到的授权密码 注意不是登录密码"); //设置收件地址并发送transport.sendMessage(msg, new Address[] { new InternetAddress(item) });//这里是目标地址 也就是接收邮件的邮箱 return "sucesss"; } catch (Exception ex) { ex.printStackTrace(); return "error"; } }}从上面其实大家可以看到我这是在邮箱中放入了超链接 其实些什么都行,本文主要是让大家知道怎么用java操纵邮箱发送邮件,所以大家要是不想链接数据库也可以直接调用sendmail方法写死一些数据然后启动试试,这样就可以把需要的邮件发送出去,比较简单没设么技术含量,觉得有用的亲帮点个赞呗
java实现通过QQ邮箱发送激活邮件 springBoot相关推荐
- python向自己qq邮件发信息_python实现自动向QQ邮箱发送天气预报邮件
今天是清明长假的最后一天了,趁着这点空余的时间想来做点有意思的东西,之前做12306自动购票程序的时候就想加入一个功能,就是抢票成功后实现自动向指定的邮箱里面发送提醒信息的邮件,功能还是很简单的,今天 ...
- PHP实现qq邮箱发送自定义邮件
本文实例讲述了PHP实现发送邮件的方法. 不同类型的邮箱发送邮件的方式也是不同的. 下面我们就先给大家举例介绍qq邮箱开启发送邮件服务的方法. 首先我们登录qq邮箱,打开设置. 然后点击账户 开启PO ...
- java发送消息_通过java给qq邮箱发送信息
通过java程序给qq邮箱发送信息. 1.第一步:下载mail的jar包:javax.mail.jar 下载地址:https://javaee.github.io/javamail/#Latest_N ...
- java读取qq邮箱_通过java给qq邮箱发送信息
通过java程序给qq邮箱发送信息. 1.第一步:下载mail的jar包:javax.mail.jar 下载地址:https://javaee.github.io/javamail/#Latest_N ...
- java给qq发消息_通过java给qq邮箱发送信息
通过java程序给qq邮箱发送信息. 1.第一步:下载mail的jar包:javax.mail.jar 下载地址:https://javaee.github.io/javamail/#Latest_N ...
- java 发送激活邮件 以qq邮箱为例
java发送激活邮件 以qq邮箱为例 1.首先发送者邮箱需要开启服务 登录qq邮箱,选择设置--账号,开启以上两个服务.会获得相应的两个授权码 2.以下代码为发送邮件代码 package com.em ...
- JAVA实现QQ邮箱推送邮件
JAVA实现QQ邮箱推送邮件 文章目录 JAVA实现QQ邮箱推送邮件 准备 一.在项目中引入JavaMail包 二.开始实现 1.我们在Service类里面编写一个方法,这个方法接收两个参数:1收件人 ...
- JAVA代码给QQ邮箱发邮件
通过java代码给qq邮箱发邮件 使用发送邮箱所需要2个jar包 activation.jar mail.jar 下载链接:https://pan.baidu.com/s/1YA3jgmUNzW ...
- java实现发邮件qq邮箱,Java实现利用QQ邮箱发送邮件
博主在做项目时,要求能够系统能够通过点击按钮来向某一个用户发送邮件. 于是博主使用了开启QQ邮箱的STMP来进行邮件发送,下面是完成步骤: 首先我们需要开启邮箱发送端口:首先我们打开自己的邮箱 就是这 ...
最新文章
- ubuntu预装脚本
- ios设置中性黑体_ios 解决自定义字体无法显示问题
- PS打造油画般的风景人像
- 如何使用 Opencv 打开摄像头获取图像信息?
- java 爬虫_Java爬虫可以非常溜
- 层级 z-index 透明opacity
- Java基础 - 游戏项目 - 坦克大战(第一章,入门机制分析与学习规划)
- M3DGIS三维电子沙盘大数据人工智能元宇宙地理信息系统第5课
- C语言中三目运算符的结合性问题
- 策略盈亏分布统计——从零到实盘11
- 计算机考研复试之KY122 找出直系亲属(c++)
- MySQL学习笔记10:MySQL图形化管理工具 navicat 和 Workbench
- 力扣 387. 字符串中的第一个唯一字符 C语言实现
- 雅可比矩阵和行列式(Jacobian)
- 数据库是什么?数据库的概念
- JAVA可以赋值分数吗,信息技术支持下的教学反思超星尔雅网课答案
- 【沃顿商学院学习笔记】商业基础——Operation Management:02运营管理活动中的详细流程分析
- wsappx把电脑卡爆了解决办法
- NAND驱动分析--(二)
- TM7707 评估前做的功课
热门文章
- 我的世界怎么联机显示服务器,我的世界怎么联机 局域网联机及服务器教程
- 2007大盘点之十大史上最牛(不是一般的牛X!)
- Java 实现查询数据库下载导出Excel详解
- 美容院圣诞节促销活动方案
- VUE3 has no exported member ‘toRefs‘
- 华为服务器登陆不了系统,服务器的数据库怎么登陆不了怎么办
- go windows锁屏 关闭桌面(杀掉文件资源管理器)
- Apache ab 测试工具使用(一)
- cad 激活出错解决办法
- C++类和对象——友元部分