使用電子郵件服務器在Odoo中發送和接收電子郵件?

Odoo 在線或 Odoo.sh 用戶?

由于 Odoo為數據庫設置了自己的郵件服務器 ,因此出站和入站電子郵件已經可以直接使用。因此,對于 Odoo在線Odoo.sh 客戶,無需進行任何配置!

除非需要使用外部郵件服務器發送大批量的郵件,否則只需使用標準的在線Odoo數據庫即可,因為它已經預先配置好了發送電子郵件的設置。

重要

Odoo服務器每天發送郵件的數量受到限制,以防止濫用。對于具有 企業版 訂閱的數據庫,默認限制為每天發送200封電子郵件。在特定條件下,可以增加此限制。有關更多信息,請參見 FAQ 或聯系支持。

本文檔的范圍?

本文檔主要針對Odoo本地數據庫,這些數據庫沒有現成的解決方案來發送和接收Odoo郵件,與 `Odoo Online <https://www.odoo.com/trial>`_和 `Odoo.sh <https://www.odoo.sh>`_不同。本地數據庫必須配置傳入和傳出服務器。

以下各節包含有關如何將外部電子郵件服務器與Odoo集成的信息。

警告

如果公司沒有雇用專人管理電子郵件服務器,強烈建議使用Odoo Online和Odoo.sh。在這些Odoo托管類型中,電子郵件的發送和接收可以立即工作,并由專業人員監控。然而,如果公司想要自己管理電子郵件服務器的聲譽,可以使用自己的電子郵件服務器。有關更多信息,請參見: 在Odoo中配置DNS記錄以發送電子郵件

默認通知系統?

Odoo中的文檔(如CRM機會、銷售訂單、發票等)都有一個討論串,稱為 聊天 。

當數據庫用戶在聊天中發布消息時,該消息將作為通知通過電子郵件發送給文檔的關注者(除了發送者)。如果關注者回復消息,則回復將更新聊天記錄,并且Odoo將將另一個回復作為通知轉發給關注者。從用戶或外部用戶發送回聊天記錄的消息將顯示在聊天記錄中,其電子郵件或在其“聯系人”記錄中列出的名稱。

這些通知使用默認的發件人地址發送。更多信息請參見: 使用默認電子郵件地址 。

管理出站消息?

作為系統管理員,在Odoo中進入 設置 ? 通用設置 ? 討論 ,啟用 自定義郵件服務器 選項。然后,點擊 保存 。接下來,點擊 發件郵件服務器 并點擊 創建 在Odoo中創建一個新的發件郵件服務器記錄。參考外部郵件服務器的SMTP數據。一旦所有信息都填寫完畢,點擊 測試連接 。

注解

確保發件域名在 DNS 上設置了 SPF 、 DKIMDMARC ,可以提高郵件的投遞率。更多信息請參見 在Odoo中配置DNS記錄以發送電子郵件 。

端口限制?

請注意,在Odoo Online和Odoo.sh平臺上,端口25由于安全原因被阻止。請嘗試使用端口465、587或2525。

使用默認的”發件人”電子郵件地址?

有時,電子郵件的“發件人”(出站)地址可能屬于不同的域,這可能會成為一個問題。

例如,如果一個使用電子郵件地址 mary@customer.example.com 的客戶回復了一條消息,Odoo 將嘗試將相同的電子郵件重新分發給線程中的其他訂閱者。但是,如果域 customer.example.com 禁止這種用法以保證安全性,Odoo 嘗試重新分發的電子郵件將被一些收件人的電子郵件服務器拒絕。

為避免這個問題,Odoo會使用來自同一授權域的“發件人”地址發送所有電子郵件。

激活 developer mode ,然后進入 設置 ? 技術 ? 參數 ? 系統參數 菜單,即可訪問 系統參數 。

要強制指定發送電子郵件的電子郵件地址,需要在數據庫的系統參數中設置以下鍵的組合:

  • mail.default.from : 接受本地部分或完整的電子郵件地址作為值

  • mail.default.from_filter : 接受域名或完整的電子郵件地址作為值

