VCSA-无法为已触发的警报发送电子邮件

一、确认SMTP服务器正常

 550 5.7.1 Unable to relay for ,意思是中继限制,查了下是SMTP服务器拒绝服务引起的。

在SMTP虚拟服务配置,在属性-访问中有“中继限制”这项,选择“仅以下列表除外”,列表为空。

1.1、测试SMTP服务器

telnet 来测试smtp服务器的收发邮件;
运行进入cmd窗口 输入如下:telnet 192.168.1.2 25 (192.168.1.2 是你的smtp服务器25是端口)
220 mail.finet.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at
 Fri, 16 Apr 2010 15:16:48 +0800
helo (打招呼 必须的格式)
250 mail.finet.com Hello [192.168.1.92]
mail from:herod_xiao@163.com   发送的邮箱
250 2.1.0 herod_xiao@sina.com.cn....Sender OK
rcpt to : herod_xiao@finet.com       接收的邮箱
250 2.1.5 herod_xiao@finet.com
data                输入数据的命令
354 Start mail input; end with <CRLF>.<CRLF>
Subject:mail test         输入的标题 S要大写
test test test!!!!!!!!!!!!!!!!!!          输入的内容* 回车
。 输入一个英文的点 然后回车
250 2.6.0 MAILzi9yzu23LiC1h1j00001039@mail.finet.com Queued mail for delivery
quit           退出
以上红色部分是输入内容
其他是输出信息
然后查看是否有收到邮件,如果收到说明smtp收邮件没问题;
你也可以试试发邮件看看;只需将mail from 和 rcpt to更换一下就

 

二、检查VCSA

2.1、检查日志
cat /var/log/vmware/vpxd/vpxd.log |grep SMTP

2.2、修改中继配置
Connect via SSH to the VCSA and go to the folder "mail"
>cd /etc/mail
You will see several files, you have to edit one called submit.cf (do a copy of the file, before modifying)
Look for this line "# "Smart" relay host (may be null)"
 
After the "DS", enter the FQDN of your SMTP server like this:
# "Smart" relay host (may be null)
DS smtp.pp.com (example)

2.3、重启sendmail服务

sendmail restart

三 、sendmail配置文件

sendmail.cf文件的注释完成了。 
还是从Red Hat Linux宝典上摘录的,不当之处希望各位能指正。有几个没有注释,有谁知道的话,希望能够补全。 :D 谢谢。 
# 
# Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers. 
# All rights reserved. 
# Copyright (c) 1983, 1995 Eric P. Allman. All rights reserved. 
# Copyright (c) 1988, 1993 
# The Regents of the University of California. All rights reserved. 
# 
# By using this file, you agree to the terms and conditions set 
# forth in the LICENSE file which can be found at the top level of 
# the sendmail distribution. 
# 
第一部分包括创建该sendmail.cf文件的组件文件清单,还包括有关该配置文件格式和版本的信息。 
###################################################################### 
###################################################################### 
##### 
##### SENDMAIL CONFIGURATION FILE 
##### 
##### built by root@server.magiccity.com on Sun Feb 27 22:20:43 CST 2005 
##### in /etc/mail 
##### using /usr/share/sendmail-cf/ as configuration include directory 
##### 
###################################################################### 
##### 
##### DO NOT EDIT THIS FILE! Only edit the source .mc file. 
##### 
###################################################################### 
###################################################################### 

##### $Id: cfhead.m4,v 8.108.2.3 2003/04/03 17:51:51 ca Exp $ ##### 
##### $Id: cf.m4,v 8.32 1999/02/07 07:26:14 gshapiro Exp $ ##### 
##### setup for Red Hat Linux ##### 
##### $Id: linux.m4,v 8.13 2000/09/17 17:30:00 gshapiro Exp $ ##### 



##### $Id: local_procmail.m4,v 8.21.42.1 2002/11/17 04:25:07 ca Exp $ ##### 


##### $Id: no_default_msa.m4,v 8.2 2001/02/14 05:03:22 gshapiro Exp $ ##### 

##### $Id: smrsh.m4,v 8.14 1999/11/18 05:06:23 ca Exp $ ##### 

##### $Id: mailertable.m4,v 8.23 2001/03/16 00:51:26 gshapiro Exp $ ##### 

##### $Id: virtusertable.m4,v 8.21 2001/03/16 00:51:26 gshapiro Exp $ ##### 

##### $Id: redirect.m4,v 8.15 1999/08/06 01:47:36 gshapiro Exp $ ##### 

##### $Id: always_add_domain.m4,v 8.11 2000/09/12 22:00:53 ca Exp $ ##### 

##### $Id: use_cw_file.m4,v 8.11 2001/08/26 20:58:57 gshapiro Exp $ ##### 


##### $Id: use_ct_file.m4,v 8.11 2001/08/26 20:58:57 gshapiro Exp $ ##### 


##### $Id: local_procmail.m4,v 8.21.42.1 2002/11/17 04:25:07 ca Exp $ ##### 

##### $Id: access_db.m4,v 8.24 2002/03/06 21:50:25 ca Exp $ ##### 

##### $Id: blacklist_recipients.m4,v 8.13 1999/04/02 02:25:13 gshapiro Exp $ ##### 

##### $Id: accept_unresolvable_domains.m4,v 8.10 1999/02/07 07:26:07 gshapiro Exp $ ##### 


##### $Id: proto.m4,v 8.649.2.24 2003/08/04 21:14:26 ca Exp $ ##### 

# level 10 config file format 
V10/Berkeley 
说明这个配置文件相当于sendmail V10的开放原代码伯克利发布版。 

# override file safeties - setting this option compromises system security, 
# addressing the actual file configuration problem is preferred 
# need to set this before any file actions are encountered in the cf file 
#O DontBlameSendmail=safe 
如不设置safe,sendmail将不接受转发文件、包含文件、收件箱、配置文件、类文件或者散列映射文件,这些文件使组或所用用户都可写的文件,或者位于一个组或所用用户都可写的目录下(在sendmail.mc文件中将confDONT_BLAME_SENDMAIL设置为safe会覆盖文件安全检查)。 

