1,Emaill类:

package com.learn.jsp.pojo;

/**
 * 邮件基本信息
 * @author kevin
 *
 */
public class Email {
 private String emailFrom ;
 private String emailTo;
 private String emailSubject;
 private String emailContent;
 
 public String getEmailContent() {
  return emailContent;
 }
 public String getEmailFrom() {
  return emailFrom;
 }
 public String getEmailSubject() {
  return emailSubject;
 }
 public String getEmailTo() {
  return emailTo;
 }
 public void setEmailContent(String emailContent) {
  this.emailContent = emailContent;
 }
 public void setEmailFrom(String emailFrom) {
  this.emailFrom = emailFrom;
 }
 public void setEmailSubject(String emailSubject) {
  this.emailSubject = emailSubject;
 }
 public void setEmailTo(String emailTo) {
  this.emailTo = emailTo;
 }

}

2,EmailThread:

package com.learn.jsp.pojo;

import org.apache.commons.lang3.StringUtils;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;

public class EmailThread implements Runnable {
 private Email email;
 private JavaMailSender emailSender;

public EmailThread(Email email, JavaMailSender emailSender) {
  super();
  this.email = email;
  this.emailSender = emailSender;
 }

public EmailThread() {
  super();
 }

public void run() {
  //发送条件不足
  if (email == null || emailSender == null) {
   System.out.println("发送条件不足发送失败~~~");
   return;
  }

SimpleMailMessage mail = new SimpleMailMessage();
  boolean isOk = true;
  try {
   if (email != null) {
    if (StringUtils.isNotEmpty(email.getEmailFrom())) {
     mail.setFrom(email.getEmailFrom());// 发送者
    } else {
     isOk = false;
    }
    if (StringUtils.isNotEmpty(email.getEmailTo())) {
     mail.setTo(email.getEmailTo());// 接受者
    } else {
     isOk = false;
    }
    if (StringUtils.isNotEmpty(email.getEmailSubject())) {
     mail.setSubject(email.getEmailSubject());// 主题
    } else {
     isOk = false;
    }
    if (StringUtils.isNotEmpty(email.getEmailContent())) {
     mail.setText(email.getEmailContent());// 邮件内容
    } else {
     isOk = false;
    }
   } else {
    isOk = false;
   }
   if (!isOk) {
    throw new Exception("内容为空~~-发送失败");
   }
   // 发送邮件
   emailSender.send(mail);
  } catch (Exception e) {
   System.out.println(e.getMessage());
  }
 }
}

3基础配置:

email.properties

mail.smtp.host=smtp.qq.com
mail.smtp.auth=true
mail.smtp.timeout=50000
mail.smtp.username=xxxxxxx@qq.com
mail.smtp.password=独立密码
mail.smtp.port=465
mail.smtp.starttls.enable=true

4,配置spring bean

<!-- 加载配置文件 -->
 <context:property-placeholder location="classpath:email.properties" />

<bean id="emailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host" value="${mail.smtp.host}" />
  <property name="port" value="${mail.smtp.port}" />
  <property name="username" value="${mail.smtp.username}" />
  <property name="password" value="${mail.smtp.password}" />
  <property name="javaMailProperties">
   <props>
    <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
    <prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
    <prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop>
    <prop key="mail.smtp.socketFactory.port">${mail.smtp.port}</prop>
    <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
    <prop key="mail.smtp.socketFactory.fallback">false</prop>
   </props>
  </property>
 </bean>

5,controller中注入发送器:

@Autowired
 @Qualifier("emailSender")
 private JavaMailSender emailSender;

6,实现邮件发送

spring邮件发送的更多相关文章

  1. Spring 邮件发送

      前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender 关于邮件服务器的设置就不在这里说了,直接去QQ邮箱 ...

  2. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

  3. Spring邮件发送1

    注意:邮件发送code中,邮件服务器的申请和配置是比较主要的一个环节,博主这里用的是QQ的邮件服务器.有需要的可以谷歌.百度查下如何开通. 今天看了下Spring的官方文档的邮件发送这一章节.在这里记 ...

  4. Spring邮件发送2

    前言:上一篇博文讲解了邮件发送的基础用法(数据是写死的),然而在实际开发中,大多数情况下邮件内容都是根据业务来动态生成的.所以在此篇博文中,我们将讲解邮件发送携带数据的几种方案. 一.解析自定义占位符 ...

  5. Spring的javaMail邮件发送(带附件)

    项目中经常用到邮件功能,在这里简单的做一下笔记,方便日后温习. 首先需要在配置文件jdbc.properties添加: #------------ Mail ------------ mail.smt ...

  6. 使用spring的邮件发送功能

    使用spring提供的MailSender和JavaMailSender类. 1.邮件对象类 package cn.luxh.app.mail; import java.util.List; impo ...

  7. 使用Spring的JAVA Mail支持简化邮件发送(转)

    闲来无事,翻看<Spring in Action>,发现Spring集成了对JAVA Mail的支持,有点小激动的看了一遍,嗯,话说真的简单了很多. Spring的邮件发送的核心是Mail ...

  8. Spring Boot 2.0 图文教程 | 集成邮件发送功能

    文章首发自个人微信公众号: 小哈学Java 个人网站: https://www.exception.site/springboot/spring-boots-send-mail 大家好,后续会间断地奉 ...

  9. Spring Boot整合邮件发送

    概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...

随机推荐

  1. 【Python】爬虫-1

    #练习1:获取搜狐网页上所有的URL并且把与篮球有关的内容筛选出来 #算法: #.获取搜狐网站所有内容 #.判断哪些是链接,获取URL格式有效的链接 #.获取每个有效URL网页的内容 #.判断内容是否 ...

  2. tomcat自动缓存的几种解决方式

    第一种方法:打开一个项目,这里我打开的Mail项目,然后点击Myeclipse菜单栏中的project-选择clean: 选择要clean的项目,确定即可不用进入tomcat服务器直接清理缓存. 上面 ...

  3. [转]Hadoop家族学习路线图

    Hadoop家族学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, ...

  4. python3.6升级

    Ubuntu 14.04 and 16.04 If you are using Ubuntu 14.04 or 16.04, you can use Felix Krull's deadsnakes ...

  5. 【转载】 opencv, PIL.Image的彩色图片维度 && caffe和pytorch的矩阵维度

    原文地址: https://blog.csdn.net/u011668104/article/details/82718375 ------------------------------------ ...

  6. pdb的数量限制

    Decide How to Configure the CDB --搜索文档 Prepare to create the CDB by research and careful planning. T ...

  7. 百练1041-反反复复-2016正式C题

    C:反反复复 总时间限制:  1000ms 内存限制:  65536kB 描述 Mo和Larry发明了一种信息加密方法.他们首先决定好列数,然后将信息(只包含字母)从上往下依次填入各列,并在末尾补充一 ...

  8. How did I Install DCGAN

    https://github.com/carpedm20/DCGAN-tensorflow how to install pillow(python image library) http://www ...

  9. shell脚本-预定义常量

    $0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上 ...

  10. web.net用户控件

    1.它是以 Control注册 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind=& ...