咧,DR 終於寫到一篇跟 Linux Server 有關的文章了(目前絕大多數都還是偏向桌面應用的部份),而今天談的是如何在
Postfix 郵件伺服器軟體中利用 Google 的
Gmail
進行郵件轉寄。這樣做有什麼好處呢?通常,使用動態 IP 的郵件伺服器都必須設定由其網路的提供者:也就是由 ISP
來代為寄送郵件,如此才能寄出合法且有效的信件,對方也才肯收而不是被擋掉。不過 Gmail 提供了另一種方案,只要擁有 Gmail
的帳號就可以在郵件伺服器中設定由 Gmail 代為寄送郵件,免費且有效!如果在一些使用 ISP 轉寄也無法有效寄出的情況下,使用 Gmail
轉寄是一個值得考慮的方案。
在繼續瀏覽本文之前,建議先參閱
鳥哥的郵件伺服器架設文件,先對基本概念以及 Postfix 設定方式有些瞭解。另外請確認所使用的 Postfix 支援
SSL/TLS,由於 Fedora 內附的 Postfix 已經支援 SSL/TLS,所以不需要在這方面做特別處理。
1. 申請 Gmail 帳號這理所當然是第一個程序,還沒有的話趕緊去申請一個吧,已經有了帳號就繼續下一個步驟。
2. 建立 SSL 憑證為了方便管理,可以建立一個目錄來方便放置憑證,以 DR 為例:
# mkdir /etc/postfix/gmail# cd /etc/postfix/gmail然後使用以下指令建立憑證:
# openssl genrsa -out gmail.key 1024# openssl req -new -key gmail.key -x509 -out gmail.crt執行第二個指令時會要求填入資料(國家、地區、組織、信箱位址等),按著說明填入即可,這不會影響寄信功能。
3. 建立 Gmail 的密碼認證檔案# vi /etc/postfix/sasl_passwd然後寫入以下內容:
gmail-smtp.l.google.com username@gmail.com:passwordsmtp.gmail.com username@gmail.com:password上頭的
username 和
password 就是要添入 Gmail 的帳號以及密碼,編輯完並儲存後,再執行下個指令去建立資料庫檔案:
# postmap hash:/etc/postfix/sasl_passwd另外,由於該檔案裡頭存放了相當重要的帳號密碼資訊,DR 建議修改其存取權限,讓一般使用者無法瀏覽:
# chmod 600 /etc/postfix/sasl_passwd
# chmod 600 /etc/postfix/sasl_passwd.db
4. 設定 Postfix # vi /etc/postfix/main.cf寫入以下內容:
relayhost=[smtp.gmail.com]:587smtp_sasl_auth_enable=yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_use_tls = yessmtp_sasl_security_options = noanonymoussmtp_sasl_tls_security_options = noanonymoussmtp_tks_note_starttls_offer = yestls_random_source = dev:/dev/urandomsmtp_tls_scert_verifydepth = 5smtp_tls_key_file=/etc/postfix/gmail/gmail.keysmtp_tls_cert_file=/etc/postfix/gmail/gmail.crtsmtpd_tls_ask_ccert = yessmtpd_tls_req_ccert =nosmtp_tls_enforce_peername = no儲存後重新啟動 Postfix:
# /etc/rc.d/init.d/postfix restart最後,寄封測試信然後檢查一下
maillog,並且確認目標郵箱是否成功收到,如此便大功告成了。