# default LDAP map specification 
# need to set this now before any LDAP maps are defined 
#O LDAPDefaultSpec=-h localhost 
利用LDAPDefaultSpec选项,可以添加包括LDAP专用设置的默认LADP映射。默认情况下,没有设置任何LDAP映射。主机:-h host 端口:-p port 域名:-d bindDN 

################## 
# local info # 本地信息项 
################## 

# my LDAP cluster 
# need to set this before any LDAP lookups are done (including classes) 
#D{sendmailMTACluster}$m 

Cwlocalhost定义类宏w,它包括对该计算机给出的所有可能的主机名列表,这包含所用NDS别名、/etc/hosts中的所用引用甚至还有在该计算机上拥有帐户的个别用户使用的错误名字(避免使用那些邮件返回)。因为这可能使得一些主机上会有很长的列表,所以Fw/etc/mail/local-host-names一行定义文件类宏w,使这些主机名存储在一个单独的文件中(是/etc/mail/local-host-names文件). 
Cwlocalhost 
# file containing names of hosts for which we receive email 
Fw/etc/mail/local-host-names 

# my official domain name 
# ... define this only if sendmail cannot automatically determine your domain 
#Dj$w.Foo.COM 
如果在sendmail.mc文件中已经设置了confDOMAIN_NAME,上一行应该不加注释并且用户的域名会取代Foo.COM。但是,将这一行注释掉,sendmail将试图自己来确定用户计算机的域名。建议让sendmail决定规范域名。 

CP. 
定义类P,(类只包括一个句号“.”) 

# "Smart" relay host (may be null) 
DS 
指明没有定义智能中继主机。 

# operators that cannot be in local usernames (i.e., network indicators) 
CO @ % ! 
定义类O,它列出了用户名中无效的三个字符(@,%,!)。 

# a class with just dot (for identifying canonical names) 
C.. 
定义类“.”,(类只包括一个句号“.”) 

