Linux1 邮件服务器 测试Sendmail
linux中sendmail邮件发送导致服务器延迟linux操作系统-电脑资料
linux中sendmail邮件发送导致服务器延迟linux操作系统-
电脑资料
下面大家一起来看看关于linux中sendmail邮件发送导致服务器延迟问题的解决办法,希望例子对各位会带来帮助哦,。
在折腾自动备份到邮箱的脚本,执行中突然vps变得非常卡,ping了下发现vps的延迟飙升到了2000+,从阿里云后台的监控看上行带宽最大已经达到了1MB/s,
停止sendmail服务后延迟正常,重启后问题依旧,很容易就可以判断应该是邮件发送的附件体积较大占用大量网络资源导致的问题,尝试重启sendmail问题依旧,可以判断重启后邮件仍在发送的列队,会重新发送,平常很少使用mail命令,所以一番搜索后找到答案:代码如下复制代码
[root@abccccc ~]# sendmail -bp
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
s42CBBlP002728 175369339 Fri May 2 20:11
Total requests: 1
可以查看待发送的列队,看到已经的确是有列队的邮件,我们删除掉就好了,邮件列队文件存放
在/var/spool/mqueue/,删除该目录下的对应文件即可
代码如下复制代码
[root@abccccc ~]# cd /var/spool/mqueue
[root@abccccc mqueue]# ls
dfs42CBBlP002728 qfs42CBBlP002728
[root@abccccc mqueue]# rm -rf *。
Linux服务器部署系列之八—Sendmail篇
Linux服务器部署系列之⼋—Sendmail篇Sendmail是⽬前Linux系统下⾯⽤得最⼴的邮件系统之⼀,虽然它存在⼀些不⾜,不过,⽬前还是有不少公司在使⽤它。
对它的学习,也能让我们更深的了解邮件系统的运作。
下⾯我们就来看看sendmail邮件服务器的部署。
本⽂将从以下⼏个⽅⾯讲解Sendmail邮件系统:1.Sendmail安装;2.Sendmail基本配置;3.Openwebmail安装和配置;4.配置Mailscanner+clamav过滤病毒;5.配置SpamAssassin+mimedefang过滤垃圾邮件。
本⽂系统运⾏环境:CentOS 5。
⼀、安装Sendmail1. 软件需求(以下软件在安装光盘上都可以找到)cyrus-sasl-2.1.22-4.i386.rpmcyrus-sasl-lib-2.1.22-4.i386.rpmcyrus-sasl-plain-2.1.22-4.i386.rpmcyrus-sasl-devel-2.1.22-4.i386.rpmcyrus-sasl-md5-2.1.22-4.i386.rpmsendmail-8.13.8-2.el5.i386.rpmsendmail-cf-8.13.8-2.el5.i386.rpmsendmail-devel-8.13.8-2.el5.i386.rpmsendmail-doc-8.13.8-2.el5.i386.rpmm4-1.4.5-3.el5.1.i386.rpmdovecot-1.0.7-2.el5.i386.rpm另外,dovecot需要两外两个程序包的⽀持:perl-DBI-1.52-1.fc6.i386.rpmmysql-5.0.45-7.el5.i386.rpm2. 软件安装1)cyrus-sasl的安装先检查⼀下,系统默认安装了哪些软件包,如下图:安装cyrus-sasl-md5-2.1.22-4.i386.rpm,如下图:2)安装sendmail、dovecot等相关程序包,如下图:Sendmail要正常⼯作,是需要DNS⽀持的,⼀般企业都有DNS服务器,如果没有,可以参考我的另⼀篇⽂章:Linux服务器部署系列之三—DNS篇(/379574/169718),⾃⼰搭建⼀台DNS服务器。
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所示。
Linux1 邮件服务器 Sendmail所需的软件与软件结构
Linux1 邮件服务器Sendmail所需的软件与软件结构既然Red Hat Enterprise Linux5.4默认以Sendmail为MTA软件,且由MTA来监听Lookup这个端口,所以Sendmail当然是已经安装好的。
但是Sendmail还需要很多额外的软件来辅助处理,至少需要下面几个软件才行。
●Sendmail 提供主要的Sendmail程序与配置文件。
●Sendmail-cf 提供Sendmail.cf这个配置文件的默认整合数据。
●m4 辅助Sendmail将Sendmail-cf的数据转成实际可用的配置文件。
这三个软件存在着相关性,不过如果在安装的时候没有选择完整安装所有软件的话,Sendmail-cf则可能没有被安装,所以建议自行利用rpm以及yum检查,并安装软它。
提示Yum(Yellow dog Updater Modified)是一个源于Linux操作系统和平台中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
几乎所有的Sendmail相关配置文件都在/etc/mail/目录下,主要的配置文件基本上都有以下几个。
1./etc/Mail/Sendmail.cf(/usr/sbin/Sendmail的配置文件)这是Sendmail的主配置文件,所有与Sendmail有关的配置都是靠它来完成的。
不过,这个配置文件的内容很复杂,所以建议不要随意手动修改这个文件。
那么怎样处理额外的设置项目呢?只需交给程序为用户修改即可,所以才需要Sendmail-cf 这个软件。
2./usr/share/Sendmail-cf/cf/*.mc这些文件是Sendmail.cf配置文件的默认参数数据。
由于提示过不要直接手动修改Sendmail.cf,如果想要处理Sendmail.cf时,就需要通过这个目录下的参数来事先准备设置数据。
linux使用mail发送外部smtp邮件linux操作系统-电脑资料
linux使用mail发送外部smtp邮件linux操作系统-电脑资料本文章来给各位同学介绍一篇关于linux使用mail发送外部smtp 邮件,mail函数在linux中需要安装sendmail组件哦,这个大家不要忘记了,否则是不能发邮件的哦,。
说明:linux自带的mail可以实现外部smtp发邮件。
不需要本地配置postfix,sendmail邮件服务器,配置整套下来确实需要点时间。
实现:1.关闭本机的sendmail服务或者postfix服务代码如下复制代码sendmail# service sendmail stop# chkconfig sendmail offpostfix# service postfix stop# chkconfig postfix off2.修改/etc/mail.rc,增加一下类似N行,指定外部的smtp服务器地址、帐号密码等。
代码如下复制代码# cp /etc/mail.rc /etc/mailrc.bak.20131113 # cat /etc/mail.rc //内容如下setfrom=*************set smtp=set smtp-auth-user=123456set smtp-auth-password=sbsbsbsbset smtp-auth=login3.然后通过命令来发送邮件代码如下复制代码# echo hello word | mail -s " title"*************RHEL6下发送邮件没有问题。
但RHEL5下,一直没办法发送。
这是为什么呢?可以先看下RHEL6和RHEL5下mail和mailx的不同RHEL6下代码如下复制代码# rpm -qa|grep mailxmailx-12.4-6.el6.x86_64# ll /bin/mail* //mail链接到mailx,mailx版本为12.4lrwxrwxrwx. 1 root root 5 7月 22 2011 /bin/mail -> mailx -rwxr-xr-x. 1 root root 390424 2月 16 2010 /bin/mailx# mail -V12.4 7/29/08RHEL5下,则发现了一些不同代码如下复制代码# rpm -qa|grep mailxmailx-8.1.1-44.2.2# ll /bin/mail* //mailx链接到mail命令,mailx版本为8.1-rwxr-xr-x 1 root mail 84856 Jun 6 2007 /bin/maillrwxrwxrwx 1 root root 4 Apr 12 18:03 /bin/mailx -> mail # mail -V此处运行就会出错,没有-V这个参数也就是说,在RHEL65下,运行mail和mailx,实际上都是一个命令,而mail版本不同,导致了RHEL5下mail命令无法调用外部SMTP服务器,电脑资料《linux使用mail发送外部smtp邮件linux操作系统》(https://)。
linux mail 用法
linux mail 用法在Linux操作系统中,Mail是一个强大的命令行工具,用于发送和接收电子邮件。
它提供了一个简单而有效的方式来管理个人和企业的电子邮件通信。
下面是关于Linux Mail用法的详细说明。
1. 安装Mail:如果你的Linux系统上还没有安装Mail,请使用适当的包管理器来安装它。
例如,对于Debian或Ubuntu系统,可以使用以下命令安装Mail:```sudo apt-get install mailutils```2. 配置Mail:安装完毕后,首先需要配置Mail以便正确发送和接收邮件。
Mail的配置文件位于`/etc/mail.rc`或`~/.mailrc`文件中。
你可以使用文本编辑器打开一个或两个文件来进行配置。
3. 发送电子邮件:要发送电子邮件,可以使用以下命令:```echo "邮件正文内容" | mail -s "邮件主题" 收件人邮箱地址```例如,要发送一封主题为"Hello"的邮件给`*******************`,可以使用以下命令:```echo "这是一封测试邮件,请勿回复。
" | mail -s "Hello"*******************```你也可以在文件中编写邮件正文内容,并使用`-a`选项添加附件。
4. 接收邮件:Mail还可以用于接收电子邮件。
你可以使用以下命令检查新邮件:```mail```这将显示所有新邮件的列表。
你可以使用数字来查看特定邮件的内容,例如`mail 1`将查看第一封邮件的详细信息。
要删除指定的邮件,可以在邮件列表中使用`d`命令,然后按照提示操作。
5. 邮件管理:Mail提供了一些命令和快捷键来管理邮件。
例如:- `d`:删除选定的邮件- `u`:标记选定的邮件为未读- `s`:保存选定的邮件到一个文件- `/`:搜索邮件列表中的关键词这些命令使得邮件的管理变得更加方便。
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)。
Linux简单配置SendMail发送邮件
Linux简单配置SendMail发送邮件本⽂简单整理了⼀下如何在Linux服务器上安装、配置SendMail发送邮件的步骤,此⽂不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如遇特殊平台有所差别,请以实际情况为准则。
Linux 系统版本查看检查、了解系统版本信息,主要是如果使⽤rpm安装时,需要下载合适的版本。
[root@mylnx06 ~]# more /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core)检查是否安装sendmail组件如下所⽰,该服务器上并没有安装sendmail的相关组件。
那么我们直接使⽤yum安装sendmail组件即可。
[root@mylnx06 ~]# rpm -qa | grep sendmail[root@mylnx06 ~]# yum list sendmailLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile* epel: .hkAvailable Packagessendmail.x86_64 8.14.7-4.el7 base使⽤yum安装sendmail组件,当然你可以使⽤其它⽅式安装,此处不做展开介绍。
[root@mylnx06 ~]#编辑/etc/aliases⽂件Sendmail有⼀个⾮常实⽤的功能,就是为每个账号取别名(Aliase) 会使⽤⼀个在 /etc/aliases 中的档案做使⽤者名称转换的动作。
所以这个配置⽂件是可配也可以不配,具体视你的需求⽽定。
修改/etc/mail/sendmail.cf 添加对应的DS, DS后⾯为邮件服务器的IP地址。
根据实际具体情况配置。
其实这个配置⽂件,如果需要,还有蛮多需要配置、细化的地⽅,此处只讲述最简单的配置。
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所示。
linux 发送邮件方法
linux 发送邮件方法Linux 发送邮件方法在Linux系统中,我们可以使用各种工具来发送邮件。
本文将介绍如何使用命令行和邮件客户端来发送邮件,以及如何配置SMTP服务器和邮件检查程序。
一、使用命令行发送邮件1. 安装发送邮件的工具首先,需要安装sendmail或者Postfix来发送邮件。
在大多数Linux发行版中,sendmail或者Postfix已经预装了,如果没有安装,可以使用包管理工具进行安装。
2. 配置SMTP服务器在开始之前,我们需要配置SMTP服务器。
在大多数情况下,ISP(互联网服务提供商)会提供SMTP服务器的配置信息。
您可以在网上搜索相关信息或咨询ISP获取相关配置信息。
3. 编写邮件内容在发送邮件之前,需要先编辑邮件内容。
您可以使用文本编辑器(如vi、nano等)在终端中创建新文件,并在文件中编写您的邮件内容。
请确保邮件内容清晰、简洁,以提高阅读体验。
4. 使用命令行发送邮件发送邮件的命令行工具有两个常用的选项,分别是mail和sendmail。
具体使用哪一个取决于您的系统配置和个人偏好。
如果您使用的是mail命令,请使用以下命令发送邮件:mail -s [主题] [收件人邮箱] < [邮件内容文件名]如果您使用的是sendmail命令,请使用以下命令发送邮件:sendmail [收件人邮箱] < [邮件内容文件名]请注意,其中[主题]是您邮件的主题,[收件人邮箱]是您要发送给的邮箱地址,[邮件内容文件名]是您保存邮件内容的文件名。
5. 输入邮件密码当您运行发送命令时,系统可能会提示您输入SMTP服务器的用户名和密码。
请按照提示输入正确的用户名和密码,以便成功发送邮件。
二、使用邮件客户端发送邮件除了命令行工具,您还可以使用邮件客户端发送邮件。
1. 安装邮件客户端Linux系统提供了多种邮件客户端,您可以根据需求选择适合自己的客户端。
一些常用的邮件客户端有Thunderbird、Evolution和Claws Mail。
Linux服务器实用教程sendmail
2. 启动Sendmail
3. 配置DNS的MX记录
$TTL 86400 @ IN SOA . root.localhost ( 2 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ; ttl ) IN NS . @ IN MX 1 computer computer IN A 211.85.203.22
(1)SMTP协议
SMTP(Simple Mail Transfer Protocol,简 单邮件传输协议)是Internet上基于TCP/IP应用 层的协议,适用于主机之间电子邮件交换。
使用SMTP时,收信人可以是和发信人连接在同一个 本地网络上的用户,也可以是Internet上其它网络的用户, 或者是与Internet相连但不是TCP/IP网络上的用户,
3 邮件服务器(E-mail)
3.1 概述 电子邮件(Electronic mail)服务是Internet网络为用户 提供的一种最基本的、最重要的服务之一。 电子邮件将邮件发送到收信人的邮箱(mail box)中, 收信人可随时读取邮件。 电子邮件有非常高的效率。
1 E-mail的工作原理
在Internet网上,一封电子邮件的实际传递过程如下: (1)由发送方计算机(客户机)的邮件管理程序将邮件进 行分拆,即把一个大的信息块分成一个个小的信息块,并把 些小的信息块封装成传输层协议(TCP层)下的一个或多个 TCP邮包(分组)。 (2)TCP邮包又按网际层协议(IP层)要求,拆分成IP邮 包(分组),并在上面附上目的计算机的地址(IP地址)。
2. E-mail的地址
完整的电子邮件地址由二部分组成,第一部分为计算机上 的邮箱,第二部分为计算机。一种广泛使用的格式是用 “@”隔开二部分,例如: lb@
linux下架设邮箱 配置篇一[sendmail]
A、sendmail.mc配置批注vi /etc/mail/sendmail.mcdivert(-1)dnl在生成配置文件时删除额外的输出。
dnl #dnl # This is the sendmail macro config file for m4. If you make changes todnl # /etc/mail/sendmail.mc, you will need to regenerate thednl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package isdnl # installed and then performing adnl #dnl # make -C /etc/maildnl #这是m4的sendmail宏观设置文件。
如果您做变动/etc/mail/sendmail.mc,您将需要通过认证安装的sendmail-cf包执行make -C /etc/mail命名生成/etc/mail/sendmail.cf文件。
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl将sendmail所需的规则包含进来。
VERSIONID(`setup for linux')dnl指出配置文件是针对linuxOSTYPE(`linux')dnl必须设置为linux以获得sendmail所需文件的正确位置。
dnl #dnl # Do not advertize sendmail version.dnl #dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnldnl #dnl # default logging level is 9, you might want to set it higher todnl # debug the configurationdnl #默认的日志记录级别为9,您可能希望将其设置较高级别,则调整这个配置dnl define(`confLOG_LEVEL', `9')dnldnl #dnl # Uncomment and edit the following line if your outgoing mail needs todnl # be sent out through an external mail server:dnl #如果你需要通过外部邮件服务器发送的邮件的,取消注释和编辑以下行。
linux sendmail配置详解
sendmailMUA (mail user agent 邮件用户代理),用于用户端发送邮件或者阅读邮件 linux有mutt这个工具MTA (mail tranfer agent 邮件传输代理),相当于一个邮局,server端的软件,主要的功能有,接收MUA发来的邮件和把邮件发送给下一个MTA,可以说是一个邮件路由(mail router),server端的软件就属于MTA,现在开源的有sendmail,postfix,qmail等MDA (mail devilery agent 邮件投递代理),主要是将MTA所接受的邮件,依照邮件的目的地将此邮件放到本机账号下或者是给下一个MTA,一般就是指mail 这样的命令邮件的协议:发信: SMTP (simple mail tranfer protocol 简单邮件传输协议)端口号TCP的25端口,在发信时,MUA会主动连接MTA的port 25,然后经由SMTP协议发送出去,SMTP分为接受SMTP和发送SMTP,它不管两端主机的配置或者系统等,只要两边SMTP协议OK就可以发送邮件收信: POP (post office protocol 邮局协议),来连接到MTA,以读取或者下载邮件,现在常用的版本是POP3,端口为110IMAP (internet message access protocol 网络报文件协议),能在下载邮件前先下载邮件头信息,以可以让用户选择性下载端口 143软件包yum install sendmail*yum install dovecotsendmail.i386 --邮件服务器端 MTA sendmail-cf.i386 --配置文件包sendmail-devel.i386 --开发包sendmail-doc.i386 --文档包dovecot.i386 --(鸽舍),pop邮件服务端 MDAm4.i386 --处理配置文件的包端口: smtp (25) pop3 (110) imap (143)协议: TCP服务启动脚本:/etc/init.d/sendmail/etc/init.d/dovecot配置文件:/etc/mail/sendmail.cf --sendmail邮件服务启动时读取的主配置文件/etc/mail/sendmail.mc --管理员修改sendmail服务器功能时的配置文件/etc/mail/local-host-names --配置支持发送邮件时使用短域名形式/etc/mail/virtusertable --虚拟用户列表/etc/aliases --用户别名/etc/mail/access --邮件中继/etc/init.d/sendmail restart[root@li ~]# netstat -ntl |grep 25 --看到默认是只监听了127.0.0.1的回环地址tcp 0 0127.0.0.1:25 0.0.0.0:* LISTEN--发送邮件方法一:[root@li ~]# mail -s "mail" root@ --用此命令发送邮件 -s 后接邮件主题1111 --写邮件内容. --“." 点号表示结束Cc: --直接回车退出[root@li ~]# mail -s 'yyyy' a@ < /etc/grub.conf --还可以这样把/etc/grub.conf的内容直接发送给a用户--查看邮件方法一:cat /var/mail/rootcat /var/spool/mail/root --查看这两个一样的这样是可以查看到刚才发送的邮件,因为一个是自己发送给自己用的127.0.0.1这个回环地址,这种情况不需要DNS的MX支持--发送邮件方法二:[root@li ~]# telnet 127.0.0.1 25 --对smtp协议进行验证Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 11:30:09 +0800helo --定义来访者,可以用help去查看支持哪些命令集,用help+命令来看单个命令如何使用250 Hello localhost.localdomain [127.0.0.1], pleased tomeet youmail from:aa@ --定义一个发送者,这里可以随便定义250 2.1.0 aa@... Sender okrcpt to:a@ --定义接收者,这里是我本机的a用户250 2.1.5 a@... Recipient okdata --表示下面要写邮件内容354 Enter mail, end with "." on a line by itself4444444444 --随便写上你要发送的邮件的内容. --"." 点号表示结束250 2.0.0 o4T3U9l1026581 Message accepted for deliveryquit --quit退出,有时候一次退不出,就多敲几次quit221 2.0.0 closing connectionConnection closed by foreign host.yum install muttmutt --是一个在unix-like系统下小巧但强大的基于文本的一个能发送和阅读邮件的工具(MUA)--查看邮件方法二:直接在root用户下使用mutt命令,可以看到root用户的收信箱如果要看普通的邮件,就要先su - 普通用户名切换到普通用户再使用mutt命令查看--发送邮件方法三:[root@li ~]# mutt a@ --可以直接使用这样的命令发送给a@,会提示用户写内容,还有附件等功能--发送邮件方法四:[root@li ~]# cat /etc/rc.local |sendmail -v a@-------------------------下面先把DNS的MX记录给配置好[root@li mail]# vim/var/named/chroot/var/named/data/.zone$TTL 86400@ IN SOA . . ( 2010051605606036086400)IN NS .IN MX 0 . --MX是邮件交换记录,0是代表优先级别,可以写多个,数字越小优先级越高li IN A 10.1.1.35pop IN A 10.1.1.35smtp IN A 10.1.1.35/etc/init.d/named reloadvim /etc/resolv.conf --DNS指向改为本机[root@li mail]# nslookup --验证MX记录的方法> set type=mx> Server: 10.1.1.35Address: 10.1.1.35#53 mail exchanger = 0 . --看到这样的信息表示成功最好把时间同步也配好[root@li mail]# echo 'while :; do ntpdate 10.1.1.1> /dev/null 2>/dev/null; sleep 10; done'>> /etc/rc.local--每十秒同步一次10.1.1.1,放到/etc/rc.local里,开机自动运行把邮件客户端软件claws-mail拷过去装好ls /share/soft/soft/mail_client/tar xvf /share/soft/soft/mail_client/claws-mail-3.5.0.tar.gz -C/usr/src/tar xvf /share/soft/soft/mail_client/libetpan-0.57.tar.gz -C /usr/src/ cd /usr/src/libetpan-0.57/./configure ;make ;make installcd /usr/src/claws-mail-3.5.0/./configure ;make ;make install例一:让smtp协议监听所有端口vim /etc/mail/sendmail.mcDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把127.0.0.1改为0.0.0.0,或者是把中间那一小段去掉保存退出m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf --如果没有装m4.i386这个包,就需要使用m4命令去生成sendmail.cf配置文件,装了就不需要,重启sendmail服务自动生成/etc/init.d/sendmail restart[root@li claws-mail-3.5.0]# netstat -ntl|grep 25tcp 0 00.0.0.0:25 0.0.0.0:* LISTEN[root@li claws-mail-3.5.0]# telnet 10.1.1.35 25 --对本机的IP(非回环地址)做smtp协议的测试是可以做的,如果只监听127.0.0.1,就不能这样用IP测试Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 13:47:01 +0800helo 250 .................例二:用claws-mail收发邮件用claws-mail 发送一封邮件给本机用户,能写,但点收信时会报连接到:110失败原因检验:[root@li /]# nslookup --先查看DNS,能解析Server: 10.1.1.35Address: 10.1.1.35#53Name: Address: 10.1.1.35netstat -ntl |grep 110 --再查看端口,发现没有110端口,表示pop3协议没有配置所以要去配置dovecot服务[root@li /]# vim /etc/dovecot.confprotocols = imap imaps pop3 pop3s --在20行找到有一行注释,打开注释,或者写一行,表示支持pop3和imap协议/etc/init.d/dovecot restart --重启服务后,就可以看到监听143和110端口打开了[root@li /]# netstat -ntlup |grep 143tcp 0 0 :::143 :::* LISTEN 21674/dovecot[root@li /]# netstat -ntlup |grep 110tcp 0 0 :::110 :::* LISTEN 21674/dovecot然后就可以收邮件了例三:使用支持短域名来发送邮件[root@li /]# mail -s '222' a@ --使用短域名222222.Cc:[root@li /]# tail /var/mail/a --查看时看不到,表示不支持短域名[root@li /]# tail /var/mail/root --可以看到扔到root的邮箱去了配置方法:[root@li /]# vim /etc/mail/local-host-names --写上短域名--注意的是写的域名,最好是DNS能解析,否则测试失败/etc/init.d/sendmail reload再用短域名发送并测试发现是可以成功的例四:邮件别名,邮件转发,邮件群发[root@li /]# vim /etc/aliases加上a: b --表示发送给a用户的邮件,发给了b用户,a用户自己收不到c: d,e,f --表示发送c用户的邮件,发给了d,e,f三个用户,a用户自己收不到salegroup: :include:/etc/mail/salegroup --还可以这样写,把一些用户分组,注意/etc/mail/salegroup是不存在的,要手动建立并把这个组的成员写进去,一行一个用户;测试时发给的用户名要写成salegroup,例如:mail -s '7777' salegroup@/etc/init.d/sendmail reload例五:邮件的虚拟账号,虚拟用户表格[root@li /]# vim /etc/mail/virtusertablea@ b@ --把b@的账号虚拟成a@账号@ c --所有发往域的邮件都会发到本地的c用户的mailbox/etc/init.d/sendmail reload例五:邮件中继保持上面的配置不变的情况下,用另一台电脑做测试[root@dns ~]# telnet 10.1.1.35 25 --另一台电脑测试35这台服务器上的smtp 协议Trying 10.1.1.35...Connected to 10.1.1.35 (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:39:36 +0800helo 250 Hello [10.1.1.218], pleased to meet youmail from:sdfsa@250 2.1.0 sdfsa@... Sender okrcpt to:sfsadfa@550 5.7.1 sfsadfa@... Relaying denied. --可以看到中继拒绝[root@li /]# vim /etc/mail/access --默认是只允许127.0.0.1中继Connect:10.1.1.218 OK --非常信任的主机可以用OKConnect:10.1.1 RELAY --表示允许10.1.1.0网段中继FROM: REJECT --表示从来的邮件都拒绝TO: discard --到的邮件丢弃--reject和discard的区别,discard是直接丢弃,reject还要返回一个错误或者警告我在这里加上了Connect:10.1.1 RELAY/etc/init.d/sendmail reload再用刚才的另一台电脑来测试(要是10.1.1.0网段,因为上面我只允许这个网段relay)[root@dns ~]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to 10.1.1.35 (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:51:35 +0800helo dns.lu.con250 Hello [10.1.1.218], pleased to meet youmail from:sfsafa@250 2.1.0 sfsafa@... Sender okrcpt to:sdfsadf@250 2.1.5 sdfsadf@... Recipient ok --这次测试没有报relay deny的错误------------------------------------------------------------------- 使用smtp验证yum install cyrus-sasl*vim /etc/mail/sendmail.mc --把下面三行注释打开TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlDAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl/etc/init.d/sendmail restart/etc/init.d/dovecot restart/etc/init.d/saslauthd restart[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:42:54 +0800ehlo --注意这里是ehlo 不是 helo Hello [10.1.1.35], pleased to meet you 250-ENHANCEDSTATUSCODES250-PIPELINING250-8BITMIME250-SIZE250-DSN250-ETRN250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN --看到这里有login plain验证信息表示支持smtp验证250-DELIVERBY250 HELP验证:[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:45:12 +0800helo 250 Hello [10.1.1.35], pleased to meet youmail from:fsfafa@250 2.1.0 fsfafa@... Sender ok --这里没有要求验证原因:是因为smtp验证默认只是在587端口,而不是25端口,所以你还是直接telnet 10.1.1.35 25 就避开了使用smtp验证vim /etc/mail/sendmail.mc把下面这句DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl改为DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl然后还要DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把这名注释掉,注意注释时用dnl,不用#--表示强制使用smtp验证/etc/init.d/sendmail restart[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:55:58 +0800helo 250 Hello [10.1.1.35], pleased to meet you mail from:sfsafsa@530 5.7.0 Authentication required --现在就会看到需要验证auth login --开始验证334 VXNlcm5hbWU6a --输入用户名,会报错,因为这里是用base64位编码501 5.5.4 cannot decode AUTH parameter aauth login334 VXNlcm5hbWU6YQ== --这就是a的base64位编码334 UGFzc3dvcmQ6MTIz --这是123的base64位编码235 2.0.0 OK Authenticated --验证成功,可以发送邮件了mail from:sdfasfas@250 2.1.0 sdfasfas@... Sender okrcpt to:b@250 2.1.5 b@... Recipient okdata354 Enter mail, end with "." on a line by itselflast test.250 2.0.0 o4T8twFU025598 Message accepted for deliveryquit221 2.0.0 closing connectionConnection closed by foreign host.cat /var/mail/b 是可以看到发送的邮件---------------用claws-mail来验证点设置--目前账号的偏好设置--发送--把SMTP鉴权(SMTP AUTH)前面的勾打上--鉴权方式选PLAIN--用户ID和密码写上本机的一个普通名和其密码就OK再发送信件等都是经过了SMTP验证的。
Linux1 邮件服务器 配置与测试邮件服务器
Linux1 邮件服务器配置与测试邮件服务器在家庭或企业网络中,都离不开电子邮件系统,而电子邮件系统始终都离不开邮件服务器,因为邮件服务器构成了电子邮件系统的核心。
(1)在一个网络中,有一台安装了“bind-9.3.3”(邮件服务器需要DNS的支持)和“se ndmail”的“RedHatEnterprisesLinux5.4”服务器,其“IP”是:“192.168.0.9”。
(2)在终端中,输入“vi /var/named/chroot/etc/named.conf”命令(打开“DNS”主配置文件),并按【回车】键,如图9-91所示。
图9-91 打开配置文件(3)在已打开的DNS主配置文件中,依次按下“G”和“a”键,切换到最末行,并进入插入模式,写入如图9-92所示内容。
图9-92 写入相应内容(4)在该配置文件中,依次按下“Esc”和“:”键(切换到末行模式),输入“wq”命令(保存并退出),并按【回车】键,如图9-93所示。
图9-93 保存并退出(5)输入“vi /var/name/chroot/var/named/slyx.zone”命令(创建并打开正向区域文件),并按【回车】键,如图9-94所示。
图9-94 创建并打开正向区域文件(6)在已打开的正向区域文件中,按“a”键,进入插入模式,写入如图9-95所示内容。
图9-95 写入内容(7)在该区域文件中,依次按下“Esc”和“:”键(切换到末行模式),输入“wq”命令(保存并退出),并按【回车】键,如图9-96所示。
图9-96 保存并退出(8)在终端中,输入“vi /var/name/chroot/var/named/slyx.rev”命令(创建并打开反向区域文件),并按【回车】键,如图9-97所示。
图9-97 创建并打开反向区域文件(9)在已打开的反向区域文件中,按“a”键,并进入插入模式,写入如图9-98所示内容。
图6-99 写入内容(10)在该区域文件中,依次按下“Esc”和“:”键(切换到末行模式),输入“wq”命令(保存并退出),按【回车】键,如图9-99所示。
Sendmail服务器配置——邮件中继和SMTP验证
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
SMTP验证
8
(3)重新启动sendmail服务,使设置生效。
[root@RHEL4 mail]# service sendmail restart
(4)启动saslauthd服务。
Sendmail服务器配置 ——邮件中继和SMTP验证
邮件中继和SMTP认证
2
邮件中继:当需要把邮件从一个MTA传送到另一个MTA时,这个邮件中转 的动作称为邮件中继。
sendmail使用/etc/mail/access.db文件实现邮件中继的功能。sendmail 缺省情况下直接禁止其他不明身份的主机利用本地服务器投递邮件。这种情 况下,一个非本地的机器使用本地服务器进行投递时会产生“550 relay denied”错误。在需要使用邮件中继代理时,可以利/etc/mail/access.db 文件或SMTP验证来实现该功能。
"sorry,try again later"
(2)使用makemap命令生成access.db文件 。
[root@RHEL4 mail]# makemap hash /etc/mail/access.db</etc/mail/access
SMTP验证
6
SMTP验证机制可以实现用户级别的邮件中继控制。在 RHEL4中,利用saslauthd服务提供SMTP身份验证, 该服务由cyrus-sasl软件包提供,该软件包是默认安装 的。
动作取值:
➢ RELAY:允许通过该邮件服务器进行邮件中继。 ➢ REJECT:拒绝邮件中继并显示内部错误提示信息。 ➢ DISCARD:拒绝邮件中继但不返回错误提示信息。
Linux1 邮件服务器 安装Sendmail
Linux1 邮件服务器安装Sendmail免费版本的Sendmail官方网站是,用户可以在上面下载最新版本的源代码包进行编译安装。
而对于Red Hat Enterprise Linux5.4的用户来讲也可以使用安装光盘上自带的RPM包进行安装。
在使用RPM安装Sendmail之前,首先需要在终端界面下使用-qa命令参数查看系统是否安装有Sendmail及所需宏文件编辑器m4,如图9-7所示。
图9-7 查看是否安装Sendmail所需软件由图9-7所示,可看出默认情况下Sendmail及m4已经安装了。
但其它与Sendmail相关的软件是没有被安装的,其中sendmail-cf分布在系统的第2张光盘中,而sendmail-doc和sendmail-devel两个软件包则分布在系统的第3张光盘。
这里,首先将系统的第2张光盘放入光驱中,然后使用mount命令将此光盘挂载到一个指定的目录(如,/tmp)下,如图9-8所示。
图9-8 挂载第2张光盘到/tmp目录将光盘挂载到指定的目录后,接着可在终端下输入mount命令,查看光盘是否挂载成功,如图9-9所示。
图9-9 查看光盘是否挂载成功从图9-9所示的最后一行输出结果可查看到系统的第2张光盘已被成功挂载到/tmp目录下。
然后可以使用find搜索命令,在该系统光盘中查找Sendmail的sendmail-cf软件包,如图9-10所示。
图9-10 查找sendmail-cf软件包由图9-10输出结果可知,已成功查找到sendmail-cf软件包,其路径为/tmp/Server/sendmail-cf-8.13.8-2.e15.i386.rpm。
接下来,就可以使用rpm工具对sendmail-cf软件包进行安装。
安装软件包时,使用的语法为“rpm –vih 软件包的绝对路径”。
如图9-11所示。
图9-11 安装Sendmail-cf软件包当sendmail-cf软件包安装完成后,为了确保正确无误,此时可通过在终端下输入“rpm –qa|grep sendmail”命令,并按【回车】键查看软件包安装情况,如图9-12所示若在输出中,能够查看到已安装的sendmail-cf软件包时,则证明该软件包已成功安装。
Linux1 邮件服务器 电子邮件工作原理
Linux1 邮件服务器电子邮件工作原理在开始介绍邮件的传送过程之前,先思考一下,我们通常是如何寄出电子邮件的?假设要寄信给一个用户,它的电子邮件地址是aa@,也就是说,要寄一封信到这台计算机上。
那么用户的计算机(如Windows系统)是否能够将这封信直接通过网络送给那台计算机?当然不行,用户需要设置为你转信的邮件服务器才行,即用户必须要先向某一台邮件服务器注册,以取得一个合法的电子邮件使用权限后,才能够发送邮件出去。
所以说,要寄出一封邮件是需要很多接口帮忙的,下面列出了一个简单的电子邮件传送流程,如图9-2所示。
本地邮件服务器图9-2 电子邮件传送流程图1.常用术语及解释在邮件传输过程中,所需的组件及相关协议主要包括MUA、MTA、MDA、Mailbox、SMTP、POP3及IMAP,下面来对它们进行详细的解释。
●MUA(Mail User Agent)MUA指的是邮件用户代理人,因为除非用户可以直接利用类似Telnet之类的软件登录邮件服务器来主动发出邮件,否则就需要通过MUA帮助将邮件送到邮件服务器上。
最常见的MUA是Mozilla推出的Thunderbird(雷鸟)自由软件,或者是Linux桌面KDE常见的KMail及Windows内的Outlook Express等。
MUA主要的功能就是接收邮件服务器的电子邮件,以及提供用户浏览和编写邮件的功能。
●MTA(Mail Transfer Agent)MUA帮助用户传送邮件到邮件服务器上,如果这台服务器能够帮助用户将这封信寄出去,那么它就是一台邮件传送计算机(MTA)。
MTA是指邮件传送代理人,所以当用户寄出或要接收邮件时,只需要借助它就能够完成。
通常,它具有接收邮件、转发邮件及响应用户的收信要求几种功能。
在接收邮件时,MTA设备最主要的功能就是将来自客户端或者其他MTA的邮件接收下来。
此时,它使用SMTP(Simple Mail Transfer Protocol,简单邮件传送协议),端口号为25。
Linux1 邮件服务器 Linux下选择哪个邮件服务器系统
Linux1 邮件服务器Linux下选择哪个邮件服务器系统几年以前,Linux环境下可选择的免费邮件服务器软件只有Sendmail,但是由于Sendmail的缺陷,一些开发者先后开发了若干种其他的邮件服务器软件。
当前,运行在Linux环境下免费的邮件服务器,或者称为MTA(Mail Transfer Agent)有若干种选择,比较常见的有Sendmail、Qmail、Postfix、exim及Zmailer等等。
本节希望通过对几种影响相对来说比较大的主流Linux环境下的MTA的特点进行阐述,并对其优缺点一一分析比较,使用户在选择Linux 环境下的免费MTA时有一个选择的依据。
1.PostfixPostfix是一个在IBM资助下由Wietse Venema负责开发的自由软件工程的一个产物,其目的是为用户提供除sendmail之外的邮件服务器选择。
Postfix力图做到快速、易于管理、提供尽可能的安全性,同时尽量做到和sendmail邮件服务器保持兼容性以满足用户的使用习惯。
起初,Postfix是以VMailer这个名字发布的,后来由于商标上的原因改名为Postfix。
主要设计目标Postfix工程的目的是实现一个邮件服务器,提供给用户除sendmail以外的选择。
其设计目标主要包括其性能、兼容性、安全和健壮性、灵活性和安全性几个方面。
性能方面,Postfix要比同类的服务器产品速度快三倍以上,一个安装Postfix 的台式机一天可以收发百万封信件。
Postfix设计中采用了web服务器的设计技巧以减少进程创建开销,并且采用了其他的一些文件访问优化技术以提高效率,但同时保证了软件的可靠性。
兼容性方面,Postfix设计时考虑了保持Sendmail的兼容性问题,以使移植变的更加容易。
Postfix支持/var/mail、/etc/aliases、NIS及~/.forward等文件。
然而Postfix 为保证管理的简单性,所以没有支持配置文件sendmail.cf。
Linux1 邮件服务器 Sendmail文件
Linux1 邮件服务器Sendmail文件Sendmail是配置Sendmail邮件服务器的关键,里面包括许多配置文件,且各个功能都有所不同。
主要包括以下几个:●/etc/mail/sendmail.cf sendmail的主配置文件。
●/etc/mail/access 文件继访问控制。
●/etc/mail/domaitable 域名映射。
●/etc/mail/local-host-name 本地计算机别名。
●/etc/mail/mailertable 为特定的域指定特殊的路由规则。
●/etc/mail/virtusertable 虚拟域配置。
其中,sendmail.cf文件是Sendmail最主要的配置文件,没有它Sendmail就无法运行。
Sendmail文件一向以其内容较长、费解、难以配置而著称。
如果查看里面的内容就会发现它和其它服务器的配置文件截然不同,没有任何的可读性,因此除非真的熟悉其语法原则,否则不建议用户直接对其进行编辑。
Sendmail提供一个宏处理器m4,用户可以先编辑一个相对简单的m4宏配置文件,然后用m4宏处理器把这个文件转换成为Sendmail的配置文件。
在Red Hat Enterprise Linux5.4的/etc/mail目录下,存放着默认的m4宏配置文件sendmail.mc,对于满足一般需求的邮件服务器来讲,用户只需在终端下输入“vi /etc/mail/sendmail.mc”命令,然后按【回车】键进入sendmail.mc文件的编辑界面,对文件进行简单的修改即可满足需求。
此文件的内容如图9-34所示。
图9-34 默认的m4宏文件内容下面来详细的讲解一下这个配置文件。
第1行divert(-1),代表这一行开始一直到divert(0)的部分将在m4进行处理时被忽略掉,不会出现在生成的配置文件中,一般会在这两行之间加入一些版本信息等内容。
文件中有的行是以字符串dnl开头,dnl的作用是注释从它开始到下一行开始的所有字符,即注释部分;还有的行是以dnl结尾,因为m4宏处理器是不识别行的,所以在一行的结尾处需要用dnl注释后面的空格和换行符,以免在生成配置文件中出现不必要的空行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux1 邮件服务器测试Sendmail
配置好每一种服务器后总要检验一下服务器的运行状态,查看是否设置正确。
检测服务器的运行可以通过进程检查、端口的测试及查看邮件日志等几种方式。
不过,所有的测试都是在前面配置过程中系统没有报错的情况下进行的,如果有报错的说明服务器的基本配置存在错误,要从配置文件开始查看起。
1.进程检查
检验Sendmai服务器是否正常运行,首先要利用命令“ps –eaf |grep sendmail”查看Sendmai服务器是否有它自己的进程存在,如图9-43所示。
图9-43 进程检查
以smmsp运行的进程为Starting sm-client(启用Sendmail客户端)时产生的进程。
如果有如上显示就表示进程启动正常。
2.端口的测试
由于sendmail服务器占用的是SMTP 25端口,所以要检测服务器是否正常运行,还应该使用“netstat -tlunp”命令查看SMTP的端口号是否打开,如图9-44所示。
图9-44 查看端口状态
输出中“tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN”信息,表示端口为所有网络接口打开,且处于正常的监听状态。
为了检测服务器的端口的可用性,使用telnet hostname port命令(port代表端口),登录到sendmail服务器所使用的25号端口。
登录后,使用介绍SMTP和邮件接收协议时使用的命令,测试收发邮件,测试时使用的用户为本服务器的用户。
由于sendmail默认的禁止转发功能会禁止邮件的转发,所以不能使用其它域的用户。
3.查看sendmail服务日志
查看日志始终都是配置服务器的最好帮手,学会查看日志能节省许多时间。
邮件服务器的日志保存在/var/log/目录中,可使用ls –la /var/log/mail*命令查看所有的
邮件服务的日志文件,如图9-45所示。
图9-45 查看sendmail服务日志文件
文件maillog为系统现在正在使用的服务日志,而maillog.1等后缀为数字的文件中存放的则是旧的日志,系统一般会自动管理日志,不用管理员手动删除整理。
查看maillog文件全部日志信息,可使用“cat /var/log/maillog”命令。
但由于日志信息过多,只希望从众多的邮件日志信息中截取最新的10行,则可使用“tail -10 /var/log/maillog”命令执行操作,如图9-46所示。
图9-46 查看最新10行日志信息
日志内容用空格做区域分隔,第1列为月,第2列为日,第3列为时间,第4列为服务器的名称,第5列为服务和进程号,第6列为发生的事件。
例如“Apr 15 13:16:28 slkj sendmail[2620]: starting daemon (8.13.8): SMTP*queueing@01:00:00表示4月15日下午13:16:28用户启动sendmail服务器这一信息。