關鍵字:Dolibarr 通知郵件失敗、升級 v20、電子郵件發送錯誤、From 欄位空白、ERP 升級問題
問題描述
近期將 Dolibarr 由 v19 升級到 v20 後,遇到一個常見問題:
「休假申請等通知郵件完全無法發送,錯誤訊息顯示寄件人位址(Sender address)無效。」
經檢查郵件伺服器、SMTP 設定等都無誤,每個用戶的 email 欄位也都有填寫。檢查系統 LOG,持續出現如下錯誤訊息:
Failed to send mail with smtps lib to HOST=郵件主機, PORT=587 - Sender address '' invalid
問題根源
這個問題其實是 Dolibarr v19 → v20 升級 後,
「電子郵件通知模組」中的 寄件人電子郵件(From) 欄位被重設或清空,
導致所有通知信件發送時,SMTP 伺服器因寄件人資訊為空而拒絕發信。
解決方法
- 進入 Dolibarr 管理後台
- 打開 電子郵件通知模組設定(可由「首頁 > 設定 > 模組/應用程式 > 商務活動通知 > 電子郵件通知模組設定」進入)
- 找到 通知模組中的寄件人電子郵件(From) 欄位
發現它為空白或遺失
- 填入有效的寄件人信箱(如:
system@example.com
)
- 儲存設定並重新測試,所有通知信件即恢復正常發送
實際錯誤訊息範例
CMailFile::sendfile: mail end error=Failed to send mail with smtps lib to HOST=郵件主機, PORT=587 - Sender address '' invalid
補充說明
- 此問題為升級行為造成設定遺失,與 SMTP 本身無關
- 填入「寄件人」信箱時,建議用系統專用信箱、避免 Gmail 等第三方信箱(易被當作垃圾郵件)
- 解決後也可順便檢查 SPF / DKIM 記錄,確保未來信件不會被誤判為垃圾信
結論
遇到 Dolibarr 升級到 v20 後通知信寄不出去,多半是因為「通知模組寄件人」被清空。只要重新填入正確信箱,就能解決大多數自動郵件發送失敗問題!