|
我已经在RH 8.0下初步通过了测试。下面是我的步骤:
vi /etc/hosts,在最首行添加 IP 你的域名,使用假域名,注意格式,主要让你的机器能够认识你自己的机器。像下面的,不一定要一样。
x.x.x.x linuxman.cxm linuxman #x.x.x.x代表你的真实的IP
127.0.0.1 localhost.localdomain localhost
如果是非固定IP,上网后,记得编辑/etc/hosts,修改IP address,我不会编脚本,可以自动执行修改。
创建的“access”数据库可以用来根据邮件的来源决定是否接收或拒绝它们。
vi /etc/mail/access,添加你想接收的域名。如下:
0.0.0.0 OK
如果你想让你的机器为其它机器提供smtp服务的话,将上面的改为:
0.0.0.0 RELAY建议不要开启RELAY功能
创建“access.db”文件:
由于“/etc/mail/access”是一个数据库,所以在创建完以上的文本文件以后需要运行“makemap”程序来创建数据库映射。
用以下命令创建“access database map”数据库映射。
# makemap hash /etc/mail/access.db < /etc/mail/access
修改 vi /etc/mail/sendmail.mc,注释掉这行:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN dnl PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
改为:
让sendmail监听所有地址
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
给SMTP加认证功能
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
在执行:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
最后执行:
/etc/init.d/sendmail restart
现在可以测试从外边给本地机器发封信了。像root@[你的IP],试试。
最后,强调一点,如果你开启了sendmail relay功能的话,你一定要从其它的机器上测试你的sendmail的smtp认证功能,防止你的机器成为垃圾邮件的smtp服务器. |
|