Messaging.sendEmail not sending emails for non-admin profile in sandbox / 測試寄信,一直寄不出去,而且還沒有 error messsage!
總在自以為很嫺熟相關設定的時候,就會不小心又踩到一個坑。
這次是Messaging.sendEmail,怎麼也 send 不出去。
## 症狀
我寫了一個 Apex Trigger on Knowledge__kav,讓 user 在 create new knowledge 的時候,會自動觸發通知信給相關人士。
我剛在 sandbox 做好的時候,自己測起來相當很正常、都有收到信,於是就聲稱說我把這個功能完成了。
結果別人怎麼都測不出來。
後來發現,好像只有 System Administrator 才能觸發寄送 Email 的動作。
我設了 Debug Log 也沒看到任何 error。
而non-admin 與 admin 所產生的 log,幾乎可說是一模一樣。
看不出到底寄信的動作在哪裡卡住了。
## 原因 Root Cause
在 Sandbox,如果某個 user 的 Email 是 Invalid 的,那麼這個 user 就沒辦法觸發寄信動作。
包含 Workflow, Process, Flows or Triggers,通通都無法觸發。
這是 Summer Release 19' 上路的新制。望周知。
## 參考資料
Messaging.sendEmail not sending emails for non-admin profile in sandbox
Email addresses in sandbox appended with '.invalid' after refresh
Please note as of Summer Release 19', Users must have a verified email address and .invalid removed from the email address in order to send email alerts via Workflow, Process, Flows or Triggers.
留言
張貼留言