4.2 设置access
打开/etc/mail/access,你会看到 (注意一些系统的access文件不再/etc/mail下,如找不到请用whereis查找或检查是否安装正常)
# Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
如果您的IP地址是192.168.25.11的话,这样请在最后一行加上192.168.25.11 RELAY
其文件的最后三行应是:
localhost.localdomain RELAY
localhost RELAY
192.168.25.11 RELAY
加上这句话您就可以用sendmail发送接收mail了!但是如果您想让别人也可以使用sendmail的话,
他的IP是202.168.25.22,这样就在在最后一行加入202.168.25.22 RELAY
其文件的最后四行应是:
localhost.localdomain RELAY
localhost RELAY
192.168.25.11 RELAY
192.168.25.22 RELAY
我想,您现在一定有个疑问是,如果我想设置50个人用sendmail是不是需要加50个IP啊!?
嘿嘿,不用啦,是这样,sendmail考虑到多用户的时候,它准许你添入整个C类地址,(B类好像也可以,我没try过!)
其格式如下:
localhost.localdomain RELAY
localhost RELAY
192.168.25 RELAY
这样,您就是把192.168.52这整个C都加入的sendmail中,这个C类地址的用户,如果在你的系统里有账号的话,
就可以使用sendmail收发信件了!
4.3 设置pop3
如果您需要pop3来接收信件,您需要打开pop3端口,
vi /etc/inetd.conf 查找到
# pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
把#号删掉。
vi /etc/services 查找到
#pop-3 110/tcp # POP version 3
把#号删掉。
这样,在restart inetd后,pop3 110端口就可以接信了!如果还是不行,请检查是否安装pop3端口!
4.4 如何restart sendmail;inetd以及注意事项
有一点要提醒大家的,要用"kill -9 [pid-of-sendmail]" ,从新启动sendmail
如果用 kill -HUP 是不会发生作用的! (这是颇多人常遇到的问题,切记!)
在redhat6中用/etc/rc.d/init.d/sendmail restart即可!
inetd是
/etc/rc.d/init.d/inetd restart
5.1 sendmail的别名和forward
(1) 关于直接用IP地址发信
mail user@[166.111.IP.Address]
只要用[]将IP地址括起来就行了
(2) 关于alias
sendmail在/etc下有两个文件 aliases和aliases.db, 后者是前者用newaliases
生成的别名数据库. 你可以手工编辑/etc/aliases, 然后运行newaliases更新数据
库(其实newaliases是个到sendmail的 symlink)
eg: nickname :
user@hotmail.com
alias-name: real-user-account
则以后mail nickname就可以将信寄到
user@hotmail.com处
而别人寄给
alias-name@your.domain.name的信就会转给真正的用户real-user-account
(3) 关于forward
在你的$HOME目录下面编辑一个.forward文件, 里面写上你要forward的目的e-mail
地址或本机的用户名, 就可以自动将信 forward到相应地址
eg: .forward:
user@hotmail.com
或 other-user-account
则给此人的e-mail会forward到hotmail或other-user-account处
(4) 关于vacation
去找一个vacation包(如RedHat的contrib中有vacation的rpm), 装上后就一个
/usr/bin/vacation程序和一个man.
先运行vacation, 它会让你编辑$HOME/.vacation.msg文件, 就是要发回给对方
告诉他你现在不看信的东西啦. 然后编辑$HOME/.forward文件, 写这样一句
\username, " /usr/bin/vacation username", username 要换回你自己的了
然后运行vacation -I建立$HOME/.vacation.db就好了 (看看man更详细)
(5) 关于sendmail的一些文件
/var/log/maillog sendmail的log, 分析错误有用
/var/spool/mail/$USER 进来的信, 每个用户一个文件
/var/spool/mqueue mail queue, 可以用mailq看队列中待发的信
(mailq也是 sendmail的symlink了)
dfxxxxxx 这是信的内容
qfxxxxxx 这是信的subject和别的信息 (反正每信一个号了, 配对的)
/etc/sendmail.cf sendmail的配置文件, 改动它可要小心
/etc/sendmail.cw 假如你的机器有好多alias的话就把名字写在
这个文件中, 这样写哪个都能收到信
5.2 限制邮件的大小
Modify /etc/sendmail.cf:
Mlocal, P=/bin/mail, F=lsDFMrmn, S=10, R=20/40,
Maxsize=1000000,
A=mail -d $u
Mprog, P=/usr/local/sendmail/smrsh, F=lsDFMeu, S=10, R=20/40, D=$z:/,
Maxsize=1000000,
A=sh -c $u
This limits incoming mail processed by by smrsh and /bin/mail to 1 million
bytes.
You can do the same with the Mstmp, Mesmtp, and Mrelay statements to limit
the size of outgoing mail as well.