返回首頁Back to Home

透過免費版 Gmail 收發自有網域 Email

設定 Cloudflare Email Routing, Resend 和 Gmail 代理

最近要把網站和客戶聯絡管道建立起來,總覺得用私人信箱看起來不太專業
我想,既然已經有自有網域,那應該可以用 Gmail 代理收發信件?

本來以為兩三下就能設定好,結果卻卡在免費版 Gmail 限制…
這要分成收信寄信兩個方向討論

收信服務: 使用 Cloudflare Email Routing

信件流程:
使用者寄信到自有網域(sample@domain.com) → CF 接收後轉送到個人 Gmail(personal@gmail.com)

這部分很簡單,設定大概五分鐘就結束了

  1. 從 CF 首頁→Domains→你的網域,點擊 Email 底下的 Email Routing
    alt text

  2. 進到 Destination Addresses 分頁,在底下加入你的接收信箱地址
    (客戶寄給你的信件最後會被送到這個地址)
    如果先前沒有對這個信箱做認證的話,Cloudflare 會寄一封信到你的信箱,請先完成認證 alt text

  3. 進到 Settings 分頁,初始狀態下不會有 DNS 紀錄,點擊 DNS records 底部的 Add records and enable 按鈕來建立 DNS 紀錄
    (我的網域已經建立過 DNS 紀錄,所以畫面中不會有按鈕)

  4. (可選)如果你想建立不同子網域的收信地址,可以在下方加入 subdomain
    例如我建立了一個專屬的收信子網域 lis.esdev.dev alt text

  5. 接著就可以把網域和接收信箱地址接起來,讓 Cloudflare 把所有進到該網域的信件都轉送到你設定的接收地址

  6. 切換到 Routing rules 分頁,點右上角的 Create routing rule
    alt text

  7. Email pattern 填入你希望公開給客戶的信箱地址,範例中使用 service@lis.esdev.dev
    第一個欄位可以自由填寫,第二個欄位則是網域,可以選主網域或第 4 步加入的子網域
    Action 選擇 Send to an email,代表將傳進來的信件轉送出去
    最後 Destination 選擇第 2 步建立的接收信箱地址→點擊 Save alt text

  8. 完成! 你現在可以嘗試寄信到第 7 步設定的 Email pattern,信件就會被轉寄到接收信箱了!

寄信服務: 透過 Resend SMTP 發送信件

信件流程:
在 Gmail 寫信 → Gmail 透過 Resend SMTP 伺服器寄出 → 信件送達

這部分就稍微麻煩一點點,雖然可以在 CF 的網域 DNS 紀錄加入 Gmail 的網域,並強制讓 Gmail SMTP 以個人網域的名義寄信
但因為 Gmail 免費版不提供建立 DKIM 金鑰的功能,所以信件會缺少認證用的簽章
如果接收方的伺服器比較嚴格,信件就會被封鎖(例如: Yahoo 信箱)

只好找其他免費的 SMTP 服務來用,我用的是 Resend
目前提供 100 封/天 和 1000 封/月 的免費額度,以客服往來信件來說已經很夠用了

  1. 註冊 Resend 帳號

  2. 初次使用好像會 DEMO 寄信功能,照著做即可,首次建立的 API Key 可以在後續步驟移除

  3. 首先要加入自有網域,點擊左側的 DomainsAdd domain
    alt text

  4. Name 欄位填入你想用來寄信的網域,Region 維持預設就好,並按下 Add domain
    範例使用與前述收信時一樣的 lis 子網域
    alt text

  5. 因為我的網域是跟 Cloudflare 租的,Resend 已經有整合工具
    按下 Auto configure,並點 Authorize 給予 Resend 一次性權限,就可以自動幫我們加入 DNS 紀錄
    這邊插入的 DNS 紀錄就包含 DKIM 公鑰,也就是通過 DKIM 認證關鍵 alt text alt text

  6. 接著 Resend 就會開始確認 DNS 及網域狀態,等到全部都變 Verfied 時就可以進行下一步
    alt text alt text

  7. 前面的步驟是讓 Resend 有代表自有網域的資格,接下來我們要讓 Gmail 能操作 Resend 的 SMTP 伺服器來寄信

  8. 點擊左邊的 API Keys,這邊可以看到一開始 DEMO 建立的 Key,如果不需要就直接刪除即可
    alt text

  9. 接著按 Create API Key 建立新的 API Key,Name 可以自行填寫
    由於我們只要 Gmail 操作 Resend 寄信,權限只要給 Sending access 即可
    最後選擇剛才建立的 Domain,按下 Add 就會生成 API Key,先複製起來,稍後需要用到
    這是用來操作 Resend SMTP 的金鑰,注意不要洩漏 alt text alt text

  10. 再來是 Gmail 的設定,進入 Gmail 頁面,並點右上角的齒輪 → 查看所有設定 alt text

  11. 帳號和匯入 頁面中,點擊 新增另一個電子郵件地址 alt text

  12. 填入 名稱電子郵件地址取消勾選 視為別名,點擊下一步
    名稱: 在對方收信時會看到的名字,可以填寫公司或部門名稱
    電子郵件地址: 填入你希望對方看到的寄件人信箱位址,注意: 這邊的網域必須和第 4 步設定的一樣
    alt text

  13. 這邊的資訊可以參考 Resend 頁面的 SettingsSMTP 或直接照圖片內容填寫
    SMTP 伺服器: smtp.resend.com
    通訊埠: 587
    使用者名稱: resend
    密碼: 填入剛才在 Resend 建立的 API Key
    alt text

  14. 點擊 新增帳戶,到這個地址的收件信箱找到認證信件,並點擊信中連結
    alt text alt text alt text

  15. 大功告成! 未來在 Gmail 寫信時可以點擊 寄件者 來切換寄送身分,以公司名義寄信了! alt text