Flowable發(fā)郵件,近期研究了一下flowable發(fā)郵件的功能,在這里分享一下flowable郵件任務的功能。本文重點分析一下內(nèi)容:
1.文檔中定義如何發(fā)郵件,包括郵件的內(nèi)容,收件人、主題,抄送等。
2.流程引擎配置類中定義發(fā)件人的信息。
3.測試郵件是否可以發(fā)送。
1.定義流程文檔
首先,我們定義一個可以發(fā)郵件的文檔,文檔圖如下所示:
我們重點看一下郵件服務任務的配置,注意郵件任務本質(zhì)上也是一個serviceTask,上圖中的郵件任務詳細配置如下圖所示:
這些配置的屬性最終在xml文檔的表示如下所示:
2.郵件服務配置信息
屬性是否必須描述
to是郵件的接受者。可以使用逗號分隔多個接受者
from否郵件發(fā)送者的地址。如果不提供,會使用默認配置的地址。
subject否郵件的主題
cc否郵件抄送人。可以使用逗號分隔多個接收者
bcc否郵件暗送人。可以使用逗號分隔多個接收者
charset否可以修改郵件的字符集,對很多非英語語言是必須設置的。
html否作為郵件內(nèi)容的HTML。
text否郵件的內(nèi)容,在需要使用原始文字(非富文本)的郵件時使用。 可以與html一起使用,對于不支持富客戶端的郵件客戶端。 客戶端會降級到僅顯示文本的方式。
3.流程文檔的配置
上面,我們繪制了文檔并定義了收件人的一些信息,但是這個郵件是誰發(fā)的呢?換言之發(fā)件人是誰?這些信息我們需要進行配置,具體配置信息如下:
class="org.flowable.engine.impl.cfg.StandaloneProcessEngineConfiguration">
mailServerHost:發(fā)郵件的主機地址。
mailServerPort:發(fā)郵件的主機暴露的端口。
mailServerDefaultFrom:默認的發(fā)件人。
mailServerUsername:發(fā)件人的郵箱用戶名。
mailServerPassword:POP3/SMTP服務的授權(quán)碼(注意一點,這里并不是郵箱的密碼)。
4.部署上述文檔并進行測試
其中啟動流程實例的相關(guān)代碼如下所示:
@Test
public void start1() {
Authentication.setAuthenticatedUserId("分享牛");
runtimeService.startProcessInstanceByKey("myProcess");
}
不出意外的話,發(fā)送的郵件截圖信息如下:
至此,郵件任務使用以及測試通過。