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地址。
根据实际具体情况配置。
其实这个配置⽂件,如果需要,还有蛮多需要配置、细化的地⽅,此处只讲述最简单的配置。
- 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服务器这一信息。