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

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

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

更新时间为:2019-12-10

一、创建Maven项目

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

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

TestEmail.java

  1. package com.zzx.email;
  2.  
  3. 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;
  4.  
  5. import javax.mail.MessagingException;
    import javax.mail.internet.MimeMessage;
  6.  
  7. 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

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context-4.3.xsd
  10. http://www.springframework.org/schema/aop
  11. http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
  12.  
  13. <!-- spring mail -->
  14. <bean id="javaMailSenderImpl" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  15. <property name="host" value="smtp.qq.com"/>
  16. <property name="port" value="465"/>
  17. <property name="username" value="1447239300@qq.com(这里写你要用来发送邮件的邮箱)"/>
  18. <property name="password" value="这里填写你的邮箱授权码,不是你的QQ密码"/>
  19. <property name="javaMailProperties">
  20. <props>
  21. <!-- 设置认证开关 -->
  22. <prop key="mail.smtp.auth">true</prop>
  23. <!-- 设置延迟时间 -->
  24. <prop key="mail.smtp.timeout">30000</prop>
  25. <!-- 使用调试开关 -->
  26. <prop key="mail.debug">true</prop>
  27. <prop key="mail.smtp.starttls.enable">true</prop>
  28. <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
  29. <!--<prop key="mail.smtp.socketFactory.port">465</prop>-->
  30. </props>
  31. </property>
  32. </bean>
  33.  
  34. </beans>

二、导入项目依赖

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

  1. <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
    </dependency>
  2.  
  3. <!--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 -->
  4.  
  5. </dependencies>
  6.  
  7. <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. js的6道基础题(笔试常考题)

    转载:http://www.bubuko.com/infodetail-20477.html 题目一:找出数字数组中最大的元素   var arr=[0,1,2,3,4,5,6,7,8,9];   c ...

  2. Copy Paste DWG to older 3ds Max

    Hi, This is quick tutorial: how to install Auto Cad scripts to be able to copy from newer Auto Cad t ...

  3. Django教程(2)

    from Django official document; Django 最初被设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发. from 编写你的第一个 Django 应用, ...

  4. Allegro 反射仿真--IBIS模型转化

    一.IBIS模型的获取 a) 直接找芯片供应商 b) 从网上下载 i.到Google网站直接搜索某个型号的IBIS模型: ii. 到器件厂商的官方网站下载: iii.从专门提供IBIS模型的网站搜索下 ...

  5. Ubuntu 的apt install 和卸载正确姿势

    先说下使用apt  installl 安装的包的卸载: apt-get remove: 卸载软件apt-get purge: 卸载软件和配置文件apt-get autoremove: 移除没有使用的依 ...

  6. codeforces 1288E. Messenger Simulator(树状数组)

    链接:https://codeforces.com/contest/1288/problem/E 题意:序列p的长度为n,初始序列为1 2 3 4 ...n,然后有m次操作,每次指定序列中一个数移动到 ...

  7. SQLServer2008不允许保存更改错误解决办法

    SQLServer2008不允许保存更改错误解决办法 今天在运行sql server 2008时候提示不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法. 一.启动SQL Server ...

  8. CentOS 7防火墙快速开放端口配置方法

    CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables.下面记录如何使用firewalld开 ...

  9. 线性混合+ROI

    相关代码: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namesp ...

  10. linux零碎001

    glibc:GNU发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc. uclibc:是一个面向嵌入式Linux系统的小型的C标准库.最初 ...