公司使用的是extmail +postfix+….開源郵件系統,已經有幾個年頭了,近期需要更改公司電子郵件的域名如user01@testgroup.com更改
公司使用的是extmail +postfix+….開源郵件系統,已經有幾個年頭了,近期需要更改公司電子郵件的域名如user01@testgroup.com更改為user01@test.com以顯示公司形象。
如果你的郵件用戶只有十幾個,那就直接新建一新域,將舊用戶相關數據導入到新域,
再做新舊郵箱數據同步,修改用戶客戶端設置就可以了。開初我是這樣做的,但現在由于有上千個郵箱,用戶眾多地域分散。為了避免大動干戈去修改每臺電腦客戶端的郵箱配置設定,需要改善這個郵件域名遷移方案。
我想到的方法是客戶端用戶配置不動,在郵件發送出去的時候修改郵件路由與header頭地址信息,像郵件地址改寫一樣。
方案一、如果公司只對外發的郵件使用新的域名,而公司內部員工之間收發的郵件域名不變。那么可以如下實現。
可以在郵件網關將外發的郵件地址修改掉,postfix 有提供一個出俴郵件地址改寫參數,類似于sendmail的郵件地址偽裝一樣,它只作用outgoing SMTP mail郵件,對local mail不會改寫。我們只需在Mail Gateway配置如下:
- Vim main.cf
- smtp_generic_maps = hash:/etc/postfix/my_generic_maps
- vim my_generic_maps
- @testgroup.com @test.com
- postmap /etc/postfix/my_generic_maps
- Service postfix reload
這樣只要經過郵件網關發送出去的郵件,只要是@testgroup.com域后綴的地址,無論是sender與rerecipient地址都會被改寫為test.com域。對方就只會收到與顯示新域名的郵件地址了,內部郵件用戶則不會受影響。
至此還沒完,當對方回復郵件時則是回到我們新域名的地址,如何將郵件收下呢,那么我將需要用到域別名,設置@test.com為@testgroup.com的域別名,這樣外面客戶發到user01@test.com 域的郵件就會發送user01@testgroup.com上了,設置如下:
我用的是Extman后臺,那么可以如下設置
先在Extman 后臺添加一個虛擬域test.com,再選擇“Add Alias”,輸入@,并在后面選擇test.com在下面的別名框中輸入@testgroup.com,點擊“Save Change”即可。
方案二、如果公司對外發的郵件與內部員工之間收發的郵件域都使用新的域名地址,那么可以如下實現。
可以使用postfix 的規范地址改寫,canonical_maps改寫掉用戶發送出去的郵件地址(包括郵件網關發出去的郵件與內部域郵件),
設置如下
- Vim main.cf
- local_header_rewrite_clients = static:all
- canonical_maps = hash:/etc/postfix/canonical
- Vim canonical
- @testmail.com @test.com
- postfix /etc/postfix/canonical
- service postfix reload
2、如方案一一樣設置域別名。
微信掃碼關注 億華聯眾 公眾號