LINUX Sendmail服务器配置
基于linux平台的邮件服务器配置与管理

由宏配置文件生成配置文件
UUCP :(Unix to Unix Communication
Protocol,Unix到Unix的通讯协议)
SMTP :(Simple Mail Transfer Protocol,简单邮
件传输协议)
POP3 :(Post Office Protocol,邮局协议,目前为
第3版本)
IMAP :(Internet Message Access Protocol,网
际消息访问协议,目前为第4版本)
株洲职业技术学院精品课程
电子邮件阅读服务器IMAP
光盘挂载到文件系统上 进入/mnt/cdrom/RedHat/RPMS目录 安装IMAP软件包 修改xinetd的配置文件,使系统启动时启动IMAP
服务 重新启动xinetd 用telnet命令连接本地的143端口,测试IMAP是
include:/etc/mail/mailinglist
株洲职业技术学院精品课程
中继的配置
是指一台服务器接受并传递源地址和目的 地址都不是本服务器的邮件。
在两个文件中进行设置:
• /etc/mail/relay-domains • /etc/mail/access。
株洲职业技术学院精品课程
进入/mnt/cdrom/RedHat/RPMS目录
设置此文件中“disable=no” /etc/mail/relay-domains
senmail

Linux系列-Red Hat5平台下Sendmail邮件服务搭建Sendmail是具有较长历史并不断发展的邮件服务器软件,通过对Sendmail 服务器的配置管理,可以实现基本的邮件发送功能;dovecot服务器实现了POP3协议,可以与Sendmail服务器配合工作,实现用户对邮件的收取功能。
本次我们会看到Sendmail和dovecot结合运用的实例。
本次分三部分说,先来了解一下sendmail.第一部分:sendmail的安装、控制启动及主要配置文件一.Sendmail安装Sendmail服务器在RHEL5系统中是默认安装的,完整的安装应包括四个软件包。
如果没安装或是重新安装,可以使用rpm命令进行手动安装。
如下:1>.sendmail //是sendmail服务器程序的安装包,是最重要的软件包2>.m4 //包括了配置sendmail服务器的必要工具3>.sendmail-cf //包括了重新配置sendmail服务器的必要配置文件4>.sendmail-doc //包括了sendmail服务器的说明文档注意:Sendmail服务程序在安装后并没有设置在系统启动时自动运行,所以我们还得使用chkconfig命令设置它在系统启动时自动启动二.Sendmail的控制启动在启动sendmail服务器程序之前,需要先确保运行sendmail服务器的主机有完整的域名,在internet上能够解析到,并且有相应的邮件交换(MX)记录以及能够反向解析。
Sendmail服务器使用名为sendmail的启动脚本进行程序的启动与停止,此脚本位于“/etc/init.d/”目录中。
也可以使用service命令调用sendmail脚本执行sendmail服务器的启动和停止操作。
三.Sendmail主要配置文件1. sendmail服务器的配置目录sendmail服务器使用的所有配置文件都保存在目录“/etc/mail”中,该目录中保存了sendmail服务器运行所需要的配置文件以及库文件等多种类型的文件,如下:[root@mail ~]# ls /etc/mailaccess helpfile Makefile submit.cf virtusertableaccess.db local-host-names sendmail.cf submit.cf.bak virtusertable.db domaintable mailertable sendmail.mc submit.mcdomaintable.db mailertable.db spamassassin trusted-users2. 配置文件sendmail.cf和sendmail.mcSendmail服务器的主配置文件是sendmail.cf。
Linux1 邮件服务器 配置Sendmail

