使用spring API实现发送邮箱验证的功能

pom.xml文件

<dependency><groupId>org.springframework.integration</groupId><artifactId>spring-integration-mail</artifactId><version>4.2.5</version>
</dependency>
<dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId>          <version>1.5.5</version>
</dependency>
<dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.5.5</version>
</dependency>
package com.yy.mycompany
import java.io.File;
import java.util.Properties;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;/*** Spring Mail* API都在org.springframework.mail及其子包org.springframework.mail.javamail中封装,* 且只提供了邮件发送的封装。 SimpleMailMessage: 对邮件的一个简单封装,只能用于表示一个纯文本的邮件,也不能包含附件等。* JavaMailSenderImpl: 邮件发送器,主要提供了邮件发送接口、透明创建Java* Mail的MimeMessage、及邮件发送的配置(如:host/port/username/password...)。* MimeMailMessage、MimeMessageHelper:对MimeMessage进行了封装。* Spring还提供了一个回调接口MimeMessagePreparator, 用于准备JavaMail的MIME信件* 一下代码转载自:http://www.blogjava.net/tangzurui/archive/2008/12/08/244953.html* * @description: 使用spring-integration-mail完成邮箱发送* @author: skyler* @time: 2016年7月5日 下午6:18:05*/
public class SendEmailUtils {public static void main(String[] args) throws Exception {JavaMailSender sender = initJavaMailSender();// sendText(sender);// sendHtml(sender);// sendTextWithImg(sender);sendWithAttament(sender);}/*** * @description: 实例化JavaMailSender。* @author: skyler* @time: 2016年7月7日 下午4:56:53*/public static JavaMailSender initJavaMailSender() {/* * //从网上找的参考,说要添加这么多,实际测试了下,不需要这么多个 Properties properties = new * Properties(); properties.setProperty("mail.debug", "true"); * properties.setProperty("mail.smtp.socketFactory.class", * "javax.net.ssl.SSLSocketFactory"); * properties.setProperty("mail.smtp.socketFactory.fallback", "false"); * properties.setProperty("mail.smtp.socketFactory.port", "465"); * properties.setProperty("mail.smtp.port", "465"); * properties.setProperty("mail.smtp.auth", "true"); */  Properties properties = new Properties();  properties.setProperty("mail.debug", "true");// 是否显示调试信息(可选)  properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");  properties.setProperty("mail.smtp.auth", "true");  properties.put(" mail.smtp.timeout ", " 25000 ");JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();  javaMailSender.setJavaMailProperties(properties);  javaMailSender.setHost("smtp.163.com");javaMailSender.setUsername("abc"); // 根据自己的情况,设置usernamejavaMailSender.setPassword("abc"); // 根据自己的情况, 设置passwordjavaMailSender.setPort(465);  javaMailSender.setDefaultEncoding("UTF-8");  return javaMailSender;  }/*** @description: 发送text* @throws Exception* * @author: skyler* @since: since from which version support* @time: 2016年7月5日 下午7:46:11*/public static void sendText(JavaMailSender sender) {// 建立邮件消息SimpleMailMessage mailMessage = new SimpleMailMessage();// 设置收件人,寄件人 用数组发送多个邮件// String[] array = new String[] {"sun111@163.com","sun222@sohu.com"};// mailMessage.setTo(array);mailMessage.setTo("111@163.com");// 可选的,可以用来修改显示给接收者的名字  mailMessage.setFrom("abc@163.com");mailMessage.setSubject(" 测试简单文本邮件发送! ");mailMessage.setText(" 测试我的简单邮件发送机制!! ");// 发送邮件sender.send(mailMessage);System.out.println(" 邮件发送成功.. ");}/*** @description: 发送html,org.springframework.mail.javamail.* MimeMessageHelper是处理JavaMail邮件常用的顺手组件之一。它可以让你摆脱繁复的javax.mail.internetAPI类* @throws Exception* * @author: skyler* @since: since from which version support* @time: 2016年7月5日 下午7:46:11*/public static void sendHtml(JavaMailSender sender) throws Exception {// 建立邮件消息,发送简单邮件和html邮件的区别MimeMessage mailMessage = sender.createMimeMessage();// MimeMessageHelper messageHelper = new// MimeMessageHelper(mailMessage);这个构造函数会出现中文乱码的问题MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "GBK");// 设置收件人,寄件人messageHelper.setTo("111@163.com");messageHelper.setFrom("abc@163.com");messageHelper.setSubject("测试HTML邮件!");// true 表示启动HTML格式的邮件String name = "欢迎";messageHelper.setText(name + ":<a href='http://10.125.72.40/admin/login.html'>http://10.125.72.40/admin/login.html</a>",true);// 发送邮件sender.send(mailMessage);System.out.println("邮件发送成功..");}/*** @description: 发送嵌套图片的邮件.Email允许添加附件,也允许在multipart信件中内嵌资源。* 内嵌资源可能是你在信件中希望使用的图像,或者样式表,但是又不想把它们作为附件。 说明:嵌入图片<img* src=\"cid:aaa\"/>,其中cid:是固定的写法,而aaa是一个contentId* @throws Exception* * @author: skyler* @since: since from which version support* @time: 2016年7月5日 下午7:46:11*/public static void sendTextWithImg(JavaMailSender sender) throws MessagingException {// 建立邮件消息,发送简单邮件和html邮件的区别MimeMessage mailMessage = sender.createMimeMessage();// 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,// multipart模式,同时解决中文乱码问题MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "GBK");// 设置收件人,寄件人messageHelper.setTo("111@163.com");messageHelper.setFrom("abc@163.com");messageHelper.setSubject("测试邮件中嵌套图片!!");// true 表示启动HTML格式的邮件messageHelper.setText("<html><head></head><body><h1>hello 欢迎你!!spring image html mail</h1>"+ "<img src=\"cid:aaa\"/></body></html>", true);FileSystemResource img = new FileSystemResource(new File("d:/Desert.jpg"));messageHelper.addInline("aaa", img);// 发送邮件sender.send(mailMessage);System.out.println("邮件发送成功..");}/*** @description: 本类测试的是关于邮件中带有附件的例子 .发送包含附件的邮件* @throws Exception* * @author: skyler* @throws MessagingException* @since: since from which version support* @time: 2016年7月5日 下午7:46:11*/public static void sendWithAttament(JavaMailSender sender) throws MessagingException {// 建立邮件消息,发送简单邮件和html邮件的区别MimeMessage mailMessage = sender.createMimeMessage();// 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,// multipart模式 为true时发送附件 可以设置html格式MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8");// 设置收件人,寄件人messageHelper.setTo("111@163.com");messageHelper.setFrom("abc@163.com");messageHelper.setSubject("测试邮件中上传附件!!");// true 表示启动HTML格式的邮件messageHelper.setText("<html><head></head><body><h1>你好:附件中有学习资料!</h1></body></html>", true);FileSystemResource file = new FileSystemResource(new File("d:/logback.xml"));// 这里的方法调用和插入图片是不同的。messageHelper.addAttachment("logback.xml", file);// 发送邮件sender.send(mailMessage);System.out.println("邮件发送成功..");}
}

spring java 发送邮箱验证相关推荐

