日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【技术原创】MailEnable开发指南

發布時間:2025/3/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【技术原创】MailEnable开发指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

MailEnable提供端到端的解決方案,用于提供安全的電子郵件和協作服務。引用自官方網站的說法:最近的一項獨立調查報告稱MailEnable是世界上最受歡迎的Windows郵件服務器平臺。 對于MailEnable的開發者API,我在官方網站上只找到了AJAX API的說明文檔,所以本文將要嘗試編寫Python腳本,實現對MailEnable郵件的訪問,記錄開發細節,開源代碼。

簡介

本文將要介紹以下內容:

?環境搭建

?開發細節

?開源代碼MailEnableManage.py

環境搭建

1.安裝

安裝前需要安裝IIS服務和.Net 3.5,否則無法正常配置Web訪問。

MailEnable下載地址:http://www.mailenable.com/download.asp

2.配置

啟動MailEnableAdmin.msc,在MailEnable Management->Messaging Manager->Post Offices下配置郵件服務器信息。

如下圖

默認登錄頁面:

http://mewebmail.localhost/mewebmail/Mondo/lang/sys/login.aspx

3.開啟Web管理頁面

參考資料:

http://www.mailenable.com/kb/content/article.asp?ID=ME020132

啟動MailEnableAdmin.msc,選擇MailEnable Management->Servers->localhost->Services and Connectors->WebAdmin,右鍵單擊并從彈出菜單中選擇Properties,選擇Configure…按鈕,進行安裝。

如下圖

啟動MailEnableAdmin.msc,在MailEnable Management->Messaging Manager->Post Offices下選擇已配置的Post Office,右鍵單擊并從彈出菜單中選擇Properties,切換到Web Admin標簽,啟用web administration。

如下圖

選擇指定用戶,將屬性修改為管理員。

默認管理頁面:

http://mewebmail.localhost/meadmin/Mondo/lang/sys/login.aspx

注:

如果忘記了用戶的明文口令,可以查看默認安裝路徑C:\Program Files (x86)\Mail Enable\Config下的Auth.tab文件,其中保存有每個郵箱用戶的明文口令。

開發細節

1.版本判斷

經過多個版本的測試,總結出來的版本判斷方法如下:

訪問登錄頁面:http:///mewebmail/Mondo/lang/sys/login.aspx

查看網頁源碼,如下圖


其中< link rel=“stylesheet” type=“text/css” href="/MEWebMail/Mondo/skins/Arctic/me.css?v=9.84" >中的v=9.84對應MailEnable的版本。

在腳本實現上,我采用了如下方法:

?找到?v=的位置

?向后截取固定長度的字符串

?以"作為分隔符,取出版本號

補充:通過MailEnableAdmin.msc獲得版本號

啟動MailEnableAdmin.msc,選擇MailEnable Management->Servers->localhost->System->Diagnose

如下圖

注:版本號列表

http://www.mailenable.com/Premium-ReleaseNotes.txt

http://www.mailenable.com/Standard-ReleaseNotes.txt

2.用戶登錄

訪問URL:/mewebmail/Mondo/Servlet/request.aspx

需要的部分關鍵參數:

?txtUsername

?txtPassword

?loginParam

返回結果為json格式,如果登錄成功,bReportLoginFailure的值為False。

對應的Python代碼如下:

3.查看郵箱文件夾

訪問URL:/MEWebMail/Mondo/Servlet/asyncrequest.aspx

需要的部分關鍵參數:

?Folder,可以指定為inbox/sent/drafts/deleted/junk

?ME_VALIDATIONTOKEN,需要訪問/mewebmail/Mondo/Servlet/request.aspx?Cmd=GET-MBX-OPTIONS&Scope=2,從返回結果中獲得。

返回結果為xml格式,包含該文件夾下所有郵件的數量和每個郵件的簡要內容,ID作為每封郵件的唯一標志,在讀取郵件時需要作為參數。

為了提高效率,可以使用xml.dom解析xml。

使用xml.dom解析xml的參考資料:

https://docs.python.org/3.8/library/xml.dom.minidom.html#xml.dom.minidom.parse

使用xml.dom解析xml,提取出TOTAL_ITEMS的Python代碼如下:

4.查看郵件

訪問URL:/MEWebMail/Mondo/Servlet/request.aspx

需要的部分關鍵參數:

?Folder,可以指定為inbox/sent/drafts/deleted/junk

?ME_VALIDATIONTOKEN,需要訪問/mewebmail/Mondo/Servlet/request.aspx?Cmd=GET-MBX-OPTIONS&Scope=2,從返回結果中獲得

?ID,需要發送查看郵箱文件夾的請求,在返回結果中獲得

返回結果為xml格式,包含郵件的詳細內容,如果存在附件,那么ATTACHMENTS的EXISTS屬性值為1,如果不存在附件,那么ATTACHMENTS的EXISTS屬性值為0

MESSAGEID作為附件的標志,如果包含多個附件,多個附件共享同一個MESSAGEID,FILENAME為附件的名稱,MESSAGEID+FILENAME作為附件的唯一標志,在下載附件時需要作為參數

為了提高效率,可以使用xml.dom解析xml

xml數據示例如下圖

解析xml提取郵件信息的Python代碼如下:

5.下載附件

訪問URL:/MEWebMail/Mondo/lang/sys/Forms/MAI/GetAttachment.aspx

需要的部分關鍵參數:

?Folder,可以指定為inbox/sent/drafts/deleted/junk

?MessageID,需要發送查看郵件的請求,在返回結果中獲得。

?Filename,需要發送查看郵件的請求,在返回結果中獲得。

在保存附件上,需要區分文本格式和二進制格式。

開源代碼

完整代碼已上傳至github,地址如下:

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

代碼支持以下功能:

?GetVersion,版本判斷。

?Check,登錄驗證。

?ListFolder,查看文件夾,命令行顯示郵件數量,完整內容保存至文件。

?ViewMail,查看郵件,命令行顯示郵件信息,完整內容保存至文件。

?DownloadAttachment,下載附件。

小結

本文介紹了編寫Python腳本訪問MailEnable郵件的開發細節,開源代碼MailEnableManage.py,實現了版本判斷、登錄驗證、查看文件夾、查看郵件和下載郵件的功能.

相關資料詳細

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【技术原创】MailEnable开发指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。