opkg软件:安装Sendmail
来源:百度文库 编辑:中财网 时间:2024/05/01 16:28:41
mx mail.mihost.kmip.net (邮件服务器是mx记录)
发信服务器 (smtp)
收信服务器 (pop/imap)
User smtp> MailServer <======> MailServer pop3/imap> User
<pop3/imap
MTA(Mail Transfer Agent),邮件传输代理,如sendmail,qmail
MUA(Mail User Agent),邮件用户代理, 如outlook,foxmail
SendMail服务器的安装
下载sendmail-
准备编译环境
#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-
cyrus-sasl-plain-
cyrus-sasl-devel-
cyrus-sasl-md5-
原代码安装配置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.
手动生成m4文件,内容如下:
cd sendmail-
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-
建立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
增加帐号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
mail from: root@mihost.kmip.net
250
rcpt to: redhat@mihost.kmip.net
250
data
354 Enter mail, end with "." on a line by itself
hello,mail from smtp command.
.
250
quit
221
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=
[root@RHL9 root]# cat /var/mail/redhat
From root@mihost.kmip.net Thu Mar 8 02:37:57 2007
Return-Path:
Received: from RHL9 (RHL9 [127.0.0.1])
by localhost.localdomain (
for redhat@mihost.kmip.net; Thu, 8 Mar 2007 02:36:59 +0800
Date: Thu, 8 Mar 2007 02:35:46 +0800
From: root
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
"/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
netstat -tnl |grep :110
tcp 0 0
再用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‘)dnl
OSTYPE(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转发功能。