  1. 登录功能中发送邮箱验证的简单使用

    登录功能中发送邮箱验证的简单使用 java开发中常用的邮箱相关的就是给邮箱发送验证码,发送验证码在java中使用javamail,它提供了一套发送和接收功能的标准,支持协议:smtp,pop3,ima ...

  2. Java发送邮箱验证码、session校验功能

    本篇主要描述"发送邮箱验证码.session校验"相关前(htmljs)后(java)台代码,业务逻辑示例,闲话少诉,直接上代码. 1.引入的jar包是mail-1.4.jar 2 ...

  3. 【实战】Java实现邮箱验证

    Java实现邮箱验证 一.JavaMail 1.什么是JavaMail? JavaMail,提供给开发者处理电子邮件相关的编程接口,它是sun发布的用来处理email的API,它可以方便地执行一些常用 ...

  4. Java实现邮箱验证

    1.我们首先要实现一个简单的注册功能,然后再实现邮箱验证功能: 2.邮箱验证功能实现:整个功能的核心是创建一个邮件工具类,这需要导入mail.jar.具体代码如下: package com.imooc ...

  5. java实现邮箱验证QQ邮箱验证和Foxmail验证

    这两天公司要求做个Android端邮箱认证,android端还是很简单的,主要难点在后台链接邮箱并发送邮件. 思路:android端传送邮箱地址给后台,后台获取邮箱地址后,链接公司邮箱,并发送验证码邮 ...

