分享
 
 
 

[Linux专题_SendMail]RedHatLinux AS3中SendMail的配置

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

[Linux专题_SendMail]RedHatLinux AS3中SendMail的配置

RedHatLinux AS3中配置sendmail服务器

这篇文章主要是示范如何在一台新装的RedHatLinux AS3上用配置sendmail-8.12.10-1服务,构架你的e-mail服务器.

1.sendmail的安装

若用户在RedHatLinux AS3默认安装时已经安装了sendmail 8.12服务.可忽略安装过程,相关资料请查阅redhat CD里的文档.

若没有安装,安装sendmail服务,操作如下:

//查看是否安装了sendmail

#rpm –qa|grep sendmail

//将RedHatLinux AS3的第一张安装光盘放入光驱后挂载

#cd /mnt/cdrom

//进入光盘的RedHat/RPMS目录

#cd/mnt/cdrom/RedHat/RPMS

//安装所需的软件包

#rpm –ivh sendmail-8.12.10-1.i386.rpm

//将RedHat Linux9的第3张安装光盘放入光驱后挂载

#cd /mnt/cdrom

//进入光盘的RedHat/RPMS目录

#cd/mnt/cdrom/RedHat/RPMS

//安装所需的软件包

#rpm –ivh sendmail-cf-8.12.10-1.i386.rpm

#rpm –ivh sendmail-doc-8.12.10-1.i386.rpm

//弹出光盘

#cd;eject

2.检验DNS SERVER的正反向解析是否成功

要使你的新e-mail服务器正常工作,必须先解决DNS问题.把你的e-mail服务器的主机名和ip地址加入到DNS中,并用nslookup来确认:

[root@AS3 / ]# nslookup -sil mail.supermaster.com

Server: 192.168.0.111

Address: 192.168.0.111#53

Name: www.supermaster.com

Address: 192.168.0.111

同样你也要试一下反向域名解析,这个对防止邮件延迟有很重要的作用.现在大部分的邮件服务器都是把反向域名解析作为邮件传送时

认证的一部分.所以用的你ip地址来试一下反向域名解析是否正确.

[root@AS3 / ]# nslookup -sil 192.168.0.111

Server: 192.168.0.111

Address: 192.168.0.111#53

111.0.168.192.in-addr.arpa name = www.supermaster.com.

111.0.168.192.in-addr.arpa name = mail.supermaster.com.

111.0.168.192.in-addr.arpa name = ftp.supermaster.com.

111.0.168.192.in-addr.arpa name = ssL.supermaster.com.

3.配置sendmail服务

>>1.监听本机的smtp端口

RedHatLinux AS3 默认安装已经可以使SMTP服务在本机运行.

你用netstat -nl可以看到所有后台程序监听的端口,注意这一行:127.0.0.1:25,这个表示sendmail服务已经在监听本机的25(SMTP)

端口了:

[root@AS3 / ]# netstat -nl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN

udp 0 0 0.0.0.0:32768 0.0.0.0:*

udp 0 0 0.0.0.0:2049 0.0.0.0:*

udp 0 0 0.0.0.0:32769 0.0.0.0:*

udp 0 0 0.0.0.0:32770 0.0.0.0:*

udp 0 0 192.168.0.111:137 0.0.0.0:*

udp 0 0 0.0.0.0:137 0.0.0.0:*

udp 0 0 192.168.0.111:138 0.0.0.0:*

udp 0 0 0.0.0.0:138 0.0.0.0:*

udp 0 0 0.0.0.0:910 0.0.0.0:*

udp 0 0 0.0.0.0:928 0.0.0.0:*

udp 0 0 192.168.0.111:53 0.0.0.0:*

udp 0 0 127.0.0.1:53 0.0.0.0:*

udp 0 0 0.0.0.0:710 0.0.0.0:*

udp 0 0 0.0.0.0:111 0.0.0.0:*

udp 0 0 0.0.0.0:631 0.0.0.0:*

Active UNIX domain sockets (only servers)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl

unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket

unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100

unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0