Linux1 邮件服务器配置Sendmail完成Sendmail安装操作后,接下来以开放Sendmail监听端口与设置收件计算机名称、使用MTA Relay权限设置/etc/mail/access为目的来对Sendmail邮件服务器进行配置。
1.开放监听端口及设置收件计算机名称事实上Red Hat Enterprise Linux5.4在安装Sendmail后默认已经启动Sendmail (端口25处于LISTEN状态),只是它仅接收来自本计算机的MTA要求,验证此结果可在终端下输入“netstat -tulnp”命令,并按【回车】键查阅,如图9-19所示。
图9-19 查看Sendmail默认端口状态由图9-19可查看到端口25处于LISTEN状态,且只监听127.0.0.1这个lookup 接口。
所以用户的重点就是如何将监听的接口开启到整个Internet上,否则它是无法接收来自Internet的邮件的。
虽然配置文件在/etc/mail/sendmail.cf中,但建议不要手动修改它,应该修改的是sendmail.mc文件。
这个文件设置项目的基本语法为“设置组件(`设置项目’,`参数一’,`参数二’)”。
提示每个设置项目与参数左边使用的符号均为数字键1左边的引用键(quote),右边则是单引号。
这个文件的设置项目用户可以参考/m4/readme.html网页说明。
若要开放Sendmail对整个Internet的监听功能,只需要在终端下输入“vi /etc/mail/sendmail.mc”命令,按【回车】键进入sendmail.mc文件的编辑界面。
然后按“i”,切换到插入模式,将第116行中“Addr=127.0.0.1”改为“Addr=0.0.0.0”,按【ESC】键退出插入模式,最后按“:”并输入wq”按【回车】键保存配置,如图9-20所示。
图9-20 开放Sendmail监听功能修改sendmail.mc参数后,在使用m4宏文件生成器和修改后的配置创建新的sendmail.cf配置文件之前,还需要使用mv命令对原有的设置文件进行备份,这一点很重要,如图9-21所示。
linux mail 命令参数

linux mail 命令参数使用mail发邮件时,必须先将sendmail服务启动。
mail –s “邮件主题”–c”抄送地址”–b “密送地址” -- -f 发送人邮件地址–F 发件人姓名 < 要发送的邮件内容三种常用格式发信mail -s test yangfang@ #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctrl-D结束echo “mail content”|mail -s test yangfang@ #第二种方法,我用的最多,可能是喜欢管道的缘故吧mail -s test yangfang@ < file #第三种方法,以file的内容为邮件内容发信指定特定的发送人:$ mail -s "just a test" 收信人邮箱地址 < 要发送的邮件内容文件 -- -f 发送人邮件地址 -F 发件人姓名。
效果是: 信件内容将发送给收信人邮箱,显示的发送人为发送人姓名<发送人邮件地址>,显示的内容为发送的邮件内容...包含命令执行结果的MAIL发送:echo -e `ls /tmp`|mail -s "test" fff@ < /tmp/dd.txt -- -f cc@ -F cci 忽略 tty 的中断讯号。
(interrupt)I 强迫设成互动模式。
(Interactive)v 列印出讯息,例如送信的地点、状态等等。
(verbose)n 不读入 mail.rc 设定档。
s 邮件标题。
c cc 抄送邮件地址。
b bcc密送邮件地址。
需要sendmail或postfix服务如果单纯的发文件文件可以用cat xxxx.txt |mail -s "主旨" abc@ fff@ 如果需要发送附件需要安装uuencode来编码 (yum install sharutils)单独发附件,这样xxxx@会收到一个data.txt的附件uuencode /tmp/data_process.log data.txt |mail xxx@如果需要正文和附件一起发:uuencode /tmp/data_process.log data.txt > /tmp/data_temp.txt系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。
linux下sendmail的安装与配置

1.要求利用Linux系统下的Mail服务,能够收发邮件;2.突出邮件服务器的特点,能够用OutLook收发邮件;一.配置DNS1. 使用vi /etc/named.conf打开DNS主配文件,然后找到最后一行,并在最后一行上面添加下列内容:zone "" IN {type master;file ".zheng";allow-update { none; };};zone "1.254.10.in-addr.arpa" IN {type master;file "10.254.1.fan";allow-update { none; };};2. 迚入/var/named目录,将该目录下的localhost.zone和named.local 分别拷贝为.zheng和10.254.1.fan,如下:[root@localhost root]# cd /var/named/[root@localhost named]# lslocalhost.zone named.ca named.local[root@localhost named]# cp localhost.zone .zheng[root@localhost named]# cp named.local 10.254.1.fan[root@localhost named]# ls10.254.1.fan localhost.zone named.ca named.local .zheng然后编辑.zheng和10.254.1.fan两个文件,将这两个文件分别改为如下内容:两文件中后面的点(.)不可少[root@localhost named]# vi .zheng$TTL 86400@ 1D IN SOA . . (42 ; serial (d. adams)3H ; refresh15M ; retry1W ; expiry1D ) ; minimum1D IN NS .1D IN MX 5 .ns 1D IN A 10.254.1.253mail 1D IN A 10.254.1.253[root@localhost named]# vi 10.254.1.fan$TTL 86400@ IN SOA . . (1997022700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN NS .253 IN PTR .253 IN PTR .3. 将/etc/resolv.conf文件中DNS设为本机IP [root@localhost named]# vi /etc/resolv.conf nameserver 10.254.1.253search localhost4. 测试DNS,如下图,说明成功。
Linux1 邮件服务器 配置sendmail.cf

Linux1 邮件服务器配置sendmail.cfsendmail.cf文件是sendmail每次启动时要读取的配置文件。
它包含了sendmail 启动时必须的信息。
它列出了所有重要文件的位置,指定了这些文件的缺省权限。
包含了一些影响sendmail行为的选项。
更重要的是,它还包含了地址重写(rewriting addresses)规则。
sendmail.cf文件是按行组织的。
每一个配置命令行都是由命令加上特定参数构成的,例如命令V的参数是一个数字,而F命令的参数则是字母w,再加上绝对路径,如图9-35中第70、91行所示。
图9-35 sendmail.cf配置命令行提示在对sendmail.cf文件进行配置时,必须保证每个配置命令行只能有一个命令,且位于该命令行行首(不存在空格),否则配置将不生效。
在该文件中如果行首的第一个字符为“#”,表示该行为注释;如果第一个字符为空格则表示该行为上一行的延续。
除此之外,行首的第一个字符均为命令,但是命令同变量或值之间没有间隔。
这种格式便于sendmail进行分析,但令很难使用户读懂。
下面介绍一下sendmail.cf配置文件中的命令。
1.D(定义宏)命令D定义宏并为其赋值。
当宏被定义之后,它就负责提供提供其存储的值给sendmail.cf文件中其他的命令使用或者直接提供给sendmail使用。
宏的名字可以是任何单字符,小写的用于sendmail内部宏,用户创建的宏只能使用大写字母作为名字。
一些sendmail的内部宏也在sendmail.cf文件里定义。
例如在配置文件中的第148、149两行定义了宏D和内部宏n,如图9-36所示。
图9-36 定义宏D和内部宏n那么宏D的值为,宏n的值为MAILER-DEAMON。
但若要使用宏的值时,还必须在宏的名字前面加上符号“$”,以这种形式来引用它的值。
例如图9-37配置文件中第150行设置。
图9-37 应用宏的值如果宏w的值为主机名moon,此时宏j的值就为,这便是本主机的全称名(FQDN)。
SMTP服务器的安装与配置

实验一、SMTP服务器的安装与配置1.实验目的通过对Sendmail服务器系统的安装与配置实验,加深对 SMTP协议的理解,掌握Sendmail邮件服务器的安装与配置方法,为将来从事网络工程建设打下基础。
2.实验要求下载Sendmail服务器源代码,在Linux 环境下,编译生成执行代码,并进行安装和配置,然后创建二个测试帐号,分别在本机和网络中其它计算机上使用测试帐号发送邮件,测试Sendmail服务器系统工作是否正常。
3.实验步骤3.1 实验准备1、系统要求●系统配置建议CPU 为PIII 900MHZ以上, 内存128MB以上,磁盘可用空间100MB以上,具有10M/100M网卡,操作系统采用 Red Hat 6.0 版本或更高版本。
●编译器环境系统必须装有ANSI-C编译器,推荐使用来自Free Software Foundation (FSF)的GNU C compiler (GCC)。
2、下载源代码Sendmail最新版本的源代码可以从或其镜像站点下载,本书附带的光盘上包括了 sendmail 8.13.0版本的原代码。
3、源代码解包将下载的安装包sendmail-8.13.0.tar.gz复制到某一个用户目录下(下面以/usr/src/目录为例介绍),然后用以下命令解压:$ cd /usr/src$ tar xvfz sendmail-8.13.0.tar.gz将会在/usr/src/目录下创建/sendmail-8.13.0子目录,该目录下包含sendmail的所有的源代码和相关文档。
3.2 安装设置首先用超级用户在/etc下创建mail目录(如果原来安装过sendmail,则可先把原来的mail目录备份:# mv mail mail.bak):# cd /etc# mkdir mail进入安装包所在目录:# cd /usr/src/sendmail-8.13.0# cd cf/cf编辑generic-linux.mc.mc 文件,在该文件中间增加以下三行,将避免在发送邮件时对发送地址和接收地址进行DNS解析:FEATURE (accept_unresolvable_domains)FEATURE (nocanonify)define( ‘confDONT_PROBE_INTERFACES' )选择与安装机器上操作系统(这里选LINUX)相同的配置文件:# cp generic-linux.mc sendmail.mc生成配置文件sendmail.cf,submit.cf ,并复制到安装目录/etc/mail:# make install-cf3. 3 编译# cd /usr/src/sendmail-8.13.0# make3. 4 安装把编译后的执行文件sendmail 复制到/usr/sbin/, 把配置文件sendmail.cf,submit.cf,statistics,helpfile 等拷贝到目录/etc/mail # make install安装完成后,可以清除编译生成的中间文件(.o),以释放磁盘空间:$ make clean3. 5 配置Sendmail 的配置文件放在/etc/mail/sendmail.cf中, 配置文件比较复杂,不过一般只需要修改几个地方就可以了,其他选项都使用默认设置。
Linux1 邮件服务器 启动和停止Sendmail服务

Linux1 邮件服务器启动和停止Sendmail服务安装Sendmail服务器配置之后,接下来需要做的就是启动Sendmail服务确保设置参数生效。
不过linux/unix等系统自带的mail应用,在多数情况下并不需要启用(默认是启用的),但有时会因此而产生不少的安全漏洞(如大量垃圾邮件的干扰),所以在通常情况下将停止(/etc/init.d/sendmail stop)这些系统的Sendmail服务。
在/etc/init.d目录中的脚本文件sendmail是控制Sendmail服务的,通过参数start、stop和restart可控制Sendmail服务的启动、停止和重启。
1.启动Sendmail服务若要启动Sendmail服务,只需在终端中输入“/etc/init.d/sendmail start”命令并按【回车】键,如图9-27所示。
图9-27 启动Sendmail服务或者在终端中,输入“service sendmail start”命令并按【回车】键,同样可以启动Sendmail服务,如图9-28所示。
图9-28 启动Sendmail服务2.自动启动Sendmail服务如果需要让Sendmail服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“sendmail”服务,在其前面加上星号(*),然后选择“确定”即可,如图9-29所示。
图9-29 自动启动Sendmail服务3.重启Sendmail服务重启Sendmail服务,只需在终端中输入“/etc/init.d/sendmail restart”命令并按【回车】键,如图9-30所示。
图9-30 重启Sendmail服务或者在终端中,输入“service sendmial restart”命令并按【回车】键,重启Sendmail 服务,如图9-31所示。
图9-31 重启Sendmail服务4.停止Sendmail服务若要停止Sendmail服务,只需在终端中输入“/etc/init.d/sendmail stop”命令并按【回车】键,如图9-32所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sendmail服务器的创建1.查看当前服务器是否安装sendmail软件包
2.安装sendmail-cf软件包
3.查看sendmail-cf软件包已安装
4.查看m4软件包已安装
5.用makemap命令生成新的access.db数据库
6.编辑sendmail配置文件sendmail.mc
7.使用m4工具把新的sendmail.mc文件重定向到sendmail.cf文件中
8.重新启动sendmail服务
9.给root用户发送邮件
10.查看root用户是否收到邮件
11.进入到Server目录安装dovecot软件包
12.启动dovecot服务
13.查看pop3和imap服务端口是否开启
14.编辑dovecot配置文件dovecot.conf
15.重新启动dovecot服务
16.编辑DNS配置文件
17.编辑sendmail下local-host-names文件
18.重新启动named服务和sendmail服务后查看域名解析
客户端
19.windows xp客户端查看DNS是否正确解析
20.配置outlook登录sendmail服务器发送邮件
21.使用outlook客户端编辑并发送邮件
22.查看是否正确发送邮件
23.redhat服务器登录查看root用户是否收到邮件
Sendmail认证配置1.修改sendmail配置文件sendmail.mc打开认证
2.使用m4工具将新的sendmail.mc文件重定向到sendmail.cf文件
3.重启sendmail服务并启动saslauthd服务
4.客户端配置
5.客户端重新发送邮件
6.此次发送需要验证
7.输入验证后邮件发送成功
8.redhat服务器登录root用户查看是否收到邮件。