 |
 |
i553041
0092967
頭銜: Moderator

暱稱: 電腦新手

帖子: 3642

精華:
0

積分: 38754 點

現金: 425 元

存款: 0 元

閱讀權限: 100

註冊: 2007-12-16

來自: 樂富

狀態: 離線

|
|
 |
|
 |
|
|
|
回覆 #5 under1 的帖子
你話要自己Set,咁你就要留心看了,我没有動過你台Linux的sendmail設定.
你台Linux已經裝左sendmail,點裝就唔講了,就算要另外裝,都係離唔開yum install...
另外,我check過你台server係1GB ram,(打free指令就睇到!),我就建議你加多1GB Ram!
以下步驟要逐步逐步來,別亂跳!
sendmail的設定檔位於/etc/mail/名稱係sendmail.cf
/etc/mail/sendmail.cf <---這個設定檔非常複雜,你可以用vi開黎睇下,要設定呢個設定檔難度極高!
但唔需要擔心,有一個叫m4的指令簡化了設定sendmail.cf的難度,大約就是用m4設定檔SET一些簡單的參數,然後再由m4指令「gen」一個sendmail.cf出來!你台Linux都有m4了,就算没有,又係yum install吧!
m4的設定檔位於:
/etc/mail/sendmail.mc
(看清楚,一個叫sendmail.cf,一個叫sendmail.mc,有分別的!)
使用DNSBL:
http://www.dnsbl.info/
顧名思義,就是DNS Black List,亂發垃圾信的IP黑名單資料庫,你可在sendmail加上dnsbl,若有由從dnsbl黑名單的IP寄信給你,你台Mail Server會過慮掉呢o的從黑名單IP所寄出的郵件!
只要於sendmail.mc設定檔內,搵下你會見到有一堆「FEATURE」開頭的句子,再加上以下一句便可:
FEATURE(`dnsbl',`sbl-xbl.spamhaus.org')dnl
繼續修改sendmail.mc,如要使用smtp server,必需輸入正確的使用者名稱及密碼才能發信,這樣對Mail Server更為安全,類似圖中所示:

設定方法:
於sendmail.mc找找:
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
將前面的「dnl」拿走,(後面的dnl無需理會,dnl解作Do Not Load)改成這樣(句子前面不要留空格):
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
再找以下句子:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
將之改為:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
先將原本的sendmail.cf設定檔備份:
cd /etc/mail
mv /etc/sendmail.cf /etc/sendmail.cf.bak
再用m4指令gen出sendmail.cf設定檔
m4 sendmail.mc > sendmail.cf
重有一個好重要的設定檔:
/etc/mail/local-host-names
假設你有兩個hostname,
yin.hello.com
i553041.hello.com
如果你想呢兩個hostname都收到及寄到e-mail的話,你就要於/etc/mail/local-host-names
加上:
yin.hello.com
i553041.hello.com
(一個hostname一行!)
還有這個資料庫/etc/mail/access.db
是用來執行Mail Server的權限之用,(例如甚麼主機/IP/E-mail可以或不可以使用本Mail Server!)
設定檔於/etc/mail/access,試下參照格式自己Set:
有Relay/Reject/Discard三項
RELAY <--允許郵件進行Relay
REJECT <--拒絕處理該郵件,並發出錯誤或警告訊息給發信者
DISCARD <---同上,但該郵件會被丢棄,不會發送錯誤或警告訊息給發信者
例子,假設你將我個IP咁set:
61.93.165.54 DISCARD
咁我o係屋企就用唔到你個Mail Server了!再舉例:
yin@hello.com REJECT
若從這個E-mail寄來的信都會被拒絶及打回頭
to:hello@mywebsite.com REJECT
只要偵測到郵件係寄去hello@mywebsite.com都會拒絕並打回頭
Set好/etc/mail/access要做makemap才可轉為sendmail的access資料庫(access.db):
輸入以下指令:
makemap hash /etc/mail/access < /etc/mail/access
如果要用pop3,要再安裝套件(dovecot):
yum install dovecot (我已安裝了,其他你自己Set!)
先備份設定檔
cd /etc
cp /etc/dovecot.conf /etc/dovecot.conf.bak
編輯:
/etc/dovecot.conf
將
#protocols = imap imaps pop3 pop3s
視乎需要修改,例如你台Mail Server只做pop3同imap就改為:
protocols = imap pop3
如果你台Mail Server只做pop3s imaps,就改成:
protocols = imaps pop3s
如此類推...s即加密(SSL),所以pop3s即pop3 SSL
若你唔改上述設定,咁啟動dovecot時,會4樣服務都同你執行晒(pop3,pop3s,imap,imaps),除非你4樣都會用,
否則咁樣就好浪費系統資源了!
如果你不使用SSL的話,你需要再改呢一行:
由:
#ssl_disable = no
改為
ssl_disable = yes
啟動dovecot及sendmail
/etc/rc.d/init.d/dovecot start
/etc/rc.d/init.d/sendmail start
開機啟動dovecot及sendmail
chkconfig dovecot on
chkconfig sendmail on
原來一日都講得晒...差唔多講完了!
(我只係幫你裝左套件,其他設定我一隻字都無郁過,你自己試下set吧!)
跟住o係你隻Router做port forward,將smtp的port 25同pop3的port 110 Map返去你台Linux!同埋要於Linux個Firewall開放Port 25同110,亦要於你DNS的Zone File加返一個MX record(我見你都有o係Zone File set返MX record,我提一提!)
最後,就係睇下香港寛頻係咪真係block左家用寬頻的smtp同pop3 traffic了,唔好o係台Linux度試,最好叫朋友試(不過你要將你朋友個IP先加進/etc/mail/access中,比佢做RELAY)...開始-->執行-->cmd
telnet 61.244.165.75 25
見到類似的畫面,(總之入到去,唔係話連唔到的話!),咁就即係可以用smtp了!
我telnet 香港寛頻個smtp為例子(原來HKBN都係用sendmail):

測試pop3都係差唔多:
telnet 61.244.165.75 110
如果入到一個有字o既畫面,即係用到pop3了,否則connect唔到,香港寬頻就係block埋110了!
[ 本帖最後由 i553041 於 2008-8-23 00:05 編輯 ]
| |