2019独角兽企业重金招聘Python工程师标准>>>

1.官方标准JavaMail

Sun(Oracle)官方标准,功能强大,用起来比较繁琐。

官方资料:http://www.oracle.com/technetwork/java/javamail/index.html

2.第三方实现

2.1Apache Commons-Email
通过封装JavaMail,提供了常见的功能。
官方资料:http://commons.apache.org/proper/commons-email/

2.2Spring Mail
与Spring很好的集成,可以在使用Velocity 模版语言。
官方资料:http://static.springsource.org/spring/docs/3.0.x/reference/mail.html

2.3Jodd Mail
与Apache Commons-Email类似,都是对JavaMail的进一步封装。
官方资料:http://jodd.org/doc/email.html

3.自定义

3.1自己进一步封装
  对Apache Commons-Email进一步封装。(可能有必要,也可能没有)

3.2完全重新实现
  掌握SMTP等协议,实现协议。(高端用户可能有这个需求)
 
 
4.几点看法
 
 4.1象发邮件这种功能,非常实用。使用别人的工具包可以大大提高自身的开发效率。
 一般来说,发邮件不是一个项目或产品的核心业务。
 
 4.2发邮件等常用功能,有很多种实现方式。每种方式都各有优缺点,都有各自的适应场景。
 了解多种实现,掌握几种就够了,全部掌握太难了,时间远远不够。
 
 4.3调用API发邮件很简单,但是要完全理解发邮件的过程一点也不简单。
    需要深入理解SMTP等协议,如果收邮件又需要理解POP3和IMAP等协议。
    
 4.4SMTP、HTTP等应用层协议,TCP/IP等底层协议,想要自称“技术大牛”的人,都应该深入理解吧?
 
 4.5IT行业和其它行业没有什么不同,大部分情况都是“拼学习的愿望和时间”,然后才是“拼学习的能力和智力”。

转载于:https://my.oschina.net/jiutianniao/blog/400409

Java中发邮件的6种方法相关推荐

  1. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  2. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

  3. Java 创建线程的三种方法比较

    在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂jav ...

  4. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  5. java 字符串截取的几种方式 java获取当前路径的几种方法

    java 字符串截取的几种方式: https://blog.csdn.net/qq_27603235/article/details/51604584 java获取当前路径的几种方法: https:/ ...

  6. java 获取包路径_java获取java文件路径的四种方法

    java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...

  7. Java遍历Map的5种方法

    Map作为Java中的一种集合,以键值对的形式存放一批数据,经常会被我们应用在项目中. 既然是一种集合,自然就有需要遍历的场景.今天就来说5种遍历Map的方法. 01通过map对象的entrySet遍 ...

  8. java创建数组的两种方法

    java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...

  9. java 获取时间戳 的三种方法

    java 获取时间戳 的三种方法,效率依次递减 方法一 : System.currentTimeMillis(); 方法二: new Date().getTime(); 方法三: Calendar.g ...

最新文章

  1. 教师计算机网络培训工作总结,教师培训工作的自我总结
  2. LeetCode 26. 删除排序数组中的重复项
  3. java基本数据类型转为String类型的4种常见方法
  4. html代码id,浅谈html中id和name的区别实例代码
  5. 腾讯:我火了,新浪:你没有!
  6. 编程语言python怎么读-0编程基础,什么语言也没学过,请问学Python怎样入门?...
  7. 谈对阿里应用分层的思考
  8. 第一天:英语四级听力训练
  9. MTK芯片处理器对比资料图
  10. v u e + ts excel表的导入解析转换 加下载excel表格式(个人笔记)
  11. appdata是什么文件夹?appdata文件夹可以删除吗?
  12. java I/O流
  13. Linux安装-CentOS7.x
  14. HIVE学习系列——Hive操作
  15. z77用m2固态_Z77也能用M.2固态
  16. 刻录方式--轨道一次刻录、光盘一次刻录区别
  17. ThinkPadE425拆机图
  18. 技术原理故事_关于技术与孤独的爱情故事
  19. 目前电子发票的运转流程图
  20. 【蓝桥杯练习】妖梦拼木棒

热门文章

  1. C++(STL):30 ---关联式容器map的operator[]和insert效率对比
  2. 我对STL的一些看法(四)认识deque容器
  3. 算法(7)-leetcode-explore-learn-数据结构-数组-小结
  4. KMP子字符串匹配算法学习笔记
  5. 王者服务器维护什么时间结束s19,王者荣耀S19赛季什么时候结束 S19赛季结束时间...
  6. Socket通信 客户端加密数据,传递数据密文到服务端,服务端解密密文 输出明文
  7. STL源码剖析 序列式容器 vector 和 ilist
  8. 为什么有些语言会比别的快?
  9. 《 图解 TCP/IP 》读书笔记
  10. IDEA 错误:找不到或无法加载主类