Java中发邮件的6种方法

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460308.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用mongo实现mysql视图_浅谈 MongoDB 的视图

2018 年 9 月 18 日,由 Robert Gravelle 撰写在关系数据库中,视图是由查询定义的可搜索数据子集。视图有时被称为“虚拟表”,因为它们不存储数据,但可以像表一样被查询。MongoDB 最近在版本 3.4 中引入了视图。在今天的文章中&…

java char 空_2020重新出发,JAVA入门,数据类型

数据类型通过上一节,明白了变量就是申请内存来存储值,即当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,确定了变量的类型,即确定了数据需分配内存空间的大小,数据…

实验一报告

北京电子科技学院(BESTI) 实 验 报 告 课程:Java   班级: 1352    姓名:谈愈敏   学号:20135220 成绩:   指导教师:娄嘉鹏       实验日期…

mysql中下杠怎么打_怎么打字母下方的短横杠?,下横杠怎么打

下横杠怎么打,怎么打字母下方的短横杠?对于电脑操作,大多数成年人不及现在的孩子们。今天看到同事在编辑一篇文档,需要在字母下面打一条短横杠,如下图所示。但是同事怎么也打不出来,坐在旁边的他的孩子,看着有点不耐烦…

云计算解决方案——电信行业

2019独角兽企业重金招聘Python工程师标准>>> 云计算解决方案——电信行业 由于业务的快速发展,电信运营商每年要采购大量的服务器和存储设备,这些资源闲置或者偶尔被使用,造成大量的投资浪费。解决这一问题最好的方法是在企业内部…

华硕主板装系统蓝屏_华硕笔记本电脑重装系统后蓝屏怎么办

华硕笔记本电脑重装系统后蓝屏怎么办?笔记本重装系统后蓝屏怎么办,之前笔记本系统很慢很慢,想重新安装一下操作系统,重新安装的是Windows 7的系统,使用的是Ghost系统盘,为什么重新安装玩系统之后蓝屏了,其…

[LeetCode]LRU Cache有个问题,求大神解答【已解决】

题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set. get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise ret…

从CentOS6.0i386到CentOS6.6x86-64,搬家中,磕磕跘跘,各种折腾……

2019独角兽企业重金招聘Python工程师标准>>> 原本打算从 CentOS 6.0 i386 蹦到 CentOS 7.1 x86-64 ,结果声卡一灵九不灵的问题没解决。决定退到 CentOS 6.6 x86-64 。 装好 CentOS 6.6 x86-64 ,原生创建的用户 guest 貌似没啥问题。但直接迁…

java程序源代码如何保存到桌面_如何编写JAVA小白第一个程序

学习上一篇文章之后,确定好JDK和环境变量都成功之后,我们来编写我们第一个java程序命名为HelloWorld.java。上一篇文章链接:JDK下载与环境变量的安装桌面上右击,新建一个文本文档用记事本打开文本文档编写如上图代码,注…

matlab图像输出表格_matlab 图像输出3维字

废话不多说。strE; scale10; % 绘制 3D 文字 new_fig figure(visible,on); word_handle text(0.01,0.5,str,... fontsize,200,... fontweight,bold,... fontunits,normalized); axis off set(gcf,PaperPosition,[0 0 8 8],PaperUnits,normalized) % saveas(gca,[pwd 1.png])…

mysql注册成功为啥启动不了mysql_mysql启动不成功的解决方法

1.net start mysql提示服务名无效原因:mysql服务没有安装。解决方法:2. 以管理员身份运行cmd。window键R 输入cmd3. 切换到 mysql.exe 的文件位置的路径我的文件路径是 D:D:\Mysql\mysql-5.7.16-win32\bin4、输入mysql.exe -install 回车如上图显示就表示…

NoSQL数据库:数据的一致性

NoSQL数据库:数据的一致性 读取一致性 强一致性 在任何时间访问集群中任一结点,得到的数据结果一致; 用户一致性 对同一用户,访问集群期间得到的数据一致; 解决用户一致性:使用粘性会话,将会话…

基于Apache OLTU的OAuth2.0授权解决方案

Apache OLTU实现了OAuth 2.0的规范,是一种可靠的Java授权解决方案。但是,官方文档实在是太惨不忍睹了。本文参考了开涛的OAuth 2.0集成Shiro文章。模拟了OAuth2.0的认证流程。技术框架:SpringSpringMVCApache OLTUAmazonUI.界面效果&#xff…

小程序转h5之后 vant文件查找失败:_你还在使用原生开发小程序吗

最近帮别人在做一个小程序,因为官方的支持不够好,组件库也不够多,所以就没有使用官方的操作。网上查找了一番,觉得mpvue还不错(之前也没玩过),索性拿来用吧!01 前言小程序的做法也是比较简单的,假如你是老手…

JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传

异步上传相信大家都做过类似的功能,JqueryAjaxFileUploader为我们提供了更简单的实现和使用方式。不过既然是JQUERY的插件那么它所依赖的环境大家都懂得。JqueryAjaxFileUploader并不华丽,也没有提供美化文件上传控件的css,它并不像jQuery Fi…

替换WordPress调用的Google前端库为360镜像的库

为什么80%的码农都做不了架构师?>>> 把 googleapis 替换成 useso 即可: sed -i s/googleapis/useso/g grep -rl googleapis ./wordpress 另外在后台关闭Gravatar头像显示(设置-讨论-头像显示),免得拖慢页面加载速度. 要成倍提升WordPress速度,可以考虑使…

IOS模拟器调试ANE

来源:http://www.tuicool.com/articles/AFRJzi 利用iOS模拟器来检测和调试AIR应用程序补充篇 Air3.4来了 除去可以直接往模拟器里面部署应用,还可以往真机里面部署应用。 Air3.3的时候非常苦逼,你只能往模拟器里面装应用而不能删除&#xff0…

python开源考试_可能是 Python 中最火的第三方开源测试框架 pytest

作者:HelloGitHub-Prodesire一、介绍本篇文章是《聊聊 Python 的单元测试框架》的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose。作为本系列的最后一篇,压轴出场的是Python 世界中最火的第三方单元测试框架&#xff1a…

CSS3那些不为人知的高级属性

尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius、box-shadow或者transform等。它们有良好的文档、很好的测试并且最常用到,所以如果你最近在设计网站,…

Oracle PL/SQL之LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理&#xff0c;利用该语句可以循环执行指定的语句序列。常用的LOOP循环语句包含3种形式&#xff1a;基本的LOOP、WHILE...LOOP和FOR...LOOP。 LOOP语句的基本语法结构如下&#xff1a; [<<label_name>>] LOOPstatement.…