Dovecot這個東西就是個存郵件的,不具體解釋了。然後這個管理指令doveadm官方提供一些API接口
Doveadm HTTP API自v2.2.22起可用。在v2.2.22中被認為是實驗性的。從2.2.23開始可以被認為是穩定的。它使您可以通過HTTP傳輸執行doveadm指令。
是以,使用就得看下dovecot的版本。我們生産上老版本是無法使用API的。在我安裝配置的新版的dovecot上已經可以支援API接口了
要啟用API
(1)你需要在配置檔案裡給他啟用
/home/mail/dovecot/etc/dovecot.conf
service doveadm {
inet_listener http {
port = 8080 #端口可以随你改
#ssl = yes # uncomment to enable https
}
}
要啟用SSL,請確定全局設定中要求ssl = yes或ssl = required,然後在偵聽器中設定ssl = yes。
(2)為了能夠使用doveadm http api,必須配置doveadm的密碼或api鍵
要在/etc/dovecot/dovecot.conf中配置doveadm服務的密碼:
doveadm_password = secretpassword
或者,如果首選對doveadm http api使用單獨的密鑰,則可以通過在config中定義密鑰來啟用它
doveadm_api_key = key
配置完成 doveadm reload就可以了
如何使用
基本的身份認證方法
curl -H "Authorization: Basic <base64 doveadm:doveadm_password>" http://host:port/doveadm/v1
curl –u doveadm:password http://host:port/doveadm/v1
舉例
這等效于指令。doveadm reload
成功回應:
[
[
"doveadmResponse",
[],
"tag1"
]
]
這裡需要注意的是,認證的key,需要進行base64編碼才行
發送給API的所有指令都需要以json格式釋出,使用請求類型的标頭和json内容作為有效載荷,格式為:Content-Type: application/json
目前,最安全的做法是不要在一個json負載中發送多個指令,因為某些指令可能會在某些錯誤情況下殺死伺服器,并使您無任何響應。另外,不能保證指令将按順序處理。
所有指令區分大小寫
這個都是POST請求過去的。代碼裡應該可以按照POST請求接口了
直接把官方位址給出,百度出來的破玩意品質不行。還是找官方吧
https://wiki.dovecot.org/Design/DoveadmProtocol/HTTP
https://doc.dovecot.org/admin_manual/doveadm_http_api/