之前為了防止各個服務商沒事兒洩漏我 E-mail 地址,我每次註冊服務時填寫的註冊郵箱地址都是 provider-name@xswan.net 這種形式的,本來這樣沒什麼問題,但是 … 要回覆的時候問題就來了。
首先我們把這個郵箱添加到 Send mail as 裡去,然後 … 嗯發郵件的時候,就會出現這樣討厭的提示了:
在 Google Apps 的後臺找了半天也沒發現能重寫 Envelope-From 這個頭的地方,那就搭建一個 Exim4 好啦~
這裡我使用的是 DigitalOcean 的 VPS 來搭建 Exim4,主要原因是:
- 可以設置 PTR,郵件服務器不做反向解析的話到達率可是很低的喲
- 性價比高,5 USD 還 SSD 你到哪兒找去(LowEndBox 什麼的地方除外)
操作系統我使用的是 Debian 7 x64,安裝步驟如下:
1. 安裝 Exim41
2
3apt-get update
apt-get -y upgrade
apt-get -y install mailutils exim4-daemon-light
2. 配置 Exim4
把以下內容覆蓋到 /etc/exim4/update-exim4.conf.conf
然後運行 dpkg-reconfigure exim4
一路 Next 即可:1
2
3
4
5
6
7
8
9
10
11
12
13dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='true'
dc_relay_nets='216.239.32.0/19;64.233.160.0/19;66.249.80.0/20;72.14.192.0/18;209.85.128.0/17;66.102.0.0/20;74.125.0.0/16;64.18.0.0/20;207.126.144.0/20;173.194.0.0/16'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
上面的 dc_relay_nets 裡是 Google 的 IP 段,獲取方法在 這裡。
3. 配置 Exim4 重寫規則
將以下內容寫入 /etc/exim4/conf.d/rewrite/32\_exim4-rewrite-envelope-from
:1
a@loli.vg $h_from F
a@loli.vg
是我的郵箱地址,實際操作中請按換成自己的嗯。。
修改完成後重啟 exim4:1
invoke-rc.d exim4 restart
4. 安全加固
其實就是用 iptables 把來自非 Google 的 IP 屏蔽掉而已,雖然第二步的 dc_relay_nets 已經處理了,但是我覺得拒絕投遞的日誌出現也很煩,那就在 iptables 裡再屏蔽一次好了 :-)1
2
3
4
5
6
7
8
9
10
11
12iptables -A INPUT -s 216.239.32.0/19 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 64.233.160.0/19 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 66.249.80.0/20 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 72.14.192.0/18 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 209.85.128.0/17 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 66.249.80.0/20 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 66.102.0.0/20 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 74.125.0.0/16 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 66.249.80.0/20 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 207.126.144.0/20 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 173.194.0.0/16 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j DROP
5. 修改域名 A 記錄和 SPF 記錄
首先添加一條 _spf.moease.org,記錄類型為 SPF(沒有 SPF 的選 TXT):"v=spf1 a:mx1.moease.org ip4:198.211.101.101 ?all"
這裡的 mx1.moease.org 就是我運行 Exim4 的機器的 Hostname,198.211.101.101 是它的 IP 地址。
然後將 moease.org 的 SPF 記錄修改為:"v=spf1 include:_spf.moease.org include:_spf.google.com -all"
關於 SPF 記錄的更多知識可以在小允的 Blog 裡找到,這裡就不再敘述了。
6. 修改 Google Apps 郵件發送設置
打開 Google Apps 控制面板,依次打開:
Google Apps > Gmail > Advanced Settings
在打開的頁面裡找到 Outbound gateway,填上郵件服務器的地址保存即可,我這裡填寫的是 mx1.moease.org
。
(沒有的請先升級到付費版本)
好啦,完結撒花~