1 1.导入james服务器的jar包和javaMail的jar包
  2 2.解压james服务器压缩包,在bin运行run.bat(目录必须是英文目录)
  3 3.可以进入cmd:telnet localhost 4555, 去添加用户密码(root,root)
  4 4.进入OutLook进去创建自己的邮箱账号:(服务器必须是localhost, @后面的路径要去服务器的apps→james→SAR-INF→config.xml里面设置路径)
  5 5.编写代码:
  6 ①.spring邮件配置
  7 <!-- ======================================== 配置javaMail ======================================== -->
  8 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  9 <property name="host" value="localhost"></property><!-- 服务器 -->
 10 <property name="port" value="25"></property><!-- 端口 -->
 11 <property name="username" value="leo"></property><!-- 用户名 -->
 12 <property name="password" value="leo"></property><!-- 密码 -->
 13 <property name="protocol" value="smtp"></property><!-- 协议 -->
 14 <!-- 默认编码 -->
 15 <property name="defaultEncoding" value="utf-8"></property>
 16 <property name="javaMailProperties">
 17 <props>
 18 <!-- 设置SMTP服务器要的用户验证 -->
 19 <prop key="mail.smtp.auth">true</prop>
 20 </props>
 21 </property>
 22
 23 </bean>
 24 ②.controller(action)代码编写
 25 private MailSender mailSender;
 26 public void setMailSender(MailSender mailSender){
 27 this.mailSender = mailSender;
 28 }
 29
 30
 31
 32 //发送邮件测试4
 33 try{
 34 SimpleMailMessage message = new SimpleMailMessage();
 35 message.setFrom("leo@mail.com");
 36 message.setTo("leo2@mail.com");
 37 message.setSubject("你好");
 38 message.setText("好久不见,");
 39 mailSender.send(message);
 40 }catch(Exception e){
 41 e.printStackTrace();
 42 }
 43 controller:
 44 @Resource
 45 private MailSender mailSender;
 46 action:
 47 private MailSender mailSender;
 48 public void setMailSender(MailSender mailSender){    this.mailSender = mailSender;
 49 }
 50
 51
 52
 53 6.进入outlook接收邮件
 54
 55 1.发送带附件的邮件:
 56 使用javaMail的API:JavaMailSender和MimeMessage
 57 简单邮件和附件邮件区别:
 58 简单邮件:
 59 MailSender:spring配置文件applicationContext.xml,配置MailSender的信息
 60 SimpleMailMessage:简单设置邮件主体
 61 附件邮件:(推荐使用)
 62 JavaMailSender:spring配置文件applicationContext.xml,配置JavaMailSender:spring的信息
 63 MimeMessage:需要使用JavaMailSender的对象,(.CreateMimeMessage())去创建MimeMessage对象。然后创建    MimeMessageHelper对象,辅助创建邮件主体(new MimeMessageHelper(mimeMessage, true, "UTF-8"))。
 64
 65
 66 2.附件获取方法
 67 获取同src的目录下的附件:(和src同一目录下的文件路径,编译后在classes文件下)
 68 ClassPathResource file1 = new ClassPathResource("test刘宇轩.txt");
 69 helper.addAttachment(file1.getFilename(), file1.getFile());
 70
 71 获取在WebRoot/WebApp/WebContent的目录下的附件:
 72 FileDataSource file1 = new FileDataSource(ServletActionContext.getServletContext().getRealPath    ("attachfiles/test刘宇轩.txt"));
 73 helper.addAttachment(file1.getName(), file1.getFile());
 74
 75
 76 3.html内容格式,在setText()的第二个参数设置为true
 77 StringBuffer sb = new StringBuffer();
 78 sb.append("<html>...</html>");
 79 message.setText(sb.toString(), true);
 80
 81 4.连接不同的服务器:
 82 连接本地服务器:
 83 1.打开james服务器;
 84 2.配置applicationContext.xml:
 85 <!-- ======================================== 配置javaMail ======================================== -->
 86 <!-- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> -->
 87 <!-- <property name="host" value="localhost"></property>服务器 -->
 88 <!-- <property name="port" value="25"></property>端口 -->
 89 <!-- <property name="username" value="leo1"></property>用户名 -->
 90 <!-- <property name="password" value="leo1"></property>密码 -->
 91 <!-- <property name="protocol" value="smtp"></property>协议 -->
 92 <!-- 默认编码 -->
 93 <!-- <property name="defaultEncoding" value="utf-8"></property> -->
 94 <!-- <property name="javaMailProperties"> -->
 95 <!-- <props> -->
 96 <!-- 设置SMTP服务器要的用户验证 -->
 97 <!-- <prop key="mail.smtp.auth">true</prop> -->
 98 <!-- </props> -->
 99 <!-- </property> -->
