关于Java程序调用Lotus Notes邮件服务发送邮件的实现(三补充)
程序运行前,还需要注册用户,建立配置文件等操作:
1 注册用户
1. 注册notes 系统用户(假设用户登录名称为:kk/jhh),并使其拥有发送邮件的权限。
2. 获取是服务器上 Domino Directory 中该用户KK的 Person 文档BASIC选项卡中
的用户名(kk/jhh,也是KK用户的Notes客户端登录名)
3. 获取该用户的密码,密码必须是同一Person文档BASIC选项卡中的Internet密码值。
4. 获取该用户kk的Person文档BASIC选项卡中Mail file值(如mail\kk)
2. 配置测试程序
在SRC目录建立Mail.properties文件,
\Mail.properties示例:
dominoServerName= dominoServer/jhh
host=10.30.100.98:63148
userName=kk/jhh
password=kk
recipientsAdress=mm/jhh@dommain01,admin/jhh@dommain01,kk/jhh@dommain01
userFilePath=mail/kk.nsf
字段介绍:
dominoServerName字段:domino服务器的名称;
host字段:Domino服务器主机的IP地址(或域名)+”:” + DIIOP服务的端口号
(IP地址见服务器 Server 文档 Baiscs 选项卡的“Fully qualified Internet host name”字段)
userName字段:已注册的notes 系统用户的用户名(如kk/jhh);
(服务器中该用户KK的 Person 文档BASIC选项卡中的用户名)
password字段:该用户的Internet密码;
(同一Person文档BASIC选项卡中的Internet密码值)
userFilePath字段:该用户的Person文档BASIC选项卡中Mail file值(如mail\kk)+.nsf;
recipientsAdress字段:notes系统中收件人的地址(多个收件人以逗号隔开,不加空格)
配置完成后,,即可运行测试程序,发送消息到指定的收件人。
至此,该问题已完结,分享给需要的人
关于Lotus Notes
Lotus Notes/Domino 是企业级通讯、协同工作及Internet/Intranet平台;内含强大的电子邮件功能,应用于企业办公自动化。
Lotus Notes结构
总的来讲,Lotus Notes 软件是C/S(客户端/服务器)架构的:客户端称为Notes,服务器端称为Domino;另外,部分新版本还提供Web服务,可通过浏览器访问服务器端Domino。
通常说的Lotus Notes软件,其实两部分:客户端Notes和服务器端Domino。
因此,部署Lotus Notes套件包括服务器端Domino的安装和配置,客户端Notes的安装和配置,后者相对简单,在此推荐本人验证过的服务器端Domino的部署教程给小白们(domino 8.51安装全步骤(图文教程) http://www.piikee.net/read.php/413.htm)。
Lotus Notes的邮件系统
Lotus Notes软件内含的邮件系统,服务器端Domino上部署邮件服务应用;Notes 工作站与 Domino 服务器之间或两个 Domino 服务器之间通信的基础为 NRPC(Notes 远程过程调用,也称Notes 路由协议)服务。关于NRPC,请参考:
http://darewinchip.com/help/help7_admin.nsf/2e73cbb2141acefa85256b8700688cea/b898e0382c11e6b04825706f0079637f?OpenDocument
或http://www-01.ibm.com/support/docview.wss?uid=swg21602698
也就是说,缺省情况下,Domino 服务器使用 NRPC与在其它Domino服务器或Notes工作站进行电子邮件/消息的通信。另外,也可配置Domino服务器,通过标准邮件通信协议如SMTP、POP3与其他服务器进行通信。
问题:向Notes的邮件系统内部发送邮件
问题描述:如何通过编写Java程序,以Notes的邮件系统内部某个用户的身份,向Notes的邮件系统的其他内部用户发送邮件/消息?
解决思路
1.试试JavaMail
欲解决该问题,首先想到的Java的邮件服务接口JavaMail,但JavaMail只支持互联网标准邮件通信协议(mail systems based on internet standards such as MIME, SMTP, POP3, and IMAP,参加API:http://javamail.kenai.com/nonav/javadocs/index.html),显然,NRPC为IBM内部自定义的邮件通信协议,非标准的(而且貌似非公开的);因此,若Domino服务器配置为只能通过NRPC方式进行邮件通信(并不少见),则JavaMail无法解决该问题。
2. 试试客户端Notes
若是人工手动完成该过程,以内部用户身份发送邮件的操作接口是在客户端Notes,通过登录Notes客户端,完成身份校验后,即可在客户端编辑邮件并发送。因此,我们可以考虑在本地安装客户端Notes,编写Java程序与本地客户端Notes通信,并通过客户端Notes接口调用Domino发送邮件,前提是Lotus Notes 软件提供访问客户端Notes的API,事实上,该思路是可行的。
在IBM官网可以找到Java程序访问客户端Notes的资料和接口(请参考Lotus 官方文档架构师的文章:Java对Domino Objects的访问:
ht
SurfaceRT在入手一周后出掉了,换了台华硕的普通笔记本给京京用。因为这个Surface得来没花钱,等于是送的。所以也不算是标题党吧。
虽然我作为一名资深微软黑,长期以黑微软为乐,但其实在一年前,我对微软在移动领域的新动作还是略赞赏的——《MDCC印象之二:芒果的味道》。
可惜啊,到头来微软终归还是不行,都不能给我一个不黑的机会。
上次喷PC厂商的时候,已经顺带黑了一次——《人类已经无法阻止苹果了——吐槽PC厂商》。
不过因为当时Win8还没出来,大部分还是基于传闻。现在大半年过去,win8已经上市,Surface也用过了,连Surface Pro都快要出来了,可以一喷了。
要正式开喷了,又有点无从下手的感觉——不是因为喷点太少,而是太多,不知道从哪个开始喷起……
那就还是先从它乏善可陈的优点说起吧。
首先就是去年赞过的UI,这套始于WP7的UI(原来叫MetroUI现在被迫改名不知道叫什么的)的确还是有新意的。除了WinRT系统本身的应用以外,我还装了一些别的应用,UI都不错,有些甚至比它们的iOS版都要好看很多——果粉不要怒,真的好看。
其次就是福布斯曾经发文赞过的Surface四大优势之 一:桌面环境。这个iOS是没有的,Android上虽然也可以自己整个Linux桌面上去,但是难度还是相当大的。更不用说Surface还带了一个键 盘cover,方便很多。至于说另外三个所谓的优势……除了多帐户以外,Android都早就有了,有些iOS也有,多帐户在新的Jelly Bean里也已经有了。
第三,虚拟键盘和输入法都比iOS强太多——果粉也不要急,去试试就知道。
最后,屏幕的显示效果还不错,亮度色彩什么的,加上宽屏,看电影还是很不错,特别是附带的支架加cover摆放特别方便,不用手拿着那么累。
没了……
然后开始吐槽吧。就从PC厂商那篇的主要槽点开始……
价格!价格!还是价格!
作为一个来晚的平板电脑商,跟下面要喷的那么多缺点相比,就上面那么几个可以算是优点的东西,凭什么卖得比别人贵,还贵那么多。国外有人作了拆机对比,发现Surface的硬件成本比同档次的iPad还要低一些。这就更说不过去了,包耳膜的脑子被枪打过了吗?
你们来晚这么多年,最重要的工作难道不是从市场领先者那里抢占市场份额吗?就凭这样没诚意的价格吗?我看除了铁杆微软粉,没多少人能接受这样的价格吧。上市以来的销量也足以说明问题。
WinRT不是Windows!
我知道你们要说Pro,这个后面再说,微软粉也别急。
虽 然Surface提供了一个桌面环境,但这毕竟不是真正的Windows,因为ARM的CPU决定了你无法在这上面跑Windows程序——除了少量移植 过来的应用。所以这个环境基本上就只是为了跑Office——当然,这对一些人来说很重要。但是阅读和少量的编辑工作在iPad/AndroidPad上 也完全可以实现。至于大量的编辑工作……还是用电脑吧。
Apps是王道!
虽然微软号称它们的市场里软件已经很多了,大概是指 英文市场吧,反正我等了半天连上微软的菜市场,里面的App感觉翻了没几页就没了,虽然叫得上名字的互联网巨头基本都有做WP版,但还是有很多没有的,比 如某宝。其它小众应用就更不用说了,默认都是没有的,碰到有的,那纯属中奖。
说到菜市场,不得不说一下微软的网络。
众所周知 GooglePlay菜市场在兲朝是河蟹物,访问起来已经算是相当困难的了,比AppStore速度明显慢。但是用过微软的菜市场才知道,原来还有更慢 的,真不知道微软是怎么弄自己的菜市场网站的。当然可能还有一部分原因是这个应用启动本来就慢。事实上不止菜市场,WinRT里所有需要连网的应用启动都 明显慢。
虽然UI操作上是挺流畅,但是应用运行或启动速度慢,同样还是影响用户体验的。
相比之下,别说iOS,就是Android也好很多。
还有就是WinRT也太大了,64G版的Surface也就只能当32G的iPad来用,而不论是在可用性还是价格方面,iPad都完胜……都不用出动iPad3,iPad2足矣。
其它如cover键盘不好用、磁力电源接头不好使这种小问题就不提了。
最后再来说说Pro吧。
Pro用的是X86的CPU,跑的是正宗的Win8,貌似微软桌面的优势将全面延续。
但是我仍然不看好……
基本的理由就是:平板的用户需求与桌面相当不同,按令狐虫的话来说就是:平板用户主要是内容的消费者,桌面用户主要是内容的生产者,两头都想兼顾的结果就是两头不讨好。
比如说,cover改善了平板不方便大量输入的问题,但因为这个cover并不是很好用,这个优势不明显。使用X86CPU改善了性能并兼容传统应用,但是增加了发热了耗电减少使用时长——或者增加体积重量价格,相比专门的平板,这些都是劣势。事实上,目前已经透露的消息已经足够说明问题了—— Surface Pro电池使用时间将比Surface RT短一半,价格却要贵将近一倍。
而如果拿这货跑桌面应用,那其实不就是个超级本嘛。
与其如此,不如买个Mac Book Air,价钱差不多还用得久,体积重量未必差多少——一定要找一个优点的话,1080P全高清屏算一个,只是Retina MBA要是出来呢?更何况Surface那个破键盘…
而且Pro这货还不是最贵的,看了一下已经上市的其它X86 Win8平板/电脑,更贵。
我说PC领域里的这一帮子软硬件商们,醒醒吧,看看周围的世界现在是什么样了。
总之还是跟我去年说的差不多:就现在这个市场来说,价格是王道。
当然,即使Surface Pro价格很便宜我也不会买,送我也会被我卖掉,换个手机什么的。原因就是Surface Pro有微软签名的SB(Secure Boot——建议了解一下这货,加上微软签名以后绝对是个反人类的东西,要没这货,我可能还会对Surface Pro印象好点),不能拿来安装别的OS,而我不用Windows已经很多年…