  6. 网站发送邮箱验证实现找回密码

    从上图可以看出,浏览器通过访问web站点中的邮件发送程序来提交邮件发送请求. 邮件发送程序将把邮件发送给自己网站的SMTP服务器,该SMTP服务器收到邮件后,将根据收件人的地址在将邮件的目的地,要么是 ...

  7. ASP.Net发送邮箱验证

    关于.net如何实现发送邮箱并获取验证码,具体操作如下: 首先是一个简单的前端界面:(本次测试只需用到一个文本框,两个按钮即可) (一)写代码前一定要先去QQ邮箱进行一个小操作 1.首先进入QQ邮箱后 ...

  8. php 发送邮箱验证怎么做,PHP 实现 注册等的邮箱验证 (二)—— 使用 PHPMailer 发送邮件...

    PHPMailer 是一个很好的发送邮件的类 , 最近使用了它.因为还没有搭起来邮件服务器,先使用他的 SMTP 发送邮件,测试之前邮箱验证的链接是否有效. 谷歌了一下,发现关于这方面的资料还挺多,我 ...

  9. 慕课网_《Java实现邮箱验证》学习总结

    时间:2017年06月07日星期三 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学示例源码:无 个人学习源码:https://github.com/zccod ...

最新文章

  1. 边缘计算对于工业物联网的重要性
  2. 关于Rocchio算法和向量空间模型反馈
  3. 通俗易懂:贪心算法(一):分配问题 (力扣455分发饼干 和135分发糖果)
  4. Hadoop之ReduceTask工作机制
  5. kafka的SASL的适用业务场景
  6. python中的元类_Python中的元类(metaclass)
  7. ffmpeg调用directshow camera 并sdl渲染
  8. python玩转android_怎样用python玩安卓版跳一跳
  9. 极大似然估计与贝叶斯估计的比较
  10. 【0CTF/TCTF2021预选】[Misc] pypypypy Sloth writeup python字节码编程
  11. dns服务器 性能测试,dns服务器性能测试报告.docx
  12. VBE6EXT.OLB不能被加载问题解决方法
  13. 树莓派运行yolo fastest启用bf16加速
  14. python数据处理用什么软件_数据分析都会用到哪些工具?
  15. 第五章 ERP计划的时间概念
  16. 设置网页默认为360浏览器极速模式打开
  17. python爬虫——世界排名前1000大学
  18. #【精华】 PB根据一串字符串生成拼音码
  19. 计算机网络(10): 网络层——网络地址转换NAT技术
  20. moto xt1085 Rom包半定制制作

热门文章

  1. 【PDN仿真笔记8-使用Sigrity 进行DCR仿真的方法】
  2. Python对文件的创建和读写操作
  3. opencv3学习:reshape函数
  4. python批量检索文献_基于Python的文献检索系统设计与实现
  5. PVLAN (Private VLAN)
  6. 04 - Linux的用户与组文件
  7. 查看表空间和表的使用率
  8. 06年计算机竞赛,2006年数学建模校内竞赛结果
  9. IE系列兼容性hack大全
  10. airpods版本号_airpods蓝牙版本是多少,苹果AirPods正式版使用评测