[AX2012]发送广播邮件
生活随笔
收集整理的這篇文章主要介紹了
[AX2012]发送广播邮件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
AX 2012可以使用MAPI或者SMTP發(fā)送郵件,MAPI是客戶端方法,需要outlook的協(xié)作,而SMTP則是服務器端方法,要求SMTP允許AOS服務器通過它中繼。這里要講的就是如何通過SMTP發(fā)送郵件廣播。
- 設置SMTP郵件服務器:轉(zhuǎn)到?System administration>Setup>System>E-mail parameters,outgoing mail server 填寫SMTP服務器名稱或者IP,local computer name可以留空,勾選NTLM不要求輸入用戶密碼,如果是在sever tier上運行就使用AOS服務的賬號,如果是在客戶端則使用客戶端用戶的賬號。
- 配置EMAIL模板:轉(zhuǎn)到?Organization administration>Setup>E-mail templates,勾選form上的show system e-mail復選框,只有系統(tǒng)郵件才能用于郵件廣播。創(chuàng)建一個新的郵件模板,可以為郵件模板創(chuàng)建多個語言版本,郵件的具體內(nèi)容可以使用HTML或者XSLT兩種格式之一,兩者內(nèi)聯(lián)變量的格式不同。比如使用HTML,HTML code是這樣:?
這里%username%會自動替換為AX用戶名稱。email template有個batch group選項,選擇一個batch group可以將郵件通過batch job來發(fā)送,在發(fā)送大量郵件時有助于改善性能。
- 發(fā)送廣播郵件:轉(zhuǎn)到System administration>Periodic>E-mail processing>E-mail broadcast,選擇一個email模板,receiver可以選擇所有用戶或者在線用戶,點擊OK后如果不是使用batch(email temlate的batch group留空不等于使用empty batch group,而確實是不使用batch group),郵件會發(fā)送給相應用戶的郵件地址,用戶的郵件地址是在用戶的options里面設定的。如果使用batch發(fā)送郵件,AX將為每個郵件創(chuàng)建一個batch job,運行SysEmailBatch,由它將郵件發(fā)送出去。表面上比較簡單,而實際上是系統(tǒng)針對每個用戶調(diào)用SysEmailSystemTable::sendMail(),SysEmailSystemTable::sendMail有個參數(shù)_isTraceable,默認為false,表示直接調(diào)用SysEmailBatch來完成發(fā)送;如果_isTraceable為true,那么郵件會被添加到表SysOutgoingEmailTable等候發(fā)送。SysEmailBatch會檢查郵件模板的batch group,如果有設置則把自己添加到batch jobs隊列,否則直接運行run()方法發(fā)送郵件。有意思的是SysEmailBatch.run()也會檢查它的一個類變量isTraceAble,和上面一樣,如果為true,郵件會被再一次試圖放到表SysOutgoingEmailTable等候發(fā)送。看到的情況是類變量isTraceAble被初始化為false,所以SysEmailBatch.run()直接調(diào)用SysMailerNet.sendMail()最終發(fā)送郵件出去。?那些在SysOutgoingEmailTable表中的郵件我們可以在System administration>Periodic>E-mail processing>E-mail sending status查看,這些郵件又是如何發(fā)送出去的呢?這時候我們需要使用System administration>Periodic>E-mail processing>Batch創(chuàng)建一個發(fā)送郵件的batch job,由它定期調(diào)用SysEmailDistributor來派發(fā)郵件,SysEmailDistributor直接使用SysMailerNet將郵件依次派發(fā)。
如果發(fā)生廣播郵件時我們選擇對在線用戶發(fā)送,系統(tǒng)會對每一個用戶session安排一封郵件,如果一個用戶有很多session(非常常見,管理員可能更多),它將收到N多重復的郵件,讓人不得不吐槽。
?
轉(zhuǎn)載于:https://www.cnblogs.com/duanshuiliu/p/4261503.html
總結
以上是生活随笔為你收集整理的[AX2012]发送广播邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP将json或对象转成数组
- 下一篇: pdns 错误解决[备忘]