Perl Email处理几个模块之间的关系
Email::Simple - 用来简单解析RFC2822消息格式和头。想要了解RFC2822格式的可以参考http://www.faqs.org/rfcs/rfc2822.html。 这个模块的名字觉得怪怪的,总觉得是个例子一样。不过这个模块的意图就是为了满足简单的邮件处理的需要但又不想引入太过复杂模块中存在的一些bug。 使用起来方便简单,但局限是仅仅能处理RFC2822格式的邮件。 一般用来解释邮件内容或者构建RFC2822格式内容的邮件。 简单使用例子: use Email::Simple; 下面这三个模块在一起讲述: Email::Folder::ExchangeAccess your Microsoft Exchange 2000/2003/2007/2010 email from perlEmail-Folder-Exchange-2.0 -30 Jan 2011 - Warren Smith Email::Folder::Exchange::EWSEmail::Folder access to exchange folders via Web Services [SOAP]Email-Folder-Exchange-2.0 -30 Jan 2011 - Warren Smith Email::Folder::Exchange::WebDAVEmail::Folder access to exchange folders via WebDAVEmail-Folder-Exchange-2.0 -30 Jan 2011 - Warren Smith 这三个模块的大体作用通过上面的意思已经可以看出,第一个是说通过exchange方式访问email,而第二个是通过SOAP访问exchange folder,而第三个则是通过WebDAV形式。 WebDAV上一篇文章中已经有介绍了,exchange不熟悉的话可以去度娘。 备注附录一些背景信息: Microsoft Exchange: 微软交换服务器 是一款邮件服务器软件,用户除了使用Outlook 客户端,也可以使用 Internet Information Services (IIS) 管理器简化用户访问其 Microsoft?Exchange Server 2013 邮箱所使用的 Microsoft?Outlook Web App URL。 即Outlook 网页版。Exchange是服务器端的软件,而Outlook是其客户端的软件。Outlook不仅仅可以作为Exchange的客户端,还可以接收其他支持Pop3等的邮件,当然,Exchange邮件接收方式也不仅仅局限于使用Outlook,你也可以使用Foxmail等其他软件,也可以通过Web方式使用OWA方式接收。 回到正题,这三个模块之间是什么关系呢。Email::Folder::Exchange 是后面连个模块的wrapper。这个模块首先通过EWS链接服务器,如果返回404错误,则试图用WebDAV连接。 Email::Folder::Exchange的使用方法: use Email::Folder::Exchange; # Access Exchange 2000/2003 via WebDAV my $folder = Email::Folder::Exchange->new('http://owa.myorg.com/user/Inbox', 'user', 'password');//看出与下面的区别了吗?多了什么 # Access Exchange 2007/2010 via Exchange Web Services my $folder = Email::Folder::Exchange->new('http://owa.myorg.com', 'password');//邮箱OWA方式访问的link for my $message ($folder->messages) { print "subject: " . $subject->header('Subject'); } for my $folder ($folder->folders) { print "folder uri: " . $folder->uri->as_string; print " contains " . scalar($folder->messages) . " messages"; print " contains " . scalar($folder->folders) . " folders"; } 三个模块的方法有一些细微的区别,具体可以上CPAN上看。 还有一个模块,Email::Folder;从一个文件夹中读取Email::Simple所支持的邮件信息。 Email::FolderType:这个是获取邮件FolderType的信息。 关于邮件传输协议: STMP:http://zh.wikipedia.org/wiki/%E7%AE%80%E5%8D%95%E9%82%AE%E4%BB%B6%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE 再加上一个模块: Mail::Outlook: 这个模块的作用就是用来处理Microsoft (R) Outlook (R). 具体模块的信息可以在CPAN上找到。http://search.cpan.org/~duncan/Mail-Outlook-0.22/lib/Mail/Outlook.pm
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |