這里介紹有一個域名后,不需要服務器,就可以實現 cloudfare+ gmail 的 郵箱收發。
為什么還需要 gmail 的 smtp 功能,因為 cloudfare 默認只是對 email 進行轉發,就是只能收郵件而不能發送郵件,故使用 gmail 的功能來進行代理 發送。
標準的“發信 Gmail + 收信 Cloudflare Email Routing”配置,非常適合個人域名使用【因為可以有 200 個名稱】!!!!
- 收信:Cloudflare MX 接收 + 轉發
- *發信:Gmail SMTP 發出(偽裝 .me 發件人)
為什么需要這樣配置,這樣可以不被大廠作為黑名單從而不會發不出、收不到郵件。
配置cf的域名管理
我優先選擇的是: https://ap.www.namecheap.com/ 這個域名是.me ,可以通過 github education 計劃獲得(.tech 同理)
下面是 namespace 配置 ns record 說明
tech 配置方法
Cloudflare 要求你在域名注冊商(如 Namecheap)處配置的
本質上就是一對 NS 記錄(Name Server Record),指明這個域名的 DNS 權威服務器(即誰來負責解析這個域名)。
? 那為什么 Cloudflare 要這么做?
因為 Cloudflare 是一個 全托管型 DNS 解析服務,它必須完全接管你的 DNS 解析權,才能為你提供以下服務:
功能 | 說明 |
---|---|
DDoS 防護 / WAF | 所有流量必須經過 Cloudflare 才能過濾惡意請求 |
CDN 加速 | 內容緩存、邊緣節點加速必須基于 Cloudflare 控制的入口 |
SSL/TLS 終端 | SSL 證書由 Cloudflare 提供,需要在流量進入前攔截 |
DNS 配置統一管理 | Cloudflare 會從你切換 NS 的一刻起接管所有子域解析 |
瀏覽器/用戶↓
根DNS ? 頂級域DNS ? Namecheap 指定的 NS記錄 ? Cloudflare NS↓
Cloudflare DNS 解析出 A/CNAME 等記錄↓
返回最終 IP 或 CDN 節點 IP
配置 cf 的 email
添加自己的設置【注意這里會有 cf 自動寫入 dns 的配置,如果你有 icloud+ 自定義域名的設置 請先刪除才可以,因為 email dns不可以重復】
📬 為什么 Email DNS 不可以重復設置?
? 1.MX 記錄是唯一指定收信服務器的入口
- 一個域名只能設置 一套有效的 MX 記錄。
- 如果你設置了 iCloud 的 MX 記錄,同時又設置了其他郵箱服務(如 Google Workspace),那收件服務器就會沖突,不知道該投遞給誰。
Type | Name | Content | 優先級 |
---|---|---|---|
MX | *.me | route1.mx.cloudflare.net | 66 |
MX | *.me | route2.mx.cloudflare.net | 48 |
MX | *.me | route3.mx.cloudflare.net | 5 |
- 意義:郵件系統會優先聯系優先級低的服務器(5 優先于 48、66),從高到低嘗試投遞。
- routeX.mx.cloudflare.net 是 Cloudflare 的郵件轉發中繼(你在開啟 Cloudflare Email Routing 功能時自動添加的)。
- 如果你不打算使用 Cloudflare 的郵箱轉發功能,需要刪除這些 MX 記錄,改為你想用的(比如 iCloud 的 mx01.mail.icloud.com)。
? 2.TXT/SPF 記錄不能隨意疊加
- 作用:告訴其他郵件服務「哪些服務器可以合法發送你域名的郵件」。
- SPF(TXT)記錄用于防止偽造發件人。
- 比如:v=spf1 include:icloud.com -all 和 v=spf1 include:_spf.google.com -all 是互斥的。
- 同時存在會讓驗證失敗,導致發出去的郵件進垃圾箱,甚至被退回。
? 3.DKIM、DMARC 是簽名機制的基礎,也只能設置一次
- 多個郵件提供商不能共用一套 DKIM(CNAME)簽名,因為簽名值是不同的。
- DMARC 策略也是域名級別的唯一策略。
- 作用:用于驗證郵件是否被篡改,防止郵件偽造。
- DKIM 是通過 DNS 公鑰 + 郵件頭部的簽名共同驗證的。
- cf2024-1._domainkey.*.me 是 Cloudflare 生成的 DKIM 公鑰記錄。
字段 | 含義 |
---|---|
Type | DNS 記錄的類型,比如 A、MX、CNAME、TXT、NS 等 |
Name | 域名或子域名(如 *.me 或 @ 表示主域名),指 dns 的 who |
Content | 對應記錄的值,比如 IP 地址、郵件服務器、SPF 策略等,指這個 dns 去哪里 |
TTL | 緩存生效時間(Auto 表示自動) |
Proxy Status | DNS only 或 Proxied,是否通過 Cloudflare 的加速和防護 |
郵件發送流程
? 場景設定
- 你的域名是 *.me
- 你在 Cloudflare 開啟了 Email Routing 功能
- 你設置了:將 @*.me 的郵件轉發到 yourname@qq.com
? 郵件發送流程(以別人往你name@*.me發郵件為例)
💡 1. 發送者(比如別人用 Outlook、QQ 郵箱發郵件)
- 發件服務器會通過 DNS 查詢你域名的 MX 記錄:
dig MX *.me
? 得到的是:
MX 5 route3.mx.cloudflare.net
MX 48 route2.mx.cloudflare.net
MX 66 route1.mx.cloudflare.net
? 所以郵件會優先發給 route3.mx.cloudflare.net
- Cloudflare 的郵件中繼服務器接收到郵件后,檢查你在 Cloudflare 后臺設置的郵箱轉發規則
- 發現你設置了:
name@*.me → yourname@gmail.com
- Cloudflare 就會將原始郵件完整轉發到你的 gmail.com(包括正文、附件、原始發件人等)
機制 | 解釋 |
---|---|
MX 記錄 | 告訴全世界「這個域名的郵件應該交給誰來處理」 |
Cloudflare Email Routing | 攔截這些郵件后,幫你轉發到其他真實郵箱 |
DNS 查的是 MX,不是你的真實郵箱服務商 | 所以只要 MX 是 Cloudflare 的,郵件就不會直接送到 iCloud、QQ、Gmail 等 |
配置 Gmail的 smtp 功能
在Google賬戶設置中創建一個專門用于郵件的應用專用密碼:
? 訪問https://myaccount.google.com/apppasswords
? 選擇”郵件”作為應用類型
? 選擇您的計算機作為設備
【密碼直接復制 他給你的格式,好像是有空格】
創建完 就得到了這個應用對應的信息了。
此時去 gmail 設置:
? 打開Gmail,點擊設置(齒輪圖標)→查看所有設置
? 找到”賬號和導入”選項卡
? 在”以其他地址發送郵件”部分,點擊”添加其他電子郵件地址”
? 填寫您的姓名和Cloudflare轉發的郵箱地址
? 取消勾選”作為別名處理”選項
? 點擊”下一步”
? 在SMTP服務器設置中填寫:【要修改此時的 mx 記錄】
? SMTP服務器:smtp.gmail.com
? 端口:587
? 用戶名:您的Gmail地址
? 密碼:之前創建的應用專用密碼
? 提交后,Gmail會發送一個確認碼、鏈接,在下一個屏幕中輸入
通過這個 smtp 配置完成后,gmail 會發送郵件,此時點擊就表示驗證通過。
- Gmail 只是「偽裝成你」,通過它自己的發信服務器(SMTP)代表你發出郵件。
?為什么 dig MX 看到的仍然是 Cloudflare 的?
👉 因為 MX 記錄決定的是「收郵件用哪個服務器」
你現在是讓 Cloudflare 來接收 *.me 的郵件,然后轉發給你 Gmail,所以 mx 記錄還是 cf.
?Gmail 發信時用的是哪個服務器?
👉 是 smtp.gmail.com —— 這是 Gmail 的發信服務器
你設置的 以 xxx@*.me 的身份發郵件,其實是:
- Gmail 使用自己的服務器來發
- 但 把發件人顯示為:xxx@*.me
這就是 發信偽裝(SMTP sender alias)。
?郵件發送出去時,會走回 Cloudflare 的 MX 嗎?
👉 不會!
發送郵件不走 MX,發送只走 SMTP。
MX 是“收信入口”,SMTP 是“發信出口”:
功能 | 使用的協議 | 你的配置 |
---|---|---|
收郵件 | MX → Cloudflare | ? 正確 |
發郵件 | SMTP → Gmail | ? 正確 |