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.10.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是空的。