注解

The mail.default.from_filter 僅適用于 odoo-bin 配置或默認的 Odoo 郵件服務器,否則可以使用 ir.mail_server 上的 from_filter 字段設置此參數。

該字段可以是域名或完整的電子郵件地址,也可以為空。如果發件人的電子郵件地址不符合此設置的過濾器,則將使用兩個系統參數 mail.default.frommail.catchall.domain 的組合來封裝電子郵件。

Example

在下面的例子中,發件人的電子郵件地址被替換為兩個系統參數( mail.default.frommail.catchall.domain )的組合。這是Odoo中默認的通知配置: “Admin” <admin@example.com> => “Admin” <notifications@mycompany.com> 。

換句話說,如果作者的電子郵件地址與 mail.default.from_filter 不匹配,則該電子郵件地址將被 替換為 mail.default.from (如果它包含完整的電子郵件地址)或 mail.default.frommail.catchall.domain 的組合。

如果 from_filter 包含完整的電子郵件地址,并且 mail.default.from 與此地址相同,則所有與 mail.default.from 不同的電子郵件地址將被封裝在 mail.default.from 中。

在發件郵件服務器上使用“發件人”過濾器?

FROM Filtering 字段允許根據Odoo代表發送的 From 電子郵件地址或域使用特定的出站電子郵件服務器。此設置可用于提高從數據庫發送的電子郵件的可傳遞性或發送成功率。設置 FROM Filtering 字段還可用于在多公司環境中從不同的域發送。在Odoo中訪問此字段,請導航到 設置 ? 討論 ? 自定義郵件服務器 ? 出站郵件服務器 ? 新建 。

傳出電子郵件服務器設置和發件人篩選器設置。

當在Odoo中發送郵件時,如果設置了 FROM Filtering 字段,將按照以下順序選擇郵件服務器:

  1. 首先,Odoo會搜索具有與發件人電子郵件地址( From )相同的 FROM Filtering 值的電子郵件服務器。例如,如果 From 值(電子郵件地址)為 test@example.com ,則只返回具有 FROM Filtering 值等于 test@example.com 的電子郵件服務器。

  2. 然而,如果沒有找到使用 From 值的電子郵件服務器,那么Odoo會搜索一個與發送電子郵件中定義的 From 值(電子郵件地址)具有相同 域名 的電子郵件服務器。例如,如果 From 電子郵件地址是 test@example.com ,則只返回具有 FROM Filtering 值等于 example.com 的電子郵件服務器。

如果在檢查域名后未找到任何電子郵件服務器,則Odoo將返回所有未設置任何 FROM Filtering 值的電子郵件服務器。

如果此查詢沒有返回結果,則Odoo將使用系統參數 mail.default.from 搜索電子郵件服務器。首先,嘗試將列出的電子郵件地址與電子郵件服務器匹配,然后嘗試將域名與電子郵件服務器匹配。如果沒有找到電子郵件服務器,則Odoo將返回第一個(按優先級排序的)外發電子郵件服務器。

注解

如果找到多個電子郵件服務器,則Odoo根據其優先級使用第一個。例如,如果有兩個電子郵件服務器,一個優先級為“10”,另一個優先級為“20”,則首先使用優先級為“10”的電子郵件服務器。

為交易和群發郵件設置不同的專用服務器?

在Odoo中,可以使用單獨的電子郵件服務器來處理交易郵件和群發郵件。例如:使用Postmark或SendinBlue處理交易郵件,使用Amazon SES、Mailgun、Sendgrid或 Mailjet 處理群發郵件。

重要

已經配置了默認的發件人郵件服務器。除非出于技術原因需要特定的外部發件人郵件服務器,否則不要創建替代郵件服務器。

首先,激活 開發者模式 ,然后進入 設置 ? 技術 ? 發件 郵件服務器。在那里,創建兩個發件郵件服務器設置;一個用于交易郵件,另一個用于群發郵件服務器。確保通過為交易郵件服務器提供較低的優先級號碼,將優先權賦予交易服務器而不是群發郵件服務器。

