Sendmail相關設定
朱國光
限制收某網域的信
/etc/mail/access
用法:
Address(E-mail, IP, Domain Name) Action(OK 比reject優先性高, RELAY, REJECT, DISCARD)
預設值是:
localhost.localdomain RELAY (允許中繼此網域要求的轉信服務)
localhost RELAY
127.0.0.1 RELAY
tn.edu.tw RELAY(例如開放tn.edu.tw網域轉信)
(不收發xxxx.tn.edu.tw的信,但收發mail.xxxx.tn.edu.tw的信)
xxxx.tn.edu.tw REJECT
mail.xxxx.tn.edu.tw OK
存檔後必須執行下行指令才能生效。
makemap hash /etc/mail/access.db < /etc/mail/access
收多個網域的信
如此mail server domain name是mail.xxxx.tn.edu.tw,欲同時收xxxx.tn.edu.tw網域的信,就是設機器Aliases Name。
修改/etc/mail/local-host-names
增加一行,內容為:
xxxx.tn.edu.tw
此外DNS的正解必須加上MX如下:
xxxx.tn.edu.tw IN MX 10 mail.xxxx.tn.edu.tw.
限制寄件檔案大小
修改/etc/sendmail.cf
# maximum message size (10MB)
O MaxMessageSize=10000000
Mail Relay
修改 /etc/mail/relay-domains
允許某網域轉信
tn.edu.tw
設定帳號別名
/etc/aliases
多使用者同一別名:
ingres: root
system: root
toor: root
manager: root
dumper: root
abuse: root
同一別名多使用者:
webmaster: root, mike
存檔後讓別名立即生效執行指令為:
newaliases
讓使用者可以收發信,但無telnet或ftp登入權力,可以將使用者的shell取消即可。
檢查尚未寄出的信
信件放在/var/spool/mqueue
以mailq查看信件清冊
開放SMTP PORT
RedHat 7.X Sendmail 基於安全,SMTP僅開放127.0.0.1,當作為mail server時必須修改/etc/sendmail.cf
# SMTP daemon options
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
改127.0.0.1為0.0.0.0
重新啟動sendmail
/etc/rc.d/init.d/sendmail restart
每日定時監視mail server
crontab -e
1 * * * * cat /var/log/secure | /usr/sbin/sendmail email@xxxx.tn.edu.tw
設定Quota的建議
/var/spool/mail與/var/spool/mqueue為不同partition,才不致於寫入時發生quota爆了,但是mail queue是空的。