我的博客名为黑客之谜,今天演示的案例中会出现我的邮箱,还不赶紧收藏!我现在是小白,但是随着时间的流逝,我会逐渐向大神走进,所以,喜欢我的,或者喜欢大神的,点一波关注吧!顺便说一下,双十二快到了,有什么东西要买的可以去消费一下,反正小编这时候就连淘宝网都不会点进的(想哭)。

如果转载我的文章请标明出处和著名,谢谢配合。

我的博客地址为:https://www.cnblogs.com/themysteryofhackers/p/12018787.html

更新时间为:2019-12-10

一、创建Maven项目

如何创建Maven项目的步骤我就不再论述了,忘记的话就看会我上一篇博客吧!

创建好Maven项目之后,就创建包、类和配置文件,这次就创建一个测试类和一个xml配置文件,

TestEmail.java

package com.zzx.email;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper; import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage; public class TestEmail {
@Test
public void testEmail() throws MessagingException {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
// 拿到邮件发送者对象,就是放到spring中的bean
JavaMailSender javaMailSender = (JavaMailSender) context.getBean("javaMailSenderImpl");
System.out.println("=========="+javaMailSender);
// 创一个邮件对象
MimeMessage message = javaMailSender.createMimeMessage();
// 新建一个邮件助手
// MimeMessageHelper messageHelper = new MimeMessageHelper(message, "UTF-8");
// 第二个参数设置是否为附件邮件
MimeMessageHelper messageHelper = new MimeMessageHelper(message, false, "UTF-8");
// 设置发送者(这和配置文件写的邮箱要一直)
messageHelper.setFrom("1447239300@qq.com");
// 设置目的地(这些接受者邮箱)
messageHelper.setTo("zhangzixiongc501@sina.com");
// Carbon Copy(抄送)
//messageHelper.setCc("zhangzixiongc501@sina.com");
// Blind Carbon Copy(暗抄送)。
//messageHelper.setBcc("zhangzixiongc501@sina.com");
// 邮件内容
// 第二个参数为true时。内容是html
String html = "<!DOCTYPE html>\r\n" + "<html>\r\n" + "\r\n" + " <head>\r\n" + " <meta charset=\"utf-8\" />\r\n" + " <title></title>\r\n" + " </head>\r\n" + " <body>\r\n" + " <h1 style='color:red;'>我是网页!!!!</h1> "+"<p>这是在测试Spring框架整合java Mail</P>" + " </body>\r\n" + "\r\n" + "</html>";
messageHelper.setText(html, true);
// 邮件主题
messageHelper.setSubject("测试Spring框架整合Java mail!!");
//添加附件
//messageHelper.addAttachment("附件1.jsp",new File("C:\\Users\\chair\\Desktop\\info.jsp"));
javaMailSender.send(message);
}
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <!-- spring mail -->
<bean id="javaMailSenderImpl" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"/>
<property name="port" value="465"/>
<property name="username" value="1447239300@qq.com(这里写你要用来发送邮件的邮箱)"/>
<property name="password" value="这里填写你的邮箱授权码,不是你的QQ密码"/>
<property name="javaMailProperties">
<props>
<!-- 设置认证开关 -->
<prop key="mail.smtp.auth">true</prop>
<!-- 设置延迟时间 -->
<prop key="mail.smtp.timeout">30000</prop>
<!-- 使用调试开关 -->
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<!--<prop key="mail.smtp.socketFactory.port">465</prop>-->
</props>
</property>
</bean> </beans>

二、导入项目依赖

导入Spring项目的依赖和Java Mail的依赖,还有单元测试的依赖,依赖是导入pom.xml文件里的。

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency> <!--spring 依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>
<!--spring mail begin -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!--spring mail end --> </dependencies> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- 代码检错版本号 -->
<source>1.8</source>
<!-- 代码编译版本号 -->
<target>1.8</target>
<!--项目字符集 -->
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

三、开通发送邮件的服务

要开通这样的服务你才可以通过程序发送邮箱给别人,否则邮件发送不了,因为我用的是QQ邮箱,所以我打开邮箱---》选择“设置”-----》“账户”------》往下拉看到POP3/IMAP/SMTP……服务等等,开通IMAP/SMTP服务,开通后它会给你一个授权码,你要保存起来,不要外传,这个授权码给别人知道的话,别人就可以操作你的邮箱了。得到授权码后将其写在applicationContext.xml文件中就行。

四、发送邮件

直接运行单元测试,看结果。

这样邮箱就发送成功了。

结尾

我是一个Java程序员,一个向往技术的小白,以后我会陆续将自己学习到的Java或者其他的知识会以博客的形式分享出来,希望能对大家有帮助。

喜欢小编的就给我一个关注吧!

如果有哪些问题、有哪些不妥或者侵犯到您的权益的地方,可以联系我,我马上修改。

使用Spring框架整合Java Mail的更多相关文章

  1. Spring 框架整合Struts2 框架和 Hibernate 框架

    1. Spring 框架整合 Struts2 框架 // [第一种整合方式(不推荐)](http://www.cnblogs.com/linkworld/p/7718274.html) // 从 Se ...

  2. 【Java】MyBatis与Spring框架整合(一)

    本文将利用 Spring 对 MyBatis 进行整合,在对组件实现解耦的同时,还能使 MyBatis 框架的使用变得更加方便和简单. 整合思路 作为 Bean 容器,Spring 框架提供了 IoC ...

  3. spring 框架整合 笔记4

    struts hibernate spring 先贴出框架整合需要的maven <project xmlns="http://maven.apache.org/POM/4.0.0&qu ...

  4. spring 框架整合mybatis的源码分析

    问题:spring 在整合mybatis的时候,我们是看不见sqlSessionFactory,和sqlsession(sqlsessionTemplate 就是sqlsession的具体实现)的,这 ...

  5. spring 框架整合

    struts hibernate spring 先贴出框架整合需要的maven <project xmlns="http://maven.apache.org/POM/4.0.0&qu ...

  6. Spring企业级程序设计 • 【第7章 Spring框架整合】

    全部章节   >>>> 本章目录 7.1 模型数据解析及控制器返回值 7.1.1 SSM框架环境搭建 7.1.1 ModelAndView多种用法 7.1.2 整合MyBati ...

  7. Spring框架整合Struts2

    1,用Spring架构,及Struts2-spring-plugin插件 导入Spring的dist全部所需的jar包 Struts2的spring插件 struts2-spring-plugin.X ...

  8. java 之 Spring 框架(Java之负基础实战)

    1.Spring是什么 相当于安卓的MVC框架,是一个开源框架.一般用于轻型或中型应用. 它的核心是控制反转(IoC)和面向切面(AOP). 主要优势是分层架构,允许选择使用哪一个组件.使用基本的Ja ...

  9. Spring框架整合JUnit单元测试

    1. 为了简化了JUnit的测试,使用Spring框架也可以整合测试 2. 具体步骤 * 要求:必须先有JUnit的环境(即已经导入了JUnit4的开发环境)!! * 步骤一:在程序中引入:sprin ...

随机推荐

  1. IDEA配置tomcat日志乱码

    第一步(tomcat7/8) tomcat:找到tomcat文件夹下的conf文件夹,去修改里面的logging.properties文件 两种修改方式(第一种方法不行再用第二种): 将文件中的5个U ...

  2. 微信小程序中的左右联动

    微信小程序端的左右联动-滚动效果插件: 效果图如下:                                                                          ...

  3. TCP/IP详解,卷1:协议--第8章 Traceroute程序

    引言 由Van Jacobson编写的Tr a c e r o u t e程序是一个能更深入探索T C P / I P协议的方便可用的工具. 尽管不能保证从源端发往目的端的两份连续的 I P数据报具有 ...

  4. xshell如何将Windows文件上传到linux

    1.      首先先将你xshell配置好用户名及密码等,必须使用有权限下载的账号进行操作. 使用 yum provides */rz 这条命令,查看你系统自带的软件包的信息. 2.在输出的信息中可 ...

  5. ORA-00917: missing comma

    问题描述 ORA-00917: missing comma 问题原因 逗号,引号什么的多了或者少了,或者换行引起的

  6. el-popover 点击input框出现table表,可点击选中,可拼音检索完回车选中

    <template> <card> <el-popover placement="right" width="400" trigg ...

  7. 【蓝桥杯/算法训练】Sticks 剪枝算法

    剪枝算法 大概理解是通过分析问题,发现一些判断条件,避免不必要的搜索.通常应用在DFS 和 BFS 搜索算法中:剪枝策略就是寻找过滤条件,提前减少不必要的搜索路径. 问题描述 George took ...

  8. istio部署-istio jaeger & kiali

    参考 fleeto/sleep fleeto/flaskapp jaegertracing/jaeger kiali kiali/kiali kiali/kiali-ui kiali/kiali/ta ...

  9. 在一个formitem中多input的验证方法-antd的验证

    实现效果如下: 当点击按钮的时候 对一个FormItem里的多个input/或者是input和select进行校验  同时通过Rol/Col实现布局 Rselect/input组件封装的组件如下fie ...

  10. 图的最短路径算法Dijkstra算法模板

    Dijkstra算法:伪代码 //G为图,一般设为全局变量,数组d[u]为原点到达个点的额最短路径, s为起点 Dijkstra(G, d[u], s){ 初始化: for (循环n次){ u = 是 ...