免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4062 | 回复: 3
打印 上一主题 下一主题

[DNS] 上接dns配置完成之后sendmail架设 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-24 10:13 |只看该作者 |倒序浏览
mx mail.mihost.kmip.net        (邮件服务器是mx记录)

发信服务器        (smtp)
收信服务器        (pop/imap)

User        smtp>                  MailServer <======> MailServer pop3/imap>  User
        <pop3/imap                                                <smtp

MTA(Mail Transfer Agent),邮件传输代理,如sendmail,qmail
MUA(Mail User Agent),邮件用户代理, 如outlook,foxmail

SendMail服务器的安装
下载sendmail-8.12.8-4.i386.rpm
准备编译环境
#rpm -e --nodeps sendmail
#rpm -e --nodeps postfix
安装认证库:
cyrus-sasl、cryus-sasl-plain、cyrus-sasl-devel (cyrus-sasl-gssapi、cyrus-sasl-md5可要可不要)
#rpm -qa |grep sasl
        cyrus-sasl-2.1.10-4  #为那imaps加密
        cyrus-sasl-plain-2.1.10-4 smtp的身份验证
        cyrus-sasl-devel-2.1.10-4
        cyrus-sasl-md5-2.1.10-4


原代码安装配置sendmail
*******************************************
先确认网络环境:
ifconfig eth0
./host -t MX mihost.kmip.net
        mihost.kmip.net mail is handled by 0 mail.mihost.kmip.net.
./host -t MX benet.com

编译安装过程
解压缩原代码
tar zxvf sendmail.8.13.8.tar.gz
手动生成m4文件,内容如下:
cd sendmail-8.13.8/
vi devtools/Site/site.config.m4
        APPENDDEF(`confENVDEF',`-DSASL=2')
        APPENDDEF(`conf_sendmail_LIBS',`-lsasl2')
编译
sh Build –c  #可能编译时会出错!!
sh Build install
确保m4安装了
rpm -q m4
        m4-1.4.1-13
建立sendmail目录
mkdir /usr/share/sendmail
cp -a cf /usr/share/sendmail
生成sendmail.mc文件
cd cf/cf
cp generic-linux.mc sendmail.mc
more sendmail.mc
建立sendmail工作目录
mkdir /etc/mail
安装
make install-cf
cp sendmail.mc /etc/mail/
生成配置文件
cd /etc/mail
touch aliases access
echo "mihost.kmip.net" >local-host-names
echo "mail.mihost.kmip.net">>local-host-names
cat local-host-names
生成access.db、aliases.db
makemap hash access < access
makemap hash aliases < aliases
启动sendmail
mkdir /var/spool/mqueue
/usr/sbin/sendmail -bd -q1h  #后台执行,且每小时处理一次邮件队列
ps -aux | grep sendmail

测试发信
确认25端口开启了
netstat -tnl | grep :25
        tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN
增加帐号redhat作为root的别名
useradd redhat
passwd redhat
echo "root:redhat" >>/etc/mail/aliases
newaliases #让aliases生效
连接服务器测试发信
[root@RHL9 root]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Thu, 8 Mar 2007 02:35:46 +0800
mail from: root@mihost.kmip.net
250 2.1.0 root@mihost.kmip.net... Sender ok
rcpt to: redhat@mihost.kmip.net  
250 2.1.5 redhat@mihost.kmip.net... Recipient ok
data
354 Enter mail, end with "." on a line by itself
hello,mail from smtp command.
.
250 2.0.0 l27IZkc9006279 Message accepted for delivery
quit
221 2.0.0 localhost.localdomain closing connection
Connection closed by foreign host.
[root@RHL9 root]# tail /var/log/maillog
Mar  8 02:37:57 RHL9 sendmail[6279]: l27IZkc9006279: from=root@mihost.kmip.net, size=30, class=0, nrcpts=1, msgid=<200703071836.l27IZkc9006279@localhost.localdomain>, proto=SMTP, daemon=MTA, relay=RHL9 [127.0.0.1]
Mar  8 02:37:57 RHL9 sendmail[6660]: l27IZkc9006279: to=redhat@mihost.kmip.net, ctladdr=root@mihost.kmip.net (0/0), delay=00:00:58, xdelay=00:00:00, mailer=local, pri=30443, dsn=2.0.0, stat=Sent
[root@RHL9 root]# cat /var/mail/redhat
From root@mihost.kmip.net  Thu Mar  8 02:37:57 2007
Return-Path: <root@mihost.kmip.net>
Received: from RHL9 (RHL9 [127.0.0.1])
        by localhost.localdomain (8.13.8/8.13. with SMTP id l27IZkc9006279
        for redhat@mihost.kmip.net; Thu, 8 Mar 2007 02:36:59 +0800
Date: Thu, 8 Mar 2007 02:35:46 +0800
From: root <root@mihost.kmip.net>
Message-Id: <200703071836.l27IZkc9006279@localhost.localdomain>
X-Authentication-Warning: localhost.localdomain: RHL9 [127.0.0.1] didn't use HELO protocol

hello,mail from smtp command.
用outlook测试发信
然后切换到redhat用mail来收信
[root@RHL9 root]# su - redhat
[redhat@RHL9 redhat]$ mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/mail/redhat": 2 messages 2 new
>N  1 root@mihost.kmip.net         Thu Mar  8 02:37  12/487  
N  2 redhat@mihost.kmip.net       Thu Mar  8 02:54  42/1545  "Hello,Test from outlo"
& 2

配置收信服务器
安装
rpm -ivh /mnt/cdrom/RedHat/RPMS/imap*   (在2#光盘上)
开始服务
chkconfig ipop3 on
chkconfig imap on
ls /etc/xinetd.d
        chargen      daytime-udp  imap   ntalk   rsh       sgi_fam  time-udp
        chargen-udp  echo         imaps  pop3s   rsync     talk
        cups-lpd     echo-udp     ipop2  rexec   servers   telnet
        daytime      finger       ipop3  rlogin  services  time
service xinetd restart
停止 xinetd:[  确定  ]
启动 xinetd:[  确定  ]
grep imap /etc/services
imap            143/tcp         imap2           # Interim Mail Access Proto v2
imap            143/udp         imap2
grep pop3 /etc/services
pop3            110/tcp         pop-3           # POP version 3
pop3            110/udp         pop-3
netstat -tnl |grep :143
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN
netstat -tnl |grep :110
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN

再用outlook测试收发信(pop3、imap)

邮件转发的配置:
#cd /etc/mail
#vi sendmail.mc
  添加如下内容:红色内容
divert(0)dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
FEATURE(`access_db')dnlOSTYPE(linux)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl

注意:` ‘ 区别!

#echo “192.168.1 RELAY” >>access
#makemap hash access < access
#killall  sendmail
# /usr/sbin/sendmail -bd -q1h 一小时清理邮件队列!

以上案例在局域网测试成功(外部邮件都能发)。以上用的域名是动态域名。在路由器设置ip转发功能。

[ 本帖最后由 zhangyigui 于 2007-3-24 10:16 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-03-31 22:01 |只看该作者
不错,详细

论坛徽章:
0
3 [报告]
发表于 2007-03-31 22:04 |只看该作者
可是我在fc6(一张DVD)下找不到IMAP*.RPM

论坛徽章:
0
4 [报告]
发表于 2007-10-18 16:57 |只看该作者
很是喜欢这个文章,我找了很久了~!
谢谢你!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP