首页 快递行业资讯 【技能原创】Zimbra-SOAP-API开发攻略3——操作邮件

【技能原创】Zimbra-SOAP-API开发攻略3——操作邮件

0x00 前语 在之前的文章《Zimbra SOAP API开发攻略》和《Zimbra-SOAP-API开发攻略2》介绍了Zimbra SOAP API的调用办法,开源代码Zimb…



0x00 前语


在之前的文章《Zimbra SOAP API开发攻略》和《Zimbra-SOAP-API开发攻略2》介绍了Zimbra SOAP API的调用办法,开源代码Zimbra_SOAP_API_Manage。本文即将在此基础上扩大功用,增加邮件操作的相关功用。



0x01 简介


本文即将介绍以下内容:

检查邮件

发送邮件

删去邮件



0x02 检查邮件


Zimbra SOAP API阐明文档:https://files.zimbra.com/docs/soap_api/9.0.0/api-reference/index.html

结合Zimbra SOAP API阐明文档和调试成果得出以下完结流程:

调用Search指令取得邮件对应的Item id,经过Item id作为邮件的辨认标志。

取得Item id后能够对邮件做进一步操作,如检查邮件细节、移动邮件、删去邮件等。


1.取得邮件对应的Item id

需求运用Search指令。

阐明文档:https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/zimbraMail/Search.html

需求用到以下参数:

(1)query

表明检查的方位,示例如下:

(2)limit

表明回来的查询成果数量,示例如下:

假如不指定该特点,默以为10

测验代码:

回来内容示例:

对以上格局剖析,发现标签c***对应每个邮件的信息,提取数据如下:

格局剖析如下:

时刻格局转化的示例代码:

归纳以上内容,得出提取Item id、发件人、标题、正文内容和发送时刻的完结代码:


2.检查邮件内容

测验发现,检查邮件细节能够不依赖Zimbra SOAP API,拜访固定url即可。

经过这种办法能够取得完好的邮件内容,包含Base64编码的附件内容。

完结代码:



0x03 发送邮件


在发送带有附件的邮件时,需求先上传附件,再发送。


1.上传附件

上传功用经过FileUploadServlet完结,对应代码方位:/opt/zimbra/lib/jars/zimbrastore.jar中/com.zimbra/cs/service/FileUploadServlet.class

上传细节可参阅:https://github.com/Zimbra/zm-mailbox/blob/develop/store/docs/file-upload.txt

上传的url: https://

假如增加参数fmt=raw,extended,回来成果示例:

经过比较,发现增加参数fmt=raw,extended能够额定取得文件类型,示例:"ct":"image/jpeg"

所以在上传时,运用url: https://  url /service/upload?fmt=raw,extended

归纳以上内容,得出以下完结代码:


2.发送带有附件的邮件

需求运用SendMsg指令。

阐明文档:https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/zimbraMail/SendMsg.html

需求用到以下参数:

(1)e

表明发件人和收件人等相关信息,示例如下:

(2)su

表明邮件标题,示例如下:

(3)mp

表明正文内容,示例如下:

(4)noSave

假如设置为1,表明邮件发送后,不在发件箱保存副本,示例代码:

(5)attach

指定发送附件的aid,示例代码:

归纳以上内容,得出发送带有附件邮件的完结代码:



0x04 删去邮件


需求运用ConvAction指令。

阐明文档:https://files.zimbra.com/docs/soap_api/8.8.15/api-reference/zimbraMail/ConvAction.html

需求用到以下参数:

(1)tcon

经过浏览器删去邮件的流程是先点击删去邮件,将邮件移动至垃圾箱,再从垃圾箱中点击删去邮件,完结邮件的完全删去。

经过Zimbra-SOAP-API能够简化以上流程,直接删去邮件。

完结代码:



0x05 开源代码


https://github.com/3gstudent/Homework-of-Python/blob/master/Zimbra_SOAP_API_Manage.py

优化了代码结构,增加了以下功用:

DeleteMail,删去指定邮件

SearchMail,取得邮箱信息,包含Item id、发件人、标题、正文内容和发送时刻

SendTestMailToSelf,向当时邮箱发送一封带有附件的邮件

uploadattachment,上传附件

uploadattachmentraw,上传附件的另一种完结,用于特定条件

viewmail,检查邮件完好细节



0x06 小结


本文扩大了Zimbra SOAP API的调用办法,增加三个实用功用:检查邮件、发送邮件和删去邮件,记载完结细节。

本文来自网络,不代表快递资讯网立场。转载请注明出处: http://www.llaiot.com/express-industry-information/2781.html
上一篇
下一篇

为您推荐

返回顶部