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.

留言

這個網誌中的熱門文章

ISC2 CC (Certified in Cybersecurity Certification) 考試心得

Salesforce證照考試心得 (Administrator and Advanced Administrator)