Java中发邮件的6种方法
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行业和其它行业没有什么不同,大部分情况都是“拼学习的愿望和时间”,然后才是“拼学习的能力和智力”。
Java中发邮件的6种方法的更多相关文章
- [置顶] Java中发邮件的6种方法
1.官方标准JavaMail Sun(Oracle)官方标准,功能强大,用起来比较繁琐. 官方资料:http://www.oracle.com/technetwork/java/javamail/in ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...
- java中需要关注的3大方面内容/Java中创建对象的几种方法:
1)垃圾回收 2)内存管理 3)性能优化 Java中创建对象的几种方法: 1)使用new关键字,创建相应的对象 2)通过Class下面的new Instance创建相应的对象 3)使用I/O流读取相应 ...
- 【Java】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语 ...
- java读取配置文件的几种方法
java读取配置文件的几种方法 原文地址:http://hbcui1984.iteye.com/blog/56496 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配 ...
- Java获取随机数的几种方法
Java获取随机数的几种方法 .使用org.apache.commons.lang.RandomStringUtils.randomAlphanumeric()取数字字母随机10位; //取得一个3位 ...
- java环境变量配置四种方法
原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...
- (转)Java结束线程的三种方法
背景:面试过程中问到结束线程的方法和线程池shutdown shutdownnow区别以及底层的实现,当时答的并不好. Java结束线程的三种方法 线程属于一次性消耗品,在执行完run()方法之后线程 ...
- JAVA写JSON的三种方法,java对象转json数据
JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...
随机推荐
- 我要带徒弟学JAVA架构 ( 写架构,非用架构 )
80元,当然我不觉得我带的徒弟比花了1万多在培训班学习的学生差,你努力了.会比他们出色的多.等你学有所成.相同能够成为jeecg核心成员之中的一个.一起构建Java学习平台.你也能够成为非常好的师傅. ...
- 神经网络入门游戏推荐BugBrain
今天看到一款神经网络入门游戏.BugBrain.在游戏中,你能够通过连接神经元.设置神经元阈值等建造虫子的大脑,让瓢虫.蠕虫.蚂蚁等完毕各种任务.下载下来玩了玩,难度真不是入门级的= =! 真心佩服作 ...
- 【POJ 2486】 Apple Tree(树型dp)
[POJ 2486] Apple Tree(树型dp) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8981 Acce ...
- POJ2230题解
题目来源 id=2230">http://poj.org/problem?id=2230 题目大意 求无向图从起点1開始从不同方向经过全部边的一条路径.输出随意一条. 题解 把无向图的 ...
- 怎样使用Eclipse PDT调试PHP程序
本文主要介绍的是怎样用eclipse pdt调试PHP 代码. 1. 下载eclipse.从官网上找就能够了,并确认当前系统中有java环境,即jdk和jre. 2. 安装pdt了,採用的是在线安装. ...
- vim分屏功能
转载,来自http://coolshell.cn/articles/1679.html 本篇文章主要教你如何使用 Vim 分屏功能. 分屏启动Vim 使用大写的O参数来垂直分屏. vim -On fi ...
- (hdoj 5137 floyd)How Many Maos Does the Guanxi Worth
How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/5 ...
- 纯JS监听document是否加载完成
欢迎加入前端交流群交流知识&&获取视频资料:749539640 概述 一个document 的 Document.readyState 属性描述了文档的加载状态. 一个文档的 read ...
- 第17章 Redis概述
17.2.1 在Windows下安装Redis https://github.com/ServiceStack/redis-windows/tree/master/downloads redis-se ...
- 省市区js三级联动(原创)
看了一些网上的js三级联动,但感觉不是缺这,就是少那,决定亲自操刀写了一个,现记录如下,以备后用! <!DOCTYPE html> <html> <head> &l ...