# a class with just a left bracket (for identifying domain literals) 
C[[ 
定义类“ [” 

# access_db acceptance class 
C{Accept}OK RELAY 


C{ResOk}OKR 


# Hosts for which relaying is permitted ($=R) 
FR-o /etc/mail/relay-domains 
指定一个文件R,该文件是一个邮件可以中继的主机列表,并存储在/etc/mail/relay-domains文件中。 

# arithmetic map 
Karith arith 
# macro storage map 
Kmacro macro 
# possible values for TLS_connection in access map 
C{tls}VERIFY ENCR 





# dequoting map 
Kdequote dequote 
Kdequote声明dequote类的dequote数据库。它用来清楚重写规则中的地址的引用标记。 

# class E: names that should be exposed as from this host, even if we masquerade 
# class L: names that should be delivered locally, even if we have a relay 
# class M: domains that should be converted to $M 
# class N: domains that should not be converted to $M 
#CL root 
C{E}root 
E类:指出根用户的邮件应当一直使用适当、完整的主机名和域名,即使其他指令要求这个主机名伪装成别的主机名。 
L类:列出在本地主机接收邮件的用户名,即使其他指令要求所有邮件都必须中继到别处。 
M类:指出哪些域应该伪装主机名(如在下面的M宏中设置的那样)。 
N类: 指出不应该伪装主机名。 
C{w}localhost.localdomain 



# my name for error messages 
DnMAILER-DAEMON 


# Mailer table (overriding domains) 
Kmailertable hash -o /etc/mail/mailertable.db 
定义mailertable数据库,mailertable文件允许将特定的电子邮件转发到所选的服务器。 

# Virtual user table (maps incoming users) 
Kvirtuser hash -o /etc/mail/virtusertable.db 
定义virtusertable数据库,virtusertable文件用于在多个域中为特定用户重定向邮件。 

CPREDIRECT 
给类P添加文本REDIRECT,它与重定向特性(在m4配置文件启用)一起使用,允许为不再有效的帐户创建别名。 

# Access list database (for spam stomping) 
Kaccess hash -T -o /etc/mail/access.db 
定义access列表数据库,access文件可用于依据某种信息有选择地接收、拒绝、中继或者丢弃任何邮件。 

# Configuration version number 
DZ8.12.10 
设定宏Z,它包含sendmail守护进程的所有版本信息。 


############### sendmail.cf文件包含相当多的选项用于Red Hat Linux系统中设置 
# Options # sendmail,选项定义在Option块之后开始。 
############### 

# strip message body to 7 bits on input? 
O SevenBitInput=False 
SevenBitInput指明Sendmail不应清除所有邮件信息的每一字节的最高位。 

# 8-bit data handling 
#O EightBitMode=pass8 
EightBitMode指明sendmail如何处理未明确表明为8位的邮件数据。 
 pass8:允许原样传送所有的8位数据。 
 mimefy:把任何未指定的数据类型转化为MIME编码类型。 
 strict:拒绝任何非8位数据,注意,该选项对表明为8位的数据没有影响。 

在重建别名数据库之前,sendmail先进行几项检测,以确保没有其他进程正在试图进行相同的操作。下面二个参数与别名文件有关。 
# wait for alias file rebuild (default units: minutes) 
O AliasWait=10 
AliasWait:指定sendmail在等待和执行检测之间切换的分钟数。 

# location of alias file 
O AliasFile=/etc/aliases 
AliasFile:指明含有邮件别名的存文本文件的位置。 

下面二个参数与sendmail分配磁盘空间的方式有关。 
# minimum number of free blocks on filesystem 
O MinFreeBlocks=100 
MinFreeBlocks指明,如果接收一个邮件会使保存邮件的文件系统上可用空间少于100个空闲块(100K),这个邮件就会被拒绝。 

# maximum message size 
#O MaxMessageSize=1000000 
限制传入邮件的最大容量(以上是1M)。在默认情况下,对容量没有限制。 

# substitution for space (blank) characters 
O BlankSub=. 
BlankSub用指定的字符(以上是“.”)代替电子邮件地址中的空白空间(非法字符)。 

# avoid connecting to "expensive" mailers on initial submission? 
O HoldExpensive=False 
如果MDA定义(将在本节后面介绍)包括选项F=e,邮件程序被归类为开销太大,简单地说就是传送邮件时链接数度慢或者涉及其他处理延迟等。HoldExpensive选项允许开销太大的MDA处理的邮件队列等待,而不是马上处理。以上一行禁用这个选项,下行与检测点队列有关。 

# checkpoint queue runs after every N successful deliveries 
#O CheckpointInterval=10 
把邮件传送到多个地址时,sendmail有时需要记录那些收件人已经收到邮件。CheckpointInterval选项设置在qf文件更新过程中处理的接收邮件地址的数目。 

# default delivery mode 
O DeliveryMode=background 
设置sendmail传送方式。 
 background:sendmail生成一个副本,并异步处理邮件。 
 deferred:邮件队列等待,所有处理过程包括DNS查找和数据库访问都被延迟,一直到队 列运行为止。 
 interactive:在前台以同步方式处理队列。 
 queueonly:与deferred很相似,但立即解析主机名和查询数据库。 

# error message header/file 
#O ErrorHeader=/etc/mail/error-header 
ErrorHeader允许指定文件中的文本包含在所有状态信息中与xf文件中的任何错误信息一起返回给发件人。 

# error mode 
#O ErrorMode=print 
本地用户在试图传送邮件时,会遇到许多问题,ErrorMode选项为他们提供了5种显示错误信息的方法: 
 e:把错误信息传送给发件人,但能成功地终止。 
 m:把错误信息传送给发件人,带有错误代码退出系统。 
 p:把错误信息打印到用户终端,并保存在~/dead.letter文件种。默认值。 
 q:忽略所用发送的错误信息。 
 w:把错误信息写入用户终端。 

# save Unix-style "From_" lines at top of header? 
#O SaveFromLine=False 
在默认情况下,禁用SaveFromLine选项(False),其结果是,以“From”(区分一个邮件结尾和下一个邮件标题的特殊标记)文本开始的邮件信息行前面加上>符号,放在传送邮件的前面。 

# queue file mode (qf files) 
#O QueueFileMode=0600 

# temporary file mode 
O TempFileMode=0600 
TempFileMode设置临时文件的使用权限为文件所有者只读。建议最好不要选择其他方式。 

# match recipients against GECOS field? 
#O MatchGECOS=False 
MatchGECOS选项将sendmail以用户全名的转换形式传送邮件,这种转换形式在/etc/passwd文件中的GECOS字段指定。例:用户wharris(按照GECOS字段)的全名是Wayne Harris,这个用户可以使用wharris@mybox.com,Wayne_Harris@mybox.com或者Wayne.Harris@mybox.com来接收邮件。不提倡使用这个选项,因为它会产生岐义,并且用户可能会以一种破坏sendmail正常的邮件传送机制的方式改变他们的GECOS字段。 

# maximum hop count 
#O MaxHopCount=25 
不能传送的信息反馈到发送者之前,MaxHopCount选项规定跳数(邮件从一台机器到另一台机器的传送)的最大值。 

# location of help file 
O HelpFile=/etc/mail/helpfile 
HelpFile选项列出包括联机帮助文本的文件名。执行telnet localhost 25,然后输入help,查看相关数据。 

# ignore dots as terminators in incoming messages? 
#O IgnoreDots=False 
IgnoreDots选项决定当sendmail遇到邮件中只包含单个“.”字符的行时如何处理。该选项不存在,被注释掉,或者设为False时,单个圆点符号被看做是邮件的结束标志(RFC 821规定)。如果设为True,圆点字符不表示什么特殊的意义。 

# name resolver options 
#O ResolverOptions=+AAONLY 
ResolverOptions用来调整DNS查询的方式。输入man resolver,可找到对有效标志的描述。 

# deliver MIME-encapsulated error messages? 
O SendMimeErrors=True 
SendMimeErrors选项定义传送状态通知邮件是采用MIME编码或者保留为纯文本。 

# Forward file search path 
O ForwardPath=$z/.forward.$w:$z/.forward 
ForwardPath选项定义单个用户的.forward文件的查找路径。$z:改用户的主目录,$w:本地主机名。例如,本地机al上用户kzabon的主目录是/home/kzabon,sendmail首先查找/home/kzabon/.forward.al文件,然后查找/home/kzabon/.forward文件,如两个文件都不存在,邮件就会被传送到收件箱文件/var/spool/mail/kzabon中。 

连接的高速缓存可以通过一个连接使Sendmail把许多邮件信息传送到同一机器上,而不是打开与一个主机的连接、发送邮件、关闭连接、再打开与同一个主机的另一个连接。 
# open connection cache size 
O ConnectionCacheSize=2 
ConnectionCacheSize选项可以减少建立和结束连接的开销。默认允许同时最多有2个连接。 

# open connection cache timeout 
O ConnectionCacheTimeout=5m 
ConnectionCacheTimeout选项限制打开一个连接的时间,默认为5分钟。 

# persistent host status directory 
#O HostStatusDirectory=.hoststat 
HostStatusDirectory选项可以建立一个目录(如果没有指定完整路径名,则相对于队列目录/var/spool/mqueue),存储所有计算机的状态,sendmail利用这些信息来建立连接。在默认情况下不设置,因为执行它只会消耗资源,不会有实质性收益。 

# single thread deliveries (requires HostStatusDirectory)? 
#O SingleThreadDelivery=False 
SingleThreadDelivery选项规定任何一台计算机最多只能有一个连接。它不仅需要HostStatusDirectory选项,而且当本地机正在处理来自同一主机的大容量邮件时,它禁止将任何邮件发送到该主机。 

# use Errors-To: header? 
O UseErrorsTo=False 
UseErrorsTo选项允许sendmail使用或者忽略“Errors-To:”标题行。如设为True,所有传送错误将发往由标题行指定的地址中。 

# log level 
O LogLevel=9 
LogLevel选项设定发往syslog工具的日志信息的优先权和错误的严重性。改选项在0(只报告严重错误)~98(记录最多的调试信息和所有重要的信息)之间。 

# send to me too, even in an alias expansion? 
#O MeToo=True 
MeToo选项决定当发件人也出现在邮件列表的发送列表中时,选择sendmail的行为。设为Treu时,发件人收到邮件。 

# verify RHS in newaliases? 
O CheckAliases=False 
CheckAliases设为true时,它将评测冒号左边的地址,保证冒号右边的地址是一个有效的传递代理。 

以前用空格格开收件人列表。后来用逗号,因为收件人名字中经常有空格。 
# default messages to old style headers if no special punctuation? 
O OldStyleHeaders=True 
设为True时,OldStyleHeaders允许用逗号分隔收件人名单,将没有用引号括起来的空格转换成逗号。设为False时,未注释掉的空格转换成BlankSub选项规定的字符。 

# SMTP daemon options 
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA 
DaemonPortOptions:用来限制端口数、sendmail侦听入站连接的网络、同时入站的连接数、TCP/IP发送和接收缓存区的大小。(smtp守护进程) 
在默认情况下,上面显示的DaemonPortOption=Port=smtp行限制为访问smtp端口(25)并只能对本机(ADDr=127.0.0.1)传送邮件(Name=MTA)。如在sendmail.cm文件中注释掉DAEMON_PORTS选项,此项将如下:O DaemonPortOptions= Name=MTA 


# SMTP client options 
#O ClientPortOptions=Family=inet, Address=0.0.0.0 
DaemonPortOptions相同,只是它用于出站连接而不是入站连接。默认情况下,由于此行注释,出站连接并不只限定到本机。 

# Modifiers to define {daemon_flags} for direct submissions 
#O DirectSubmissionModifiers 

# Use as mail submission program? See sendmail/SECURITY 
#O UseMSP 

# privacy flags 
O PrivacyOptions=authwarnings,novrfy,noexpn,restrictqrun 
PrivacyOptions用于确保入站连接严格符合SMTP行为、禁用EXPN(noexpn)或者VEFY(novrfy)功能、禁止返回给收件人、限制可以运行mailq和sendmail –q命令的用户。该选项也可使用“X-Authentication-Warning:”标题行。 

# who (if anyone) should get extra copies of error messages 
#O PostmasterCopy=Postmaster 
PostmasterCopy:可指定一个(或几个)地址接收所有发往发件人的传送状态通知信息的副本,默认设置为不发送任何副本。 

# slope of queue-only function 
#O QueueFactor=600000 
QueueFactor选项可以根据当前系统载荷平均值设定关闭值,使发送邮件队列等待而不是立刻发送。 # limit on number of concurrent queue runners

 #O MaxQueueChildren
 # maximum number of queue-runners per queue-grouping with multiple queues

 #O MaxRunnersPerQueue=1
 # priority of queue runners (nice(3))

 #O NiceQueueRun
 # shall we sort the queue by hostname first?

 #O QueueSortOrder=priority
 QueueSortOrder选项可以选择用来确定队列优先权的方法,该选项可以设置为
  host:队列中的邮件可以根据接收主机和优先权进行排序。
  priority:传统的优先级。
  time:根据提交的次序。
 # minimum time in queue before retry

 #O MinQueueAge=30m
 # how many jobs can you process in the queue?

 #O MaxQueueRunSize=10000
 MaxQueueRunSize选项指定在队列一次运行期间可以处理的排队等待的最大邮件数。默认
10000个。 # perform initial split of envelope without checking MX records

 #O FastSplit=1
 # queue directory

 O QueueDirectory=/var/spool/mqueue
 QueueDirectory选项指定排队等待的发送邮件的位置(默认
/var/spool/mqueue)。这个目录的文件名后缀:  df:组成电子邮件信息主体的数据。
  qf:包含邮件标题和其他管理信息的队列控制文件。
  tf:出现发送错误时,创建的
qf文件的临时副本。  xf:试图发送邮件时出现的所有错误信息。
 # key for shared memory; 0 to turn off

 #O SharedMemoryKey=0
 设置超时,其实际时间值可设为秒,分钟,小时,天(


s,m,h,d)。超时选项以Timeout.event形式列出。event由下表列出的超时事件来代替。 # timeouts (many of these)
 #O Timeout.initial=5m
 O Timeout.connect=1m
 #O Timeout.aconnect=0s
 #O Timeout.iconnect=5m
 #O Timeout.helo=5m
 #O Timeout.mail=10m
 #O Timeout.rcpt=1h
 #O Timeout.datainit=5m
 #O Timeout.datablock=1h
 #O Timeout.datafinal=1h
 #O Timeout.rset=5m
 #O Timeout.quit=2m
 #O Timeout.misc=2m
 #O Timeout.command=1h
 O Timeout.ident=0
 #O Timeout.fileopen=60s
 #O Timeout.control=2m
 O Timeout.queuereturn=5d
 #O Timeout.queuereturn.normal=5d
 #O Timeout.queuereturn.urgent=2d
 #O Timeout.queuereturn.non-urgent=7d
 O Timeout.queuewarn=4h

 #O Timeout.queuewarn.normal=4h
 #O Timeout.queuewarn.urgent=1h
 #O Timeout.queuewarn.non-urgent=12h
 #O Timeout.hoststatus=30m

 #O Timeout.resolver.retrans=5s
 #O Timeout.resolver.retrans.first=5s
 #O Timeout.resolver.retrans.normal=5s
 #O Timeout.resolver.retry=4
 #O Timeout.resolver.retry.first=4
 #O Timeout.resolver.retry.normal=4
 #O Timeout.lhlo=2m
 #O Timeout.auth=10m
 #O Timeout.starttls=1h
 超时事件 等待
 aconnect 电子邮件成功传送给收件人
 auth 对
SMTP AUTH请求的回应 command 下一个命令
 connect 连接认可
 control 整个套接字事务完成
 datablack 完成读数据块
 datafinal 确认最后的圆点字符或者
EOF标记 datainit 确认
DATA fileopen 完成一个打开
NFS文件命令 helo HELO或
EHLO hoststatus 主机状态检测结果
 iconnect 完成初始连接(
2)系统调用 ident 识别协议响应的结果
 initial 初始化问候信息
 lhlo LMTP IHLO命令的回应
 mail 确认
MAIL命令 misc 确认其他
SMTP命令 queuereturn 完成邮件传送(传送附加邮件)
 queuewarn 完成邮件传送(传送报警邮件)
 quit 确认
QUIT命令 rcpt 确认
RCPT命令 resolver.retrans(默认、首先和正常) 在解析查询失败之后重传之前的时间 resolver.retry(默认、首先和正常) 在失败之前重试解析查询的次数

 rset 确认
RSET命令 starttls 对
SMTP START-TLS命令和TLS握手的回应 # time for DeliverBy; extension disabled if less than 0


 #O DeliverByMin=0
 # should we not prune routes in route-addr syntax addresses?

 #O DontPruneRoutes=False
 DontPruneRoutes:把一个地址指定为“路由地址”,指出一条通过一系列主机的明确路径。设为
True时,后面跟着该路由。 # queue up everything before forking?

 O SuperSafe=True
 SuperSafe设为
False,在传送一封邮件之前,Sendmail会将该邮件读入内存中。这时,如机器崩溃,该邮件会丢失。设为True时,邮件一直保存在文件系统中,直到完成传送为止。 # status file

 O StatusFile=/etc/mail/statistics
 StatusFile:指定一个存储邮件传送统计信息的文件。
mailstatus程序分析这个文件并显示:发送邮件的数量及大小(以KB计)、接收邮件的数量及大小(以KB计)、拒绝的邮件数、丢失的邮件数。第一栏和最后一栏指定MDT(邮件传送代理)。 # time zone handling:

 # if undefined, use system default
 # if defined but null, use TZ envariable passed in
 # if defined and non-null, use that info
 #O TimeZoneSpec=
 TimeZoneSpec设置本地时区。
 # default UID (can be username or userid:groupid)

 O DefaultUser=8:12
 DefaultUser选项指定当
Sendmail传送邮件时切换成的默认用户的UID和GID。以上为mail. # list of locations of user database file (null means no lookup)

 O UserDatabaseSpec=/etc/mail/userdb.db
 UserDatabaseSpec选项允许选择另一个数据库以重定向接收邮件和重写发送邮件的标题字段。
 # fallback MX host

 #O FallbackMXhost=fall.back.host.net
 FallbackMXhost选项用于建立后备连接,可以由与
Internet没有可靠连接的站点使用,这样就可以把邮件中继到另一台有较好连接的主机上,而不是在本地机队列中等待发送。 如果发送邮件的主机也是接收主机的一个
MX主机,一切有更高MX优先权的主机都被认为无效。如果这样导致没有邮件交换程序可用且TryNullMXList选项设为False,那么该邮件就会返回到其发送者;如设为True,邮件传送程序在邮件因无法传送而返回之前,尝试把该邮件直接传送到接收主机上。 # if we are the best MX host for a site, try it directly instead of config err

 O TryNullMXList=true
 # load average at which we just queue messages

 #O QueueLA=8
 QueueLA选项设定系统负载平均值,超过该值后邮件不是立即发送,而是在队列中等待处理。
 # load average at which we refuse connections

 #O RefuseLA=12
 RefuseLA选项设定系统负载平均值,到达该值后将不再接受邮件。
 # load average at which we delay connections; 0 means no limit

 #O DelayLA=0
 sendmail派生出一个副本处理接收邮件和队列。

 # maximum number of children we allow at one time
 #O MaxDaemonChildren=0
 MaxDaemonChildren选项限制了同时存在的原
Sendmail进程的子进程的数目。(这似乎是个好注意,通过占用所有可用的子进程,其他人在你机器上实现“拒绝服务”攻击就容易实现。较好的办法是使用ConnectionRateThrottle选项(如果必须限制入站连接)。 # maximum number of new connections per second

 #O ConnectionRateThrottle=0
 ConnectionRateThrottle选项是放慢接收邮件的速度,不是拒绝超过一个阀值的所有连接。例如,值为
3时,同时有8个连接,只有3个被立即处理;延迟1秒以后,又有3个被处理,延迟2秒后再处理其他2个。 # work recipient factor

 #O =30000
 RecipientFactor选项根据收件人数来改变发送队列中的邮件的次序。
 # deliver each queued job in a separate process?


 #O ForkEachJob=False
 ForkEachJob选现指示
Sendmail派生一个副本,处理队列中的每个邮件。对于内存有限的机器来说,非常有用,但是一般最好不用(或设为False)。 # work class factor

 #O ClassFactor=1800
 ClassFactor选项根据优先级来改变发送队列中的邮件的次序。
 # work time factor

 #O RetryFactor=90000
 RetryFactor选项可以用来更改队列中那些已经处理但还未传送的邮件的优先级。
 # default character set

 #O DefaultCharSet=iso-8859-1
 DefaultCharSet选项定义将
8位格式的邮件转换为7位格式时使用的MIME类型。 # service switch file (name hardwired on Solaris, Ultrix, OSF/1, others)

 #O ServiceSwitchFile=/etc/mail/service.switch
 由于
/etc/nsswitch.conf文件已经指定了处理各种数据库请求的次序,所以可以忽略ServiceSwitch选项。即使该选项已定义,最好把它注释。 # hosts file (normally /etc/hosts)

 #O HostsFile=/etc/hosts
 HostsFile选项指定本地自定义
IP地址到主机名转换的文件的位置,默认为/etc/hosts。 # dialup line delay on connection failure

 #O DialDelay=10s
 DialDelay选项指定如果
sendmail初始连接的尝试失败,用几秒或几分钟表示的sendmail休眠的时间。 # action to take if there are no recipients in the message

 #O NoRecipientAction=add-to-undisclosed
 如果邮件在标题行中没有收件人的信息,
NoRecipientAction选项指示sendmail采取的措施。  add-appanently-to:添加一个“
Appanently-To”标题。  add-bcc:添加一个空“
BCC”标题行以便遵循RFC 821规范。  add-to:添加一个“
To”标题,以及从邮件“信封”获得的收件人。  add-to-undisclosed:添加一个空“
To:undisclosed-recipients:;”标题。  none:不修改邮件内容便发送。
 # chrooted environment for writing to files

 #O SafeFileEnvironment=/arch
 SafeFileEnvironment选项通过使用
chroot系统调用提供一个将邮件传送到文件的更安全的位置。 # are colons OK in addresses?

 #O ColonOkInAddr=True
 ColonOkInAddr选项确定地址中的冒号是否有效。默认是
False,表示电子邮件中的冒号是一种错误。 # shall I avoid expanding CNAMEs (violates protocols)?

 #O DontExpandCnames=False
 DontExpandCnames选项控制
sendmail是否接受CNAMES记录作为规范名。如果是True,则在重写规则中,CNAMES记录是有效的。如为False,CNAMES记录必须转换成重写规则中所有的有效地址记录。 # SMTP initial login message (old $e macro)

 O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
 SmtpGreetingMessage定义当客户机连接到本地机上的
sendmail守护进程时,显示的标题文本。  $b:当前的本地时间和日期。
  $j:评测本地机的
FQDN。  $v:配置文件的版本。
  $z:可执行文件的版本。
 其打印结果:
220 a.b.com ESMTP Sendmail 8.12.8-4/8.12.8-4;Mon,8 Sep 2002 10:12:13 -0400 # UNIX initial From header format (old $l macro)

 O UnixFromLine=From $g $d
 UnixFromLine选项定义邮箱文件中用做邮件分隔的“
From”标题行格式。  $g:显示发件人的电子邮件地址(后面空两格)。
  $d:显示收到电子邮件的当地时间和日期。
 # From: lines that have embedded newlines are unwrapped onto one line

 #O SingleLineFromHeader=False
 SingleLineFromHeader选项设为
True时,则“From:”标题中的所有新行转换成空格,否则分开的标题行被保留。 # Allow HELO SMTP command that does not include a host name

 #O AllowBogusHELO=False
 设置
SMTP响应没有相应主机名的HELO请求。AllowBogusHELO设为True,不强制实施HELO命令后必须跟一个主机名的限制。如为False,必须执行RFC 1123规范指定的行为。 # Characters to be quoted in a full name phrase (@,;:\()[] are automatic)

 #O MustQuoteChars=.
 引用特殊字符。在默认情况下(并且遵循
RFC 821规范),如果第一行中列举9个字符在地址中的非地址部分(例如,用户名或昵称),这几个字符必须被引用。.和’字符也可在MustQuoteChars选项中指定为需要引用。 # delimiter (operator) characters (old $o macro)

 O OperatorChars=.:%@!^/[]+
 OperatorChars选项列出了用于地址中分界的字符(除
sendmail规定的一组分界符(、)、<、>、,、;、\、”、\r、\n外),不能改变这个选项。 # shall I avoid calling initgroups(3) because of high NIS costs?

 #O DontInitGroups=False
 DontInitGroups选项(如设为
True)强制sendmail不处理initgrougs调用。当组有许多成员或者使用慢速名称服务时,这个选项是非常有用的。默认False。 # are group-writable :include: and .forward files (un)trustworthy?

 # True (the default) means they are not trustworthy.
 #O UnsafeGroupWrites=True
 UnsafeGroupWrites选项已经被
DontBlameSendmail选项的多种参数多代替。 # where do errors that occur when sending errors get sent?


 #O DoubleBounceAddress=postmaster
 DoubleBounceAddress选项规定错误信息的接受者;错误信息是由于不能传送以前的错误信息而引起的。默认别名为
postmaster。 # where to save bounces if all else fails

 #O DeadLetterDrop=/var/tmp/dead.letter
 如退回的电子邮件不能写入其他位置(默认
/var/tmp/dead.letter),DeadLetterDrop选项设置保存退回的电子邮件的备份位置。 # what user id do we assume for the majority of the processing?

 #O RunAsUser=sendmail
 RunAsUser选项可将
sendmail配置成作为非特权用户完成它的大部分处理工作(而不是读取配置文件和侦听特权端口上的入站连接)。(不足之处:要求非特权用户访问所有的.forward文件、:include文件和队列目录。这很可能需要不加限制的使用DoubleBounceAddress选项,导致它所引起的问题比它解决的问题更多。 # maximum number of recipients per SMTP envelope

 #O MaxRecipientsPerMessage=100
 MaxRecipientsPerMessage选项为封堵垃圾邮件(非请求型商务电子邮件或者非请求型成批电子邮件)指定每封邮件的单个收件人的人数上限,垃圾垃圾邮件通常发往大型发送列表。默认情况没有任何限制。
 # limit the rate recipients per SMTP envelope are accepted

 # once the threshold number of recipients have been rejected
 #O BadRcptThrottle=20
 如果从单独一个
SMTP信封中拒收的收件人超过了BadRcptThrottle选项值,那么sendmail将在每次拒收之后休眠1秒。这就意味着减缓了某些拒绝服务攻击。 # shall we get local names from our installed interfaces?

 O DontProbeInterfaces=true
 DontProbeInterfaces选项(如设为
True)使sendmail不会自动修改带有主机名的类宏Cw和所有网络接口的地址。在默认情况下,为Cw添加了等效的主机和地址。 # Return-Receipt-To: header implies DSN request

 #O RrtImpliesDsn=False
 RrtImpliesDsn选项将一个传送状态通知发送给信封发送者而不是发送给标题中的地址。
 # override connection address (for testing)

 #O ConnectOnlyTo=0.0.0.0
 ConnectOnlyTo选项将所有邮件强制发送到给定
IP。(对于测试非常有用) # Trusted user for file ownership and starting the daemon

 #O TrustedUser=root
 TrustedUser选项用来设置系统上那个用户能够被信任以拥有与
sendmail相关的文件和运行sendmail守护进程。该用户名可以是包含在/etc/passwd文件中的用户名或用户ID。为了安全,可改为smmsp。 # Control socket for daemon management

 #O ControlSocketName=/var/spool/mqueue/.control
 # Maximum MIME header length to protect MUAs

 #O MaxMimeHeaderLength=2048/1024
 # Maximum length of the sum of all headers

 #O MaxHeadersLength=32768
 # Maximum depth of alias recursion

 #O MaxAliasRecursion=10
 # location of pid file

 #O PidFile=/var/run/sendmail.pid
 # Prefix string for the process title shown on 'ps' listings

 #O ProcessTitlePrefix=prefix
 # Data file (df) memory-buffer file maximum size

 #O DataFileBufferSize=4096
 # Transcript file (xf) memory-buffer file maximum size

 #O XscriptFileBufferSize=4096
 # lookup type to find information about local mailboxes

 #O MailboxDatabase=pw
 # list of authentication mechanisms

 #O AuthMechanisms=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
 # default authentication information for outgoing connections

 #O DefaultAuthInfo=/etc/mail/default-auth-info
 # SMTP AUTH flags

 O AuthOptions=A
 AuthOptions激活验证。
  A:在验证成功时执行带有
AUTH=参数的MAIL FROM命令。 # SMTP AUTH maximum encryption strength

 #O AuthMaxBits
 # SMTP STARTTLS server options

 #O TLSSrvOptions
 # Input mail filters

 #O InputMailFilters
 # CA directory #O CACertPath 指出含有



CA证书的目录。 # CA file
 #O CACertFile 指出单个
CA证书。 # Server Cert
 #O ServerCertFile 指明
sendmail作为服务器时所用的CA证书。 # Server private key
 #O ServerKeyFile 指明
sendmail作为服务器时所用的相关的私有密钥。 # Client Cert
 #O ClientCertFile 指明
sendmail作为客户机时所用的CA证书。 # Client private key
 #O ClientKeyFile 指明
sendmail作为客户机时所用的相关的私有密钥。 # DHParameters (only required if DSA/DH is used)
 #O DHParameters
 # Random data source (required for systems without /dev/urandom under OpenSSL)
 #O RandFile
 ############################

 # QUEUE GROUP DEFINITIONS #
 ############################
 ###########################


 # Message precedences # 设置邮件优先级
 ###########################
 Pfirst-class=0

 Pspecial-delivery=100
 Plist=-30
 Pbulk=-60
 Pjunk=-100
 ―――――――――――――――――――――――――――――――――――――――
 名称 含义
 first-class 除非在邮件标题中重写,否则这是默认优先级。
 special-delivery 队列中首先传送的最高优先级邮件。
 list 此优先级用于从邮件列表中发送的大多数邮件
 bulk 无关紧要的广播式邮件。还表示如果传送有问题,返回的通知中不
 包括邮件正文。
 junk 无价值的电子邮件,可能是程序的输出或者测试邮件,其正文也不
 包括在返回的通知中
 ――――――――――――――――――――――――――――――――――――――――
 #####################

 # Trusted users # 可信任用户:
 ##################### 指定允许使用
sendmail –f标记来设定发件人 的用户,而不是运行这个命令的用户
 # this is equivalent to setting class "t"
 Ft/etc/mail/trusted-users
 Troot
 Tdaemon
 Tuucp
 #########################

 # Format of headers # 指定标题格式
 ######################### 以下变量使用适当的值替换后,这个文本块
 就变成
/var/spool/mqueue目录中的qf文件。 H?P?Return-Path: <$g>
 HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
 $.$?{auth_type}(authenticated$?{auth_ssf} bits=${auth_ssf}$.)
 $.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version}
 (version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u
 for $u; $|;
 $.$b
 H?D?Resent-Date: $a
 H?D?Date: $a
 H?F?Resent-From: $?x$x <$g>$|$g$.
 H?F?From: $?x$x <$g>$|$g$.
 H?x?Full-Name: $x
 # HPosted-Date: $a
 # H?l?Received-Date: $b
 H?M?Resent-Message-Id: <$t.$i@$j>
 H?M?Message-Id: <$t.$i@$j>
 #

 重写规则:这部分有一套复杂的规则用来处理
sendmail服务器,这些规则涵盖了转换地址和处理本地主机名等内容,不能随意更改。 ######################################################################
 ######################################################################
 #####
 ##### REWRITING RULES #####

 ######################################################################
 ######################################################################
 以下是邮件程序定义:


 一般情况下,没有必要修改这个选项。
 Mlocal定义用于将邮件传送到本地帐号。
procmail MDA用于把邮件放到本地用户的邮箱。 Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
 T=DNS/RFC822/X-Unix,
 A=procmail -t -Y -a $h -d $u
 Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
 T=X-Unix/X-Unix/X-Unix,
 A=smrsh -c $u

四、编译sendmail配置文件

 

要生成sendmail.cf文件

一般是编译sendmail.mc来生成sendmail.cf,这样的好处是通过编译,会查看出一些sendmail的设置错误和漏洞。

# cd /etc/mail # vi sendmail.mc

(1)找到:

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

打开注解,启用相应的认证机制,主要是为了支持Outlook。

(2)找到: 

DAEMON_OPTIONS(`Port=25, Name=MSA,M=Ea')dnl 这样sendmail将在25端口进行强制身份认证
dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
dnl DAEMON_OPTIONS(`Port=587, Name=MSA,M=a')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

打开注解,启用相应的认证机制,主要是为了支持Outlook。

(3)在(2)后添加两行:



设置MTA和MSA端口。

(4)找到:

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

将该行注释掉,以允许通过网络连接Sendmail。

(5)找到:

dnl FEATURE(`accept_unresolvable_domains')

禁止不可解析域名的转发邮件。

最后保存退出。

编译sendmail.mc生成sendmail.cf文件

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf # /etc/rc.d/init.d/sendmail restart --重起sendmail服务。

如果在执行m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 报错的话,那么检查是否安装sendmail-cf.*.rpm是否安装:

# rpm -qa | grep sendmail-cf

如果没有安装,则需要在安装光盘中找到sendmail-cf包,并安装:

# rpm -ivh sendmail-cf*.rpm

检测编译结果

1、检测SASL被编译到sendmail中。

#/usr/sbin/sendmail -d0.1 -bv root |grep SASL

输出类似如下:

NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS

保证你看到SASL就是正确的。

2、检测25端口:

# telnet localhost 25 
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 fyhtest.163.net ESMTP Sendmail 8.12.5/8.12.5; Thu, 10 Apr 2003 16:35:42 -0400 ehlo test 250-fyhtest.163.net Hello localhost [127.0.0.1], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-DELIVERBY 250 HELP 
quit ---退出 

只要输出有LOGIN PLAIN就可以了。

到这里,sendmail就配置完了,你可以添加一个用户进行测试:

#useradd test #passwd test 设置密

把你服务器的域名添加到/etc/mail/local-host-names中。

其他设置

要想更好的使用sendmail,常用到的一些设置:

1、限制最大邮件。

# vi /etc/mail/sendmail.cf # maximum message size MaxMessageSize=5000000 (注:5M)

2、最大的群发数目。

# vi /etc/mail/sendmail.cf # maximum number of recipients per SMTP envelope MaxRecipientsPerMessage=20 (注:20个)

3、域名文件----local-host-name 可以用他来实现虚拟域名或多域名支持。

# vi /etc/mail/local-host-name test.com test1.com

4、mail别名文件--aliases。

# vi /etc/aliases 系统内部别名:discuz:bbsadmin discuz是我的用户名,其他的是别名,用逗号隔开。 转发到其他的邮箱:discuz:bbsadmin@discuz.com # newaliases --写到库中

5、邮件控制文件

relay、ok、reject和discard。

relay: 可以实现转发。

ok: 是用来允许用户的任意访问,它会覆盖任何其它已建立的检查(实际设置中,最好不要设为这项,除非你对该用户是绝对信任的);

reject: 可以实现对来访地址的拒绝,它根本就不容许该地址与你的邮件服务器进行连接通信;

discard: 的作用是在接收到传输的邮件消息后,把它丢弃掉。在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他。

# vi /etc/mail/access 
localhost.localdomain RELAY ---允许 localhost RELAY 127.0.0.1 RELAY peng@sina.com ok @sexgirl.net reject 211.77.22.45 discard 
# makemap hash /etc/mail/access.db < /etc/mail/access --写到库中

6、Sendmail环境下的防止邮件relay  
从8.9版本开始,缺省的是不允许邮件转发(mail relay)的。最简单的允许邮件转发的方法是在文件/etc/mail/relay-domains中进行设置。该文件中列出的域名内的信件都允许通过本地服务器进行邮件转发。  
为了更精确的设置,可以在sendmail.mc中添加如下几个参数允许被用来设置邮件转发:  
· FEATURE(relay_hosts_only). 通常情况下,在文件/etc/mail/relay-domains中列出的域名的主机都允许通过本地机转发,而该设置指示指定必须罗列出每个允许通过本机转发邮件的主机。  
· FEATURE(relay_entire_domain). 该参数指示允许所有本地域通过本机进行邮件转发。  
· FEATURE(access_db). 该参数指定利用哈希数据库/etc/mail/access来决定是否允许某个主机通过本地进行邮件转发。  
· FEATURE(blacklist_recipients).若该参数被设置,则在决定是否允许某个主机转发邮件时同时察看邮件发送着地址和邮件接受者地址。 
· FEATURE(rbl).允许基于maps.vix.com由黑名单(Realtime Blackhole List)进行邮件拒绝,以防范垃圾邮件。  
· FEATURE(accept_unqualified_senders).允许接受发送者地址不包括域名的邮件,例如user,而不是user@B.NET。  
· FEATURE(accept_unresolvable_domains).通常来讲,sendmail拒绝接受发送者邮件地址指定的主机通过DNS不能解析的邮件,而该参数允许接收这种邮件。  
· FEATURE(relay_based_on_MX).该参数允许转发邮件接受者地址的MX记录指向本地的的邮件,例如,本地接收到一个发送目的地址为user@b.com的邮件,而b.com域名的MX记录指向了本地机器,则本地机器就允许转发该邮件。  
下面几个特性可能会有安全漏洞,一般当邮件服务器位于防火墙后时才应该使用,因为这些参数可能导致你的系统易于被垃圾邮件发送者利用。  

·FEATURE(relay_local_from).该参数指定若消息自称源于本地域,则允许转发该邮件。
·FEATURE(promiscuous_relay).打开对所有的邮件的转发。


7.设置完成后outlook发送邮件要求验证时,出现错误

Jan 30 14:45:57 qiuding sendmail[13908]: o0U6jvs1013908: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:45:58 qiuding sendmail[13909]: o0U6jw4h013909: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:38 qiuding sendmail[13918]: o0U6lcCc013918: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:41 qiuding sendmail[13919]: o0U6lefW013919: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:42 qiuding sendmail[13920]: o0U6lfoF013920: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:43 qiuding sendmail[13921]: o0U6lgtZ013921: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:43 qiuding sendmail[13922]: o0U6lh53013922: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 30 14:47:44 qiuding sendmail[13923]: o0U6li7I013923: [116.230.242.136] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA 
大量查找资料原来是
认证进程没有启动  SASLAUTHD服务一定要启动否则无法进行用户验证
etc/rc.d/init.d/saslauthd start
配置下载

sendmail -bd -q1h

  Sendmail的命令参数的含义如下:

  -b:指定Sendmail在后台运行,并且监听端口25的请求。

  -d:指定Sendmail以Daemon方式运行(守护进程)。

  -q:当Sendmail无法将邮件成功地发送到目的地时,它会将邮件保存在队列里。该参数指定邮件在队列里保存的时间。例子里的1h表示保留1小时。

  在终端命令窗口运行以下命令来重新启动Sendmail服务:

  [root@ahpeng root]#/etc/rc.d/init.d/sendmail restart

  在终端命令窗口运行以下命令来关闭Sendmail服务:

  [root@ahpeng root]#/etc/rc.d/init.d/sendmail stop

  我们还可以在终端命令窗口运行以下命令来检测Sendmail服务器的运行状态:

  [root@ahpeng root]# /etc/rc.d/init.d/sendmail status

  系统应该显示:

  sendmail (pid 3251) 正在运行…

/etc/mail目录下操作
makemap hash access.db<access
killall -9 sendmail
etc/rc.d/init.d/saslauthd start
sendmail -bd -q30m

 

posted @ 2019-03-11 15:25  编绳的俊哥  阅读(967)  评论(0编辑  收藏  举报