現在,進入 郵件營銷 ? 設置 ,啟用 專用服務器 ,選擇適當的郵件服務器。使用這些設置,Odoo將使用優先級較低的服務器發送交易郵件,使用此處選擇的服務器發送群發郵件。請注意,在這種情況下,域的發件人策略框架(SPF)記錄必須設置為包括交易和群發郵件服務器。

管理入站郵件?

Odoo依賴于通用的電子郵件別名來獲取傳入的郵件。

  • 回復消息 從Odoo發送的消息將通過模型的別名(如果有)或者通過通用別名( catchall@ )路由到其原始討論線程(以及其所有關注者的收件箱)。對于沒有自定義別名的模型的消息的回復將使用通用別名( catchall@mycompany.odoo.com )。然而,通用地址沒有附加到其他別名可能具有的其他操作,它僅用于收集回復。

  • 退回的郵件 用作 Return-Path。一個特別有用的例子是在 Odoo 郵件營銷 中。在這種情況下,如果郵件在過去一個月內退回了太多次(5次),并且這些退回是在一周內分開的,那么退回將被視為無效并被列入黑名單,以避免因郵件服務器錯誤而將某人列入黑名單。在 Email Marketing Configuration Menu 下的聯系人中添加了一個日志注釋,標記為 Blacklisted Email Addresses 。

    在聊天中反彈的消息(在電子郵件營銷之外)將填充一個紅色信封,指示傳遞失敗。這對于知道銷售訂單或發票未到達最終目的地很有幫助。

  • 原始消息 :幾個業務對象都有自己的別名,用于從傳入的電子郵件中創建Odoo中的新記錄:

    • 銷售渠道(在 Odoo CRM 中創建 潛在客戶商機

    • 支持渠道(在 Odoo Helpdesk 中創建 工單

    • 項目(在 Odoo 項目 中創建新的 任務

    • 職位(用于在 Odoo 招聘 中創建 應聘者

根據郵件服務器的不同,可能有多種方法來獲取電子郵件。最簡單和最推薦的方法是在郵件服務器中為每個Odoo別名管理一個電子郵件地址。

  • 在郵件服務器中創建相應的電子郵件地址( catchall@ , bounce@ , sales@ 等)。

  • 設置 ? 通用設置 ? 討論 中設置 別名域名 。更改 別名域名 將更改數據庫的全局郵箱。

  • 如果數據庫的托管類型是Odoo on-premise,請為每個別名在Odoo中創建一個 Incoming Mail Server 。要創建新的傳入服務器,請轉到: 設置 ? 討論 ? 自定義郵件服務器 ? 傳入郵件服務器 ? 新建 根據電子郵件提供商的設置填寫表單。將 Actions to Perform on Incoming Mails 字段留空。一旦填寫了所有信息,請單擊 TEST & CONFIRM 。

    Odoo中的傳入郵件服務器配置。
  • 如果數據庫的托管類型是Odoo Online或Odoo.sh,則建議將傳入的郵件重定向或轉發到Odoo的域名,而不是外部電子郵件服務器。這樣,傳入的郵件可以立即接收。在電子郵件服務器中,應將所有電子郵件地址的重定向設置為Odoo的域名(例如,將 catchall@mydomain.ext 設置為 catchall@mycompany.odoo.com )。

在Odoo中,所有別名都可以自定義。對象別名可以通過導航到 設置 ? 技術菜單 ? 郵件 ? 別名 ,從它們各自的配置視圖進行編輯。

要編輯catchall和bounce別名,請先激活 開發者模式 。然后,轉到 設置 ? 技術 ? 參數 ? 系統參數 以自定義別名( mail.catchall.aliasmail.bounce.alias )。這些更改應在數據庫上線之前完成。如果客戶在更改后回復,則系統將無法識別舊別名,回復將無法接收。

默認情況下,對于本地數據庫,入站消息每5分鐘獲取一次。

注解

該值可以在 開發者模式 下進行更改。前往 設置 ? 技術 ? 自動化 ? 計劃操作 ,并查找 郵件:Fetchmail 服務 。