2009年4月13日 星期一

[引用]How-To : Postfix 使用 Gmail SMTP 轉寄

來源:http://darkranger.no-ip.org/document/linux/gmail_smtp.htm

今天談的是如何在 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:password
smtp.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]:587

smtp_sasl_auth_enable=yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tks_note_starttls_offer = yes
tls_random_source = dev:/dev/urandom
smtp_tls_scert_verifydepth = 5
smtp_tls_key_file=/etc/postfix/gmail/gmail.key
smtp_tls_cert_file=/etc/postfix/gmail/gmail.crt
smtpd_tls_ask_ccert = yes
smtpd_tls_req_ccert =no
smtp_tls_enforce_peername = no

儲存後重新啟動 Postfix:

# /etc/rc.d/init.d/postfix restart

最後,寄封測試信然後檢查一下 maillog,並且確認目標郵箱是否成功收到,如此便大功告成了。



參考網站:

http://linux.vbird.org/linux_server/0380mail.php

http://imamba.com/werd/?page_id=102

【下列文章您可能也有興趣】

1 則留言:

liao1979 提到...

謝謝版主提供這麼優的資訊,小弟這裡有一篇如果是用Windows主機時,能夠跟版主一樣使用gmail ssl外部轉寄的資訊要提供給網友們參考

使用SMTP外寄