但这个仅仅表示e-mail服务器只接收你本机的邮件.为了解决这个问题,你必须修改配置,告诉sendmail去监听你对外的网卡地址.

>>2.解决对外smtp端口的监听

假设你的服务器上安装了一块网卡(eth0),并用ifconfig配置好你的ip地址.这个地址可以和DNS解析的地址不一样,但你要保证DNS可以正确

地解析邮件服务器的地址.这里我们使用的地址是一样的(推荐):

[root@AS3 / ]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:65:C8:DC

inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:661 errors:0 dropped:0 overruns:0 frame:0

TX packets:399 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:68152 (66.5 Kb) TX bytes:50136 (48.9 Kb)

Interrupt:10 Base address:0x1400

可以看到这台主机的eth0的ip地址是192.168.0.111.现在修改/etc/mail/sendmail.cf文件来配置sendmail的监听端口:

# SMTP daemon options

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

更改为

O DaemonPortOptions=Port=smtp,Addr=192.168.0.111, Name=MTA

改完后保存退出,并且重新启动sendmail服务:

[root@AS3 / ]# service sendmail restart

Shutting down sendmail: [ OK ]

Shutting down sm-client: [ OK ]

Starting sendmail: [ OK ]

Starting sm-client: [ OK ]

[root@mail /root]#

现在可以用netstat -nl来查看是不是已经更改了.如你所看到的,sendmail的监听端口现在是eth0的ip地址:192.168.0.111了.

[root@AS3 / ]# netstat -nl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:32770 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:931 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:913 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

tcp 0 0 192.168.0.111:53 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN

tcp 0 0 192.168.0.111:25 0.0.0.0:* LISTEN

tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN

tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN

udp 0 0 0.0.0.0:32768 0.0.0.0:*

udp 0 0 0.0.0.0:2049 0.0.0.0:*

udp 0 0 0.0.0.0:32769 0.0.0.0:*

udp 0 0 0.0.0.0:32770 0.0.0.0:*

udp 0 0 192.168.0.111:137 0.0.0.0:*

udp 0 0 0.0.0.0:137 0.0.0.0:*

udp 0 0 192.168.0.111:138 0.0.0.0:*

udp 0 0 0.0.0.0:138 0.0.0.0:*

udp 0 0 0.0.0.0:910 0.0.0.0:*

udp 0 0 0.0.0.0:928 0.0.0.0:*

udp 0 0 192.168.0.111:53 0.0.0.0:*

udp 0 0 127.0.0.1:53 0.0.0.0:*

udp 0 0 0.0.0.0:710 0.0.0.0:*

udp 0 0 0.0.0.0:111 0.0.0.0:*

udp 0 0 0.0.0.0:631 0.0.0.0:*

Active UNIX domain sockets (only servers)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ACC ] STREAM LISTENING 2456 /dev/gpmctl

unix 2 [ ACC ] STREAM LISTENING 2634 /tmp/.gdm_socket

unix 2 [ ACC ] STREAM LISTENING 2496 /tmp/.font-unix/fs7100

unix 2 [ ACC ] STREAM LISTENING 2644 /tmp/.X11-unix/X0

>>3.设置允许接受的域名

现在sendmail已经可以接收来自外部的连接了.我们还需要设定sendmail允许接收的域名.这个可以在/etc/mail/local-host-names

文件中设定.就把域名输入进去就可以了:

# local-host-names - include all aliases for your machine here.

supermaster.com //add

保存退出后重新启动sendmail服务:/etc/init.d/sendmail restart .这样sendmail就可以接收来自多个域的信件了. 如果你需要再增加新的域,只有修改这个文件就可以了.

>>4.client 端的设置

现在的e-mail服务器在本机上已经可以完全正常的工作.它已经可以接收来自任何地方的信件(允许的域),但如果想要发送和传递邮 件,则必须在这台电脑上执行.如果你的用户都直接登录到你的服务器上来发送邮件,则不需要更改任何配置,如果你希望大部分或者所有的用户可以在远程主机上使用该e-mail服务器,例如利用KMail和Outlook Express及Mozilla Mail等客户端工具,则你必须更改配置来允许这些主机使

