Spring MVC+javamail实现邮件发送

开启邮箱的POP3/SMTP服务(这里以QQ邮箱举例)

设置 --> 账户 -- > 开启POP3/STMP服务,然后得到一个授权码。

引入pom依赖(jar包直达

  1. <dependency>
  2. <groupId>javax.mail</groupId>
  3. <artifactId>mail</artifactId>
  4. <version>1.4.7</version>
  5. </dependency>

配置xml文件

mail.properties文件

  1. #服务器主机名 smtp.xx.com
  2. mail.smtp.host=smtp.qq.com
  3. mail.smtp.username=你的邮箱
  4. #客户端授权码
  5. mail.smtp.password=你的授权码
  6. #编码字符
  7. mail.smtp.defaultEncoding=utf-8
  8. #是否进行用户名密码校验
  9. mail.smtp.auth=true
  10. #设置超时时间
  11. mail.smtp.timeout=20000

applicationContext.xml文件

  1. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  2. <property name="host" value="${mail.smtp.host}"/>
  3. <property name="username" value="${mail.smtp.username}"/>
  4. <property name="password" value="${mail.smtp.password}"/>
  5. <property name="defaultEncoding" value="${mail.smtp.defaultEncoding}"/>
  6. <property name="javaMailProperties">
  7. <props>
  8. <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
  9. <prop key="mail.smtp.ssl.timeout">${mail.smtp.timeout}</prop>
  10. </props>
  11. </property>
  12. </bean>

工具类

  1. public class MailSender {
  2. /**
  3. * JavaMailSenderImpl支持MimeMessages和SimpleMailMessages。
  4. * MimeMessages为复杂邮件模板,支持文本、附件、html、图片等。
  5. * SimpleMailMessages实现了MimeMessageHelper,为普通邮件模板,支持文本
  6. */
  7. private JavaMailSenderImpl mailSender;
  8. @Autowired
  9. public void setMailSender(JavaMailSenderImpl mailSender) {
  10. this.mailSender = mailSender;
  11. }
  12. /**
  13. * 发件人邮箱地址
  14. */
  15. @Value("${mail.smtp.username}")
  16. private String emailFrom;
  17. /**
  18. * 单发
  19. *
  20. * @param recipient 收件人
  21. * @param content 内容
  22. */
  23. @Override
  24. public boolean sendEmail(String recipient, String content){
  25. MimeMessage mimeMessage = mailSender.createMimeMessage();
  26. try {
  27. MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
  28. /** 发件人的邮箱地址 */
  29. messageHelper.setFrom(emailFrom);
  30. /** 收件人邮箱地址 */
  31. messageHelper.setTo(recipient);
  32. /** 主题 */
  33. messageHelper.setSubject("【嘉净】您的邮箱验证码");
  34. /** 内容 */
  35. messageHelper.setText("\t亲爱的用户,您好:\n\t 本次操作的验证码是:"+content+",\n\t 如非本人操作请忽略。详情:http://www.baidu.com", true);//true代表支持html格式
  36. mailSender.send(mimeMessage);
  37. return true;
  38. } catch (MessagingException e) {
  39. e.printStackTrace();
  40. return false;
  41. }
  42. }
  43. }

结果展示


Spring MVC+javamail实现邮件发送的更多相关文章

  1. Springboot+Javamail实现邮件发送

    Springboot+Javamail实现邮件发送 使用的是spring-context-support-5.2.6.RELEASE.jar里的javamail javamail 官方文档:javam ...

  2. Spring mvc之 发邮件(qq.163...)

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  3. Spring Boot实战系列-----------邮件发送

    快速导航 添加Maven依赖 配置文件增加邮箱相关配置 Service.Test项目代码构建 五种邮件发送类型讲解 文本邮件 html邮件 附件邮件 html内嵌图片邮件 模板邮件 问题汇总 添加ma ...

  4. Spring Boot Mail 实现邮件发送

    此 demo 主要演示了 Spring Boot 如何整合邮件功能,包括发送简单文本邮件. 邮件服务在开发中非常常见,比如用邮件注册账号.邮件作为找回密码的途径.用于订阅内容定期邮件推送等等,下面就简 ...

  5. Springboot使用javaMail进行邮件发送

    导入相关依赖 <!--邮件发送--> <dependency> <groupId>javax.mail</groupId> <artifactId ...

  6. 基于javaMail的邮件发送--excel作为附件

    基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ...

  7. Java 基于javaMail的邮件发送(支持附件)

    基于JavaMail的Java邮件发送Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用户 ...

  8. Java 基于JavaMail的邮件发送

    http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...

  9. 使用Javamail实现邮件发送功能

    目录 相关的包 编写工具类 环境说明 @(使用Javamail实现邮件发送功能) 相关的包 activation.jar javax.mail.jar mail包建议使用高版本写的包,否则可能会发空白 ...

随机推荐

  1. Springboot:Springboot+Swagger2集成服务

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集成到服务 ...

  2. pdm文件name与comment互相同步

    1.使用Powerdesigner工具将pdm文件的name同步至comment. 点击Tools->Execute Commands->Edit/Run Scripts 输入脚本: Op ...

  3. 0shell变量

    1.定义变量 2.使用变量 3.修改变量的值 4.将命令的结果赋值给变量 5.只读变量 6.删除变量 一.变量 1.定义变量 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时 ...

  4. PHP递归创建多级目录(一道面试题的解题过程)(转)

      今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @m ...

  5. buu SimpleRev

    一.发现是elf文件,拖入ida,然后直接找到了关键函数 点击那个Decry()函数 二.逻辑还是很清晰的,而我是卡在这里v1的逆算法,感觉学到了很多,其实爆破就足够了 这里大小写可以一起写上 tex ...

  6. mysql Authentication plugin 'caching_sha2_password' is not supported问题处理

    使用mysql8.0版本,登录失败,提示 Authentication plugin 'caching_sha2_password' is not supported. 原因是在MySQL 8.0以后 ...

  7. Quzrtz.net 示例

    //框架.Net Core 2.0//先用Nuget 安装最新quartz.net using System; using Quartz; using Quartz.Impl; using Syste ...

  8. ARTS第十一周

    受辞职考研和新冠肺炎疫情影响,一直没更.遗憾,数学和专业课再高点就有戏了.继续. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3. ...

  9. 微信小程序云开发-云存储的应用-识别营业执照

    一.准备工作 1.创建云函数identify 二.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...

  10. PAT甲级:1066 Root of AVL Tree (25分)

    PAT甲级:1066 Root of AVL Tree (25分) 题干 An AVL tree is a self-balancing binary search tree. In an AVL t ...