Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117752
  • 博文数量: 38
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-06 13:04
文章分类

全部博文(38)

文章存档

2012年(4)

2010年(34)

我的朋友

分类: 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服务器的必要配置文件
 sendmaildoc包:说明文档    

 

   DNS服务器中要添加MX记录
 
 
 @ IN MX 5 mail.hy.com
 
 mail.hy.com IN A 192.168.0.1 

 

 一:rpm安装 sendmail服务:

.查看是否安装此服务: rpm -q  sendmail m4  (默认sendmailm4两个软件包是安装好

的,在RHEL4的第2张光盘中)

.手动安装sendmail-cfsendmail-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软件提供收取邮件的服务,因此需要

单独安装pop3IMAP功能的服务器程序)

  1.安装dovecot软件包:(系统自带了) 因为此服务器依赖太多的软件,最好使用图形界面

来安装

   systemconfigpackage  进入图形界面

  在列表中选择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

三:配置:

.确保运行sendmail服务的主机有完整的域名:

 vi /etc/mail/local-host-names       添加域名 hy.com 

.sendmail的主配置文件是/etc/mail/sendmail.cf 但是由于这个配置文件很少有人可以完完全

全的理解,sendmail的开发人员为sendmail的管理者提供了更加容易理解和配置的sendmail.mc

文件.我们可以编辑sendmail.mc文件来配置sendmail服务器,再用m4命令将此文件转换成

sendmail.cf文件

.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

.开启服务: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

 

阅读(1429) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~