100 <!-- </bean> -->
101
102 连接qq邮箱服务器:
103 1.开网
104 2.配置applicationContext.xml:
105 <!--配置qq邮件服务器 -->
106 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
107 <property name="host" value="smtp.qq.com"></property><!-- 服务器 -->
108 <!-- <property name="port" value="25"></property>端口 -->
109 <property name="username" value="1529761321"></property><!-- 用户名 -->
110 <property name="password" value="hfudpieaynmxgecj"></property><!-- 密码 -->
111 <property name="protocol" value="smtp"></property><!-- 协议 -->
112 <!-- 默认编码 -->
113 <property name="defaultEncoding" value="utf-8"></property>
114 <property name="javaMailProperties">
115 <props>
116 <!-- 设置SMTP服务器要的用户验证 -->
117 <prop key="mail.smtp.auth">true</prop>
118 <prop key="mail.smtp.ssl.enable">true</prop>
119 </props>
120 </property>
121
122 </bean>

转载于:https://www.cnblogs.com/liuduanwu/p/9520470.html

spring集成邮箱相关推荐

  1. SpringBoot集成邮箱功能并使用Knife4j测试

    SpringBoot集成邮箱功能并使用Knife4j测试 哔哩哔哩链接:https://www.bilibili.com/video/BV1uA411N7cm 1.获取163或QQ邮箱授权码 163邮 ...

  2. spring集成shiro详解

    最近项目中要用到shiro作为权限管理,以前都是用自定义的或者spring security,所以就开始看了一些网上的文章,但是感觉都写得很零散.而且大多数都只是给了几行代码,我们得项目相对比较复杂, ...

  3. Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  4. windows api中文文档_Web服务开发:Spring集成Swagger,3步自动生成API文档

    目录: 1,Spring Boot集成Swagger 2,Swagger接口文档页面 3,常见问题和解决方法 在Sping开发REST接口服务时,API文档是不可缺少的一个重要部分.Swagger框架 ...

  5. Spring集成spymemcached

    Spring集成spymemcached Memcached的安装部署我就不介绍了! 首先下载spymemcached,下载地址: jar:https://spymemcached.googlecod ...

  6. Liferay7 BPM门户开发之5: Activiti和Spring集成

    参考文档: https://github.com/jbarrez/spring-boot-with-activiti-example https://github.com/sxyx2008/sprin ...

  7. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  8. spring集成xmemcached

    2019独角兽企业重金招聘Python工程师标准>>> spring集成xmemcached <dependency><groupId>com.googlec ...

  9. Spring集成线程池

    自己在程序中手动New很容易造成线程滥用,创建线程也是比较消耗资源的操作,所以建议如果有此需求,将线程池统一交给Spring框架进行管理. 如下: <!--Spring 集成线程池,不允许自己开 ...

最新文章

  1. a b c d java_java中数组String array{a,b,c,d,c,d,e}如何能把字段相同的分到另外的数组中...
  2. Java集合类学习-LinkedList, ArrayList, Stack, Queue, Vector
  3. Mongodb的Replica Sets + Sharding架构
  4. 机器学习(三)逻辑回归以及python简单实现
  5. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
  6. 卸载 linux http
  7. 序列化的高阶认识-Transient 关键字
  8. SDK Manager failed to install 'java.exe' locking directory
  9. pythonchallenge_level2
  10. 新手tiktok怎么做?海外tiktok怎么赚钱!
  11. 【梳理】高等代数(北大) 第一章 线性方程组(docx)
  12. 经纬财富:开封如何炒现货白银
  13. java jtree 异步_[Java]JTree实现文件管理器的bug,请高手帮助 - 代码贴 - BCCN
  14. 系统工程师 运维工程师区别
  15. 计算机装机知识策划案,电脑装机大赛策划案.doc
  16. 23模式--建造者模式
  17. 在Windows7和Ubuntu上编译安装MICO
  18. 如何制作自己的系统镜像以及备份管理
  19. matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...
  20. 1 WoWmapview:魔兽世界地形查看器,附带源码!(Author: ufoz)

热门文章

  1. 什么是war文件以及如何打开
  2. [SceneKit专题]20-仿水果忍者小游戏Geometry-Fighter
  3. 常见的js效果(二)之高德地图的应用
  4. 5大常数是:0,1,π,e,i
  5. python 写数据入文件碰见的bug:UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xee‘ in position 21865:
  6. 使用webdav的方法
  7. 简书python估算遗传相关系数_[转载]群体遗传学奠基者之“费希尔”(转)
  8. CiteSpace的介绍、重要调整参数及其重要术语
  9. The requested resource is not available 问题解决
  10. [BZOJ2687]交与并[决策单调性]