全部博文(38)
分类: LINUX
2010-05-17 16:42:40
# service sendmail start
# m4 sendmail.mc > sendmail.cf
实例配置要求
邮件服务器的IP地址为192.168.1.2,主机域名为mail.test.com
邮件服务器将为“test.com”域中的用户提供邮件服务
邮件服务器具有SMTP用户认证功能
域名设置
邮件服务器需要进行域名注册
在test.com区域文件中进行A记录和MX记录的设置
@ IN MX 5 mail.test.com.
mail IN A 192.168.1.2
设置local-host-names文件
local-host-names文件用于设置提供邮件服务的域名
在local-host-names文件中增加“test.com”域
# vi /etc/mail/local-host-names
//添加邮件服务器提供邮件服务的域名
test.com
开启sendmail服务的网络接口
在sendmail.mc文件中设置服务地址
# vi sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
//修改为
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
设置SMTP的用户认证
sendmail.mc文件中的配置
# vi /etc/mail/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”,修改为
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
启动saslauthd服务程序
# service saslauthd start
邮件用户帐号
Sendmail服务器使用Linux系统中的用户帐号作为邮件帐号
建立邮件用户组
# groupadd mailuser
建立邮件用户帐号
# adduser -g mailuser -s /sbin/nologin mike
初始化用户口令
# passwd mike
设置邮件别名和邮件群发功能
邮件别名和邮件群发功能使用aliases机制实现
aliases和aliases.db文件
/etc/aliases /etc/aliases.db
aliases文件的记录格式
name: addr_1, addr_2, addr_3, . . .
设置邮件别名
admin: mike
设置邮件群发
testgroup: mike,john
修改aliases文件后更新aliases.db文件
# newaliases
访问控制的设置
access.db数据库可实现基于主机地址的访问控制
# cat /etc/mail/access
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168.1 RELAY(加入允许网段)
#makemap hash access.db
access.db数据库默认开启了对邮件服务器本机用户的邮件投递
生成sendmail.cf文件
# cd /etc/mail
# m4 sendmail.mc> sendmail.cf
重新启动sendmail服务器
当完成对sendmail服务器的配置后,需要重新启动服务程序
# service sendmail restart
验证服务程序启动
# netstat -ntpl | grep 25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 6835/sendmail: acce
安装dovecot 服务器(pop3服务)
# system-config-packages
开启dovecot 的pop3服务
修改dovecot.conf文件
# vi /etc/dovecot.conf
//将以下配置行
#protocols = imap imaps
//修改为
protocols = imap imaps pop3 pop3s
使用脚本启动dovecot服务
对dovecot.conf配置文件进行设置后,需要重新启动dovecot服务程序
# service dovecot restart
设置dovecot服务的启动状态
设置dovecot的启动状态
# chkconfig --level 35 dovecot on
验证dovecot服务启动
使用netstat命令查看dovecot已经监听110端口
# netstat -ntpl | grep 110
loris注:未经验证sendmail配置简要说明
sendmail服务器(ip 192.168.0.1)的安装需要4个软件包:
sendmail包 :程序安装包,最重要的
m4包:必要工具(转换工具)
sendmail-cf包:包含了重新配置sendmail服务器的必要配置文件
sendmail-doc包:说明文档
在DNS服务器中要添加MX记录
@ IN MX 5 mail.hy.com
mail.hy.com IN A 192.168.0.1
一:rpm安装 sendmail服务:
1.查看是否安装此服务: rpm -q sendmail m4 (默认sendmail和m4两个软件包是安装好
的,在RHEL4的第2张光盘中)
2.手动安装sendmail-cf和sendmail-doc:(挂载光盘,在RHEL4的第4张光盘中)
cd /media/cdrom/Redhat/RPMS/
ls sendmail*
rpm -ivh sendmail-cf-8.13.1-2.i386.rpm sendmail-doc-8.13.1-2.i386.rpm
二: 安装pop3服务:(因为sendmail服务器并不会为MUA软件提供收取邮件的服务,因此需要
单独安装pop3或IMAP功能的服务器程序)
1.安装dovecot软件包:(系统自带了) 因为此服务器依赖太多的软件,最好使用图形界面
来安装
system-config-package 进入图形界面
在列表中选择dovecot软件包进行安装就ok了!
2.vi /etc/dovecot.conf (编辑主配置文件) docecot服务器默认只提供IMAP服务
将 #protocols = imap imaps
更改为 protocols = imap imaps pop3 pop3s
3.启动服务:
service dovecot restart
netstat -ntpl |grep 110
三:配置:
1.确保运行sendmail服务的主机有完整的域名:
vi /etc/mail/local-host-names 添加域名 hy.com
2.sendmail的主配置文件是/etc/mail/sendmail.cf 但是由于这个配置文件很少有人可以完完全
全的理解,sendmail的开发人员为sendmail的管理者提供了更加容易理解和配置的sendmail.mc
文件.我们可以编辑sendmail.mc文件来配置sendmail服务器,再用m4命令将此文件转换成
sendmail.cf文件
3.vi /etc/mail/sendmail.mc
开启sendmail服务器的网络接口
将 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA`)dn1
更改为:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA`)dn1
设置SMTP的用户认证
将这一行dn1 TRUST_AUTH_MECH`(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN`)dn1和它下面
的一行前面的dn1去掉!记得去除后TRUST_AUTH_MECH`(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN
PLAIN`)dn1和它下面的那一行都要是顶格!
当启用了用户认证功能时,需要确保saslauthd服务程序正常开启.
service saslauthd start
4.将sendmail.mc文件转换成sendmail.cf文件
m4 sendmail.mc >sendmail.cf
5.创建邮件用户账号:
useradd -s /sbin/nologin user1
useradd -s /sbin/nologin user2 "-s"选项指定用户的shell
为"/sbin/nologin/",即不允许用户登陆linux系统
设置口令:
passwd user1
passwd user2
6.开启服务:service sendmail restart
netstat -ntpl |grep 25
PS:
sendmail限制邮件转发
因为Send Mail 为了怕变成广告信转信站所以安装后只线本机上的 使用者寄信,要让它为你转
信需要修改一点东西。
1.vi /etc/mail/access 档案在里面增加下面几行。
localhost RELAY
192.168.1 RELAY /REJECT /DISCARD
注明:
192.168.1 RELAY 表示接收192.168.1这个网段发送的邮件
192.168.1 REJECT 表示拒绝192.168.1这个网段发送的邮件 (会发送错误提示)
192.168.1 DISCARD 表示丢弃192.168.1这个网段发送的邮件 (不会发送错误提示)
2.将文件转换成access.db数据库文件:(必须要进入到/etc/mail目录下面)
makemap hash access.db