linux架设md邮件服务器,linux系统下邮件服务器的架设(上)

linux系统下邮件服务器的架设(上)

[日期:2007-08-04]

来源:Linux公社

作者:Linuxidc

[字体:大 中 小]

难道我写的不够详细吗,看的同志给点意见啊

1.首先我们要清楚一些概念,邮件服务器是在一个域内的,比如我建的邮件服务器是在zhaoyong.com这个域内的,邮件服务器分为发邮件和接受邮件,发邮件的工具是smtp ,接受邮件的是pop3和imap,由于pop3逐渐会被淘汰,这里我们只学习imap

当我们在寄信时,所使用的是 SMTP (Simple Mail Transfer Protocol) 通讯协议,而收信时,使用的是 POP3 (Post Office Protocol) 或是 IMAP (Internet Message Access Protocol) 协定。

一般常用的 SMTP 软件为 FreeBSD 内附的 Sendmail、Qmail、或 Postfix。而收信时所使用的 POP3 及 IMAP 软件

2.首先我们去sendmail的官网上去下载最新的版本,www.sendmail.org,http://www.sendmail.org/releases/8.14.1.php,最新的版本是 8.14.1大家可以去这里下载

3.[root@zy jishu]# rpm -q sendmail 确保你没有安装sendmail 和 postfix 如果你安装了请卸载它

[root@zy jishu]# rpm -q postfix

[root@zy jishu]# rpm -e --nodeps sendmail ,--nodeps 忽略依赖信息检查

传统上,SMTP 在接受使用者寄信时,并不须经过身份认证,任何人都可以使用你的主机来制造垃圾信 而且sendmail没有自己的认证库,我们需要检测是否装了如下的认证库

[root@zy jishu]# rpm -qa |grep sasl

cyrus-sasl-2.1.15-6

cyrus-sasl-plain-2.1.15-6

cyrus-sasl-md5-2.1.15-6

cyrus-sasl-devel-2.1.15-6

如果没有安装的话大家去这里下载ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/

需要注意sendmail需要dns服务安装好的情况下进行,如果你dns没安装好 ,请参考我的第12课和第13课

4. 大家需要注意的是邮件服务器一定要在本地区域内

[root@zy jishu]# more /var/named/zhaoyong.com.zone

@ 1D IN SOA zhaoyong.com. root (

2007080312

1H

15M

1W

1D )

IN NS @

IN A 192.168.1.144

IN MX 10 mail

www IN A 192.168.1.101

mail IN A 192.168.1.102

news IN CNAME www

ftp IN CNAME mail

我这里的邮件服务器的地址为192.168.1.102 确保dns可以解析的, MX是邮件服务器 10代表优先级,数字越小优先级越高, 5.然后我们来编译sendmial主文件

[root@zy jishu]# tar zxvf sendmail.8.14.1.tar.gz 解压该目录

[root@zy jishu]# cd sendmail-8.14.1/ 进入该目录

sendmail默认情况下是没有用户认证库的

我们需要编辑如下文件

[root@zy sendmail-8.14.1]# vi devtools/Site/site.config.m4 然后在里面加上如下两句话,把SMTP认证功能编译到sendmail中

APPENDDEF(`confENVDEF',`-DSASL=2')

APPENDDEF(`conf_sendmail_LIBS',`-lsasl2') 大家一定要看清楚不要写错

6.然后我们来编译此工具

[root@zy sendmail-8.14.1]# sh Build -c Build是一个脚本 大家可以./Build 直接执行 也可以用sh 执行

编译好之后将自动产生一个sendmail的守护程序

[root@zy sendmail-8.14.1]# sh Build INSTALL 它就会把sendmail的可执行文章安在相应的位置

sendmail配置的是后需要宏解释器M4 我们确定一下它安装了没有

[root@zy sendmail-8.14.1]# rpm -q m4

m4-1.4.1-14 由于sendmail配置非常的复杂,而且语法非常难懂,所以我们需要宏解释器。所以sendmail配置的时候可以使用m4 宏配置来使用

在sendmail下包含了一套宏定义,在该目录的cf目录下,我们需要把这个目录cp到系统中去

[root@zy sendmail-8.14.1]# mkdir /usr/share/sendmail 创建一个目录

[root@zy sendmail-8.14.1]# cp -a cf /usr/share/sendmail , -a是将整个目录cp的意思

[root@zy sendmail-8.14.1]# cd cf/cf/ 我们进入cf的cf目录下

sendmail需要sendmail.mc文件 在cf这个目录下,有适用于不同类型的sendmail.mc配置文件,我们选择linux的配置文件

[root@zy cf]# cp generic-linux.mc sendmail.mc 复制这个文件

[root@zy cf]# more sendmail.mc 查看这个配置文件 其中这个文件是没有空格的大家注意,每行结尾都有dnl,dnl的意思也就是注释的意思

也就是就算有空格也注释掉的意思

divert(0)dnl

VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')

OSTYPE(linux)dnl

DOMAIN(generic)dnl

MAILER(local)dnl

MAILER(smtp)dnl

[root@zy cf]# make install-cf 安装sendmail的配置文件

然后它会在里面提示你要建立一个目录

[root@zy cf]# mkdir /etc/mail

[root@zy cf]# make install-cf 从新运行一次

[root@zy cf]# cp sendmail.mc /etc/mail 将这个文件cp到mail目录下 以后我们想改变配置文件 只需要改变mail目录下的sendmail.mc

[root@zy mail]# cd /etc/mail/ 进入该目录

[root@zy mail]# touch aliases access 我们先建立两个初始化的文件 aliases 保存用户的别名文件 access 是允许访问用户的地址

[root@zy mail]# echo "zhaoyong.com" > local-host-names 这句话的意思是告诉本机是为了zhaoyongcom这个域服务的

[root@zy mail]# echo "zhaoyong.com" >> local-host-names 用重定向追加进去

它不光是为zhaoyong.com这个域服务,他还为mail.zhaoyong.com服务所以也要写进去

[root@zy mail]# makemap hash access < access 由于access是一个空文件所以我们用makemap命令来把文件建立成一个数据库

-bash: makemap: command not found 我们发现命令是失败的

[root@zy mail]# which makemap

/usr/bin/which: no makemap in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin)

所以我们要退回去

[root@zy sendmail-8.14.1]# sh Build INSTALL 将sendmail从新安装下 哥们们我是苦了,我的linux内核不支持makemap我发疯了,新版本的支持不够啊,我要从新卸载用光盘的安装了 郁闷死了

[root@zy mail]# makemap hash aliases < aliases 生成一个aliases

[root@zy mail]# mkdir /var/spool/mqueue 建立这样一个文件的目的是发往服务器的用户可能有很多,需要有一个先后顺序

[root@zy mail]#/usr/sbin/sendmail -db -q1h ,-db在后台运行-q1h 1小时处理一次队列,启动服务器

[root@zy mail]#ps -aux |grep sendmail 查看下是否运行

7.测试

[root@zy root]# netstat -tnl |grep :25 监听下本机的25端口是否在运行

建立用户来收信和发信

[root@zy root]# useradd RedHat

[root@zy root]#passwd redhat

注意root用户是不能利用smtp协议来收信和发信

未完待续,哥们们支持我,raid5把我折腾坏了,烂惠普服务器明天又要去从装。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值