用你的e-mail服务器.你需要在/etc/mail/access文件中加入下面一行,保存后运行make access.db 的命令来生成access.db文件.

supermaster.com RELAY

改完后的access文件应该是这样的:

# Check the /usr/share/doc/sendmail/README.cf file for a description

# of the format of this file. (search for access_db in that file)

# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc

# package.

#

# by default we allow relaying from localhost...

localhost.localdomain RELAY

localhost RELAY

127.0.0.1 RELAY

supermaster.com RELAY //add

然后运行:

[root@AS3 mail ]# make access.db

[root@AS3 mail ]#

这个make access.db命令把你的新的设定添加到sendmail的hash数据库里.sendmail用它来判断允许那些主机通过你的e-mail服务器来传递邮件.而且这样还可以通过设定子网(例如:192.168)来限制该域.但你要注意,这样设定就对外开放了,可能会有人发大量的垃圾 信件来攻击你的系统.

现在你可以收到所有来自外部的邮件.并且允许信赖的客户在远程传递信件.接下去你想要做的可能是如何在远程收取这些信件.要达到

这个目的,你需要安装IMAP 或者 POP. RedHatLinux AS3默认安装的时候并没有安装POP/IMAP,所以你需要安装imap-2002d-2包.

要查看这个包的安装状态,可以用下面的命令:rpm -aq | grep -i imap.如果发现没有安装,那就把RedHatLinux AS3第二张安装光盘

放到光驱里.然后运行如下命令:

[root@AS3 mail ]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

(Successful Mount of Read-Only Media)

mount上光盘后运行这个命令来安装这个包:rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm.

[root@AS3 mail ]# rpm -Uvh /mnt/cdrom/RedHat/RPMS/ imap-2002d-2.i386.rpm

Preparing... ########################################### [100%]

1:imap ########################################### [100%]

再运行一次 rpm -aq | grep -i imap

IMAP 包就罗列出来了.

[root@AS3 mail ]# rpm -aq | grep -i imap

imap-2002d-2

[root@AS3 mail ]#

>>5.ipop3的设置

当正确的包被安装后你要打开POP3的连接端口,这需要修改/etc/xinetd.d/下面的ipop3文件,把disable的值改成yes.这个文件

大致是这样的:

# default: off

# description: The POP3 service allows remote users to access their mail

# using an POP3 client such as Netscape Communicator, mutt,

# or fetchmail.

service pop3

{

disable = no //change

socket_type = stream

wait = no

user = root

server = /usr/sbin/ipop3d

log_on_success += HOST DURATION

log_on_failure += HOST

}

接下去重新启动xinetd来是它生效:

[root@AS3 xinetd.d]# service xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

[root@AS3 xinetd.d]#

建议将ipop3 设置成自动启动,操作如下:

#redhat-config-services或setup或ntsysv

OK,至此sendmail的配置完成,发送一封测试邮件到你的e-mail服务器,并且用你熟悉的收信工具来收取这封信.

4.sendmail的性能优化

或许你会收到这样的抱怨,说是当客户端程序运行在防火墙后面的话会发生连接pop端口速度变慢.

造成这个延时的原因是你的e-mail服务器初始一个IDENT会话来确认客户端的身份.如果这个询问没有反应,那服务器就会在5秒后发出

一个超时信号.这个值可以降低到1秒,从而减少IDENT产生影响.修改/etc/mail/sendmail.cf文件,把timeout的值改成你想要的值.

# timeouts (many of these)

#O Timeout.ident=5s

change to

O Timeout.ident=1s

现在你的e-mail服务器可以给你的用户提供服务了.当然还有更多的配置可以用来提高服务器性能,在这篇文章中就不多提了.

Linux将会为你的e-mail服务提供一个稳定的,高效的平台.如果想了解更多的关于sendmail的知识,请访问www.sendmail.org.

注:笔者建议大家在第一测试sendmail时,把fireware 服务关闭。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有