本章提供了用于 Messaging Server MTA、邮件存储和服务的日志记录工具的概述信息。本章还提供了管理这些日志记录工具的过程。
本章包含以下各节:
日志记录是系统提供有关系统服务的时间戳和标记信息的一种方法。日志记录提供了系统的当前快照和历史视图。
通过了解和使用 Messaging Server 日志文件,您可以:
收集邮件统计信息,例如,邮件大小、邮件传送速率和通过 MTA 的邮件数量
执行趋势确定
关联到容量规划
对问题进行错误诊断
例如,如果您的站点由于用户数量的增加需要添加更多的磁盘存储空间,您可以使用 Messaging Server 日志文件来查看系统需求已增加的百分比,然后规划所需的新磁盘存储量。
您还可以使用 Messaging Server 日志来了解一天的邮件服务模式情况。了解每日高峰负载出现的时间将有助于您进行容量规划。
日志记录还有助于对用户问题进行错误诊断。例如,如果某用户没有收到预期的邮件,您可以使用 Messaging Server 日志记录工具来跟踪该用户的邮件。执行此操作时,您可能会发现这些邮件没有到达是因为它们被自动过滤并发送到垃圾邮件文件夹中。
操作数据
错误情形,也称作事件日志记录
通常,Messaging Server 日志记录提供操作数据。此操作数据包含的信息有:邮件进入系统的日期和时间;邮件的发件人和收件人;邮件写入磁盘的时间;以后,邮件从磁盘删除的时间和插入用户邮箱的时间。
但是,Messaging Server 日志记录还提供某些事件日志记录数据。要获得事件日志记录数据,您需要将来自不同日志文件的多个项目组合到一起。然后,您可以使用一个特殊的常数(例如,邮件 ID)来搜索并关联邮件在系统中所经历的生命周期。
Messaging Server 日志记录包含三种类型日志文件:
MTA 日志。这些日志为邮件传输代理提供上述操作数据。
错误日志。这些日志是 MTA 调试日志和 MTA 子组件日志(即作业控制器、分发程序等)。
邮件存储和服务日志。这些日志提供来自 HTTP 服务器、mshttpd、imap、pop 和 Admin 服务的邮件。这些日志的格式与前两种类型日志的格式不同。
下表列出了日志文件的不同类型。默认情况下,日志文件位于 msg_svr_base/data/log 目录中。您可以分别自定义和查看每种日志文件类型。
表 21–1 Messaging Server 日志文件
日志文件的类型 |
日志文件说明 |
默认名称 |
---|---|---|
邮件传输代理 |
显示有关通过 MTA 的邮件通信的信息,其中包括日期和时间信息、入队列和出队列信息等等。 |
mail.log、mail.log_current 或 mail.log_yesterday |
连接 |
包含连接至此系统以发送电子邮件的远程计算机 (MTA)。 |
connection.log |
计数器 |
包含依据在每个通道基础上发送和接收的邮件的邮件趋势。 |
counters |
作业控制器 |
包含主程序、作业控制器程序、发送器程序和出队列通道程序上的数据。 |
job_controller.log |
分发程序 |
包含与分发程序相关的错误。打开分发程序调试将增加信息。 |
dispatcher.log |
通道 |
记录与通道相关的错误。关键字 master_debug 和 slave_debug 可以打开通道调试,这将增加通道日志文件的详细程度。信息的级别和类型由 option.dat 中的各种 *_DEBUG MTA 选项进行控制。 |
channelname_master.log*(示例:tcp_local_master.log*) channelname_slave.log*(示例:tcp_local_slave.log*) |
Admin |
包含与 Console 和 Messaging Server 之间通信(大多数通过几个 CGI 进程)相关的日志事件,通过其 Administration Server 进行 |
admin、admin.sequenceNum.timeStamp |
IMAP |
包含与此服务器的 IMAP4 活动相关的日志事件 |
imap、imap.sequenceNum.timeStamp |
POP |
包含与此服务器的 POP3 活动相关的日志事件 |
pop、pop.sequenceNum.timeStamp |
HTTP |
包含与此服务器的 HTTP 活动相关的日志事件 |
http、http.sequenceNum.timeStamp |
默认值 |
包含与此服务器的其他活动相关的日志事件,例如命令行实用程序和其他进程 |
default、default.sequenceNum.timeStamp |
msgtrace |
包含邮件存储的跟踪信息。文件可以快速地增长到非常大,并进行相应监视。 |
msgtrace |
watcher |
监视进程故障和未响应服务(请参见表 4–4),并记录错误消息,指明具体故障。 |
watcher |
其中:
sequenceNum—指定一个整数,该整数指定了此日志文件相对于日志文件目录中的其他日志文件的创建顺序。具有较高序列号的日志文件相对于具有较低编号的日志文件而言,属于较新的文件。序列号无法回滚,而只能在服务器的生命期(从安装服务器开始)内单向增加。
timeStamp—指定一个较大整数,该整数指定了文件创建的日期和时间。(其值以标准 UNIX 时间表示:自 1970 年 1 月 1 日午夜开始的秒数。)
例如,名为 imap.63.915107696 的日志文件是指在 IMAP 日志文件目录中创建的第 63 个日志文件,创建时间为 1998 年 12 月 31 日中午 12:34:56。
开放式的序列号与时间戳的组合让您在旋转、终止和选择用于分析的文件时具有了更大的灵活性。有关更为具体的建议,请参见定义和设置服务日志记录选项。
以下介绍了邮件是如何流经系统的以及在哪些位置将信息写入各种日志文件。此说明有助于您了解如何使用 Message Server 的日志文件来进行错误诊断和解决问题。请参见图 8–2 以帮助您理解。
远程主机与邮件服务主机上的 TCP 插槽建立连接,请求 SMTP 服务。
MTA 分发程序将响应该请求,并将连接传送至邮件服务主机的 SMTP 服务。
MTA 采用模块化设计,它由一组进程组成,其中包括作业控制器和 SMTP 服务分发程序。分发程序接受外来 TCP 连接并将其发送至 SMTP 服务。SMTP 服务将邮件写入磁盘的通道区。SMTP 服务了解邮件的信封参数,例如,发件人和收件人。系统中的配置条目将通知它属于哪个目标通道。
分发程序写入 dispatcher.log 文件,它派生了一个线程并使此线程可用于来自某一 IP 地址的外来连接。
SMTP 服务器写入其 tcp_smtp_server.log 文件,记录当远程主机与其建立连接并向其发送邮件时所发生的通讯情况。分发程序根据主机 IP 传送至 SMTP 服务器时创建此日志文件。
SMTP 服务器为通道程序(例如,tcp_intranet)将邮件写入磁盘的队列区,并通知作业控制器。
作业控制器联系通道程序。
通道程序传送邮件。
每个通道均有自己的日志文件。但是,这些日志通常显示通道的开始和停止。要获得更多信息,您需要为通道启用调试级别。但是,由于这会放慢系统速度,而且如果保持打开状态,实际上会使问题更加隐蔽,因此,您应仅当实际问题发生时才启用调试级别。
为了高效工作,如果已经为现有进程运行某通道,并且又进入了一个新邮件,系统将不会产生新的通道进程。当前运行的进程将选取该新邮件。
邮件被传送到它的下一个中继站,它可以是另一个主机、另一个 TCP 连接等。在 connection.log 文件中写入此信息。
同时,SMTP 服务器将邮件写入磁盘的队列区,负责该邮件的通道在 mail.log_current 或 mail.log 文件中写入记录。此记录显示了诸如邮件入队列的日期和时间、发件人和收件人等信息。有关更多信息,请参见MTA 邮件日志记录示例。对跟踪邮件最有用的文件是 mail.log_current 文件。
通过使用 Console 和 configutil 命令,您可以自定义创建和管理 Messaging Server 日志文件的策略。
对于邮件存储日志,您可以使用 Console 来指定日志设置和查看日志。您指定的设置将影响所记录的事件以及事件的数目。分析日志文件时,您可以使用这些设置和其他特性来完善日志事件的搜索。
由于 MTA 使用了独立的日志记录工具,所以您无法使用 Console 来配置 MTA 日志记录服务以及查看日志。而是通过指定配置文件中的信息来配置 MTA 日志记录。
对于超出 Messaging Server 功能范围的日志分析和报告生成,您需要使用其他工具。您可以自行使用文本编辑器或标准系统工具处理日志文件。
使用支持正则表达式分析的可编写文本编辑器,您可以搜索和提取基于本章中讨论的任何标准的日志条目,并可以对结果进行排序,甚至还可以生成总数或其他统计信息。
在 UNIX 环境中,您还可以修改和使用现有报告生成工具,这些工具是为处理 UNIX syslog 文件而开发的。如果您希望使用公共域 syslog 处理工具,请记住您可能需要修改此工具以解释不同的日期/时间格式,以及出现在 Messaging Server 日志条目中但未在 syslog 条目中出现的两个附加组件(facility 和 logLevel)。
MTA 提供了记录每个入队列和出队列的邮件的功能。还提供了分发程序错误和调试输出。
您可以控制每个通道上的日志记录,也可以指定要记录的所有通道上的邮件活动。在初始配置中,所有通道上均禁用日志记录。
有关更多信息,请参见启用 MTA 日志记录。
启用日志记录会使 MTA 在每次邮件通过 MTA 通道时,都将一个条目写入 msg_svr_base/data/log/mail* 文件中。这类日志条目对收集有关通过 MTA(或通过特定通道)的邮件数量的统计信息将很有用。您还可以使用这些日志条目来调查其他问题,例如,是否发送或传送了邮件,以及发送或传送邮件的时间。
邮件返回作业(每晚午夜时分运行),将所有现有 mail.log_yesterday 都附加到累积日志文件 mail.log,将当前 mail.log_current 文件重命名为 mail.log_yesterday,然后开始一个新的 mail.log_current 文件。邮件返回作业对所有 connection.log* 文件也执行相似的操作。
MTA 执行自动轮转以维护当前文件时,您必须通过确定任务(例如备份文件、截断文件、删除文件等)的策略来管理累积 mail.log 文件。
考虑如何管理日志文件时,请注意 MTA 定期返回作业将执行站点提供的 msg_svr_base/bin/daily_cleanup 程序(如果存在)。因此,某些站点可能选择提供他们自己的清除程序,例如每周(或每月)重命名一次旧的 mail.log 文件等。
启用日志记录后,mail.log 文件将稳定地增长,如果不对其进行限制,则将消耗所有可用磁盘空间。监视此文件的大小并定期地删除不必要的内容。按照要求将创建此文件的另一版本时,还可以删除整个文件。
MTA 日志文件以 ASCII 文本书写。默认情况下,每个日志文件条目都包含八个或九个字段,如下面示例中所示。
19-Jan-1998 19:16:57.64 l tcp_local E 1 adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com
日志条目显示:
创建条目的日期和时间(在此示例中为 19-Jan-1998 19:16:57.64)。
源通道的通道名称(在此示例中为 l)。
目标通道的通道名称(在此示例中为 tcp_local)。(对于 SMTP 通道,当启用 LOG_CONNECTION 时,加号 (+) 表示入站到 SMTP 服务器;减号 (-) 表示通过 SMTP 客户机出站。)
条目的类型(在此示例中为 E);请参见表 21–2。
邮件的大小(在此示例中为 1)。默认表示为千字节(使用 MTA 选项文件中的 BLOCK_SIZE 关键字可以更改此默认值)。
信封 From: 地址(在此示例中为 adam@sesta.com)。请注意带有空信封 From: 地址的邮件(例如通知邮件),此字段为空白。
原始格式的信封 To: 地址(在此示例中为 marlowe@siroe.com)。
信封 To: 地址(在此示例中为 marlowe@siroe.com)。
传送状态(仅适用于 SMTP 通道)。
条目 |
说明 |
---|---|
B |
发送至 SMTP 服务器的错误命令。收件人地址字段将包含被拒绝的命令,而诊断字段将包含 SMTP 服务器所给出的响应。MTA 通道选项 (MAX_B_ENTRIES) 用于控制将记录到给定会话中的错误命令的数量。默认值为 10。 |
BA |
验证成功执行后事务中较早的错误命令。 |
BS |
TLS 成功启动后的错误命令。 |
BSA |
TLS 和 AUTH 的错误命令。 |
D |
成功出队列 |
DA |
使用 SASL(验证)成功出队列 |
DS |
使用 TLS(安全)成功出队列 |
DSA |
使用 TLS 和 SASL(安全和验证)成功出队列 |
E |
入队列 |
EA |
使用 SASL(验证)成功入队列 |
ES |
使用 TLS(安全)成功入队列 |
ESA |
使用 TLS 和 SASL(安全和验证)成功入队列 |
J |
拒绝尝试入队列(被从通道程序拒绝) |
K |
拒绝收件人邮件。如果发件人请求 NOTIFY=NEVER DSN 标志设置、邮件超时,或者手动返回邮件(例如,imsimta qm "delete" 命令始终为每个收件人生成 "K" 记录,而 qm "return" 命令则生成 "K" 记录而非 "R" 记录)。这表示不会根据发件人自己的请求向发件人发送通知。 与 "K" 记录相比,"R" 记录也为相同的拒绝/超时类型,但在 "R" 中系统会根据失败邮件生成一封新的通知邮件(返回给原发件人)。 |
Q |
出队列临时故障 |
R |
尝试出队列时收件人地址被拒绝(被主通道程序拒绝),或生成故障/退回邮件 |
V |
事务被异常中止时显示的警告消息。每个加入队列的收件人地址都有一个 "V" 记录。 |
W |
发送的警告消息以通知原发件人邮件尚未发送,但仍在重试的队列中。 |
Z |
已成功发送给一些收件人,但临时未成功发送给此收件人;所有收件人的原始邮件文件已出队列,并在该位置将此收件人和其他未成功发送的收件人的新邮件文件加入队列 |
SMTP 通道的 LOG_CONNECTION + 或 - 条目 |
|
C |
已关闭连接。将出现诊断字段。写入 connection.log_current(或者 mail.log_current,如果使用了单个日志文件)。用于记录关闭连接的原因。尤其是,如果关闭连接是由于达到了某些会话断开连接限制,则诊断字段中将显示此事实。 |
O |
已打开连接 |
U |
记录 SMTP 验证的成功信息和失败信息。格式与其他 O 和 C 条目相同。尤其是,相同的应用程序和传输信息字段以相同的顺序显示。如果已知用户名,则它将记录在用户名字段中。LOG_CONNECTION MTA 选项的位 7(值 128)将控制此过程。 |
X |
已拒绝连接 |
Y |
建立连接之前尝试连接失败 |
I |
已收到 ETRN 命令 |
LOG_CONNECTION、LOG_FILENAME、LOG_MESSAGE_ID、LOG_NOTARY、LOG_PROCESS 和 LOG_USERNAME 在 MTA 选项文件中全部启用后,格式将发生变化,如下面示例中所示。(此样例日志条目行已因版式原因而换行;实际日志条目将显示在一个物理行。)
19-Jan-1998 13:13:27.10 HOSTA 2e2d.2.1 tcp_local l E 1 service@siroe.com rfc822;adam@sesta.com adam 276 /imta/queue/l/ZZ01IWFY9ELGWM00094D.00 <01IWFVYLGTS499EC9Y@siroe.com> inetmail siroe.com (siroe.com [192.160.253.66]) |
除了上面已讨论的那些字段外,其中的附加字段是:
运行通道进程的节点的名称(在本示例中为 HOSTA)。
进程 ID(以十六进制表示),其后是句号(点)字符和计数。如果此为多线程通道条目(即,tcp_* 通道条目),则在进程 ID 和计数之间还会显示线程 ID。在本示例中,进程 ID 是 2e2d.2.1。
邮件的 NOTARY(传送收件人请求)标志,表示为整数(在本示例中为 276)。
MTA 队列区域中的文件名(在本示例中为 /imta/queue/l/ZZ01IWFY9ELGWM00094D.00)。
邮件 ID(在本示例中为 <01IWFVYLGTS499EC9Y@siroe.com)。
正在执行的进程的名称(在本示例中为 inetmail)。在 UNIX 上,对于分发程序进程(例如 SMTP 服务器),此名称通常为 inetmail(除非已使用 SASL)。
连接信息(在本示例中为 siroe.com (siroe.com [192.160.253.66]))。连接信息由发送系统或通道名称组成,例如由 HELO/EHLO 线路上的发送系统表示的名称(对于外来 SMTP 邮件),或加入通道队列的官方主机名(对于其他类型的通道)。对于 TCP/IP 通道,发送系统的“真实”名称(即由 DNS 反向查找和/或 IP 地址报告的符号名称)也可在 ident* 通道关键字的控制下被报告在扩号内;请参见IDENT 查找。此示例假定使用其中一个关键字,例如使用默认的 identnone 关键字,该关键字选择显示在 DNS 中的名称和 IP 地址。
要仅收集几个特定 MTA 通道的统计信息,请仅启用感兴趣的那些 MTA 通道上的日志记录通道关键字。许多站点倾向于启用所有 MTA 通道上的日志记录。特别是,如果您要尝试跟踪问题,诊断某些问题的第一步是注意到邮件未进入您期望或想要的通道,启用所有通道的日志记录将有助于您调查此类问题。
编辑 imta.cnf 文件。
该文件位于 /opt/SUNWmsgsr/config 目录中。
要为特定通道启用日志记录,请将 logging 关键字添加到通道定义中。例如:
channel-name keyword1 keyword2 logging |
此外,您还可以设置一些配置参数,例如日志文件的目录路径、日志级别等等。请参见管理邮件存储、Admin 和 Default 服务的日志
编辑 imta.cnf 文件。
该文件位于 /opt/SUNWmsgsr/config 目录中。
将 logging 关键字添加到 MTA 配置文件的通道块区域的 defaults 通道(请参见配置通道默认值)。例如:
defaults logging notices 1 2 4 7 copywarnpost copysendpost postheadonly noswitchchannel immnonurgent maxjobs 7 defaulthost siroe.com l defragment charset7 us-ascii charset8 iso-8859-01 siroe.com |
除了启用日志记录时通常提供的基本信息之外,您还可以通过设置 MTA 选项文件中的各种 LOG_* MTA 选项来指定要包含的其他可选信息字段。IMTA 调整文件 (msg_svr_base/config/imta_tailor) 中的 IMTA_OPTION_FILE 选项指定的文件将指定 MTA 选项文件。默认情况下,该文件为 msg_svr_base/config/option.dat 文件。
有关 MTA 选项文件的完整详细信息,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“Option File”。
编辑 MTA 选项文件。
此选项可使 MTA 记录 TCP/IP 连接以及邮件通信流量。默认情况下,系统将连接日志条目写入 mail.log* 文件。也可以将连接日志条目写入 connection.log* 文件。有关更多信息,请参见 SEPARATE_CONNECTION_LOG 选项。
编辑 MTA 选项文件。
将 SEPARATE_CONNECTION_LOG 选项设置为 1。
使用此选项来指定将连接日志条目改写入 connection.log 文件中。默认值 0 将导致连接日志记录存储在 MTA 日志文件中。
编辑 MTA 选项文件。
此选项控制是否将与使邮件入队的进程相关联的用户名保存在 mail.log 文件中。对于使用了 SASL (SMTP AUTH) 的 SMTP 提交,用户名字段将是经过验证的用户名(带有星号字符前缀)。
记录在 MTA 邮件文件中的确切字段格式和字段列表将根据设置的日志记录选项而有所不同。本节将描述一些解释典型日志条目类别的示例。有关其他可选字段的说明,请参见指定附加 MTA 日志记录选项。
由于印刷版式原因,日志文件条目被折叠成多行显示—实际日志文件条目是每个条目一行。
查看日志文件时,请记住在典型系统上会一次处理多封邮件。通常,与特定邮件相关的条目将散布在与其他同时正在处理的邮件相关的条目中。基本日志记录信息适用于收集通过 MTA 移动的邮件总体数目。
如果您希望有关至同一收件人的同一邮件的特定条目相关联,则启用 LOG_MESSAGE_ID。要将特定邮件与 MTA 队列区域中的特定文件相关联,或从条目查看已尝试传送特定的尚未成功出队列的邮件的次数,请启用 LOG_FILENAME。对于 SMTP 邮件(通过 TCP/IP 通道处理),如果希望将远程系统的 TCP 连接与已发送的邮件相关联,则启用 LOG_PROCESS 和 LOG_CONNECTION 的某一级别。
下面的示例显示了如果本地用户通过外发 TCP/IP 通道发送邮件(例如发送到 Internet),而可能看到的日志条目类别相当基本的示例。在本示例中,启用了 LOG_CONNECTION。标有 (1) 和 (2) 的行是一个条目—它们在实际日志文件中将显示为一个物理行。类似地,标有 (3) - (7) 的行是一个条目并将显示为一个物理行。
19-Jan-1998 19:16:57.64 l tcp_local E 1 (1) adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com (2) 19-Jan-1998 19:17:01.16 tcp_local D 1 (3) adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com (4) dns;thor.siroe.com (TCP|206.184.139.12|2788|192.160.253.66|25) (5) (THOR.SIROE.COM -- Server ESMTP [iMS V5.0 #8694]) (6) smtp;250 2.1.5 marlowe@siroe.com and options OK. (7) |
此行显示了一 (1) 块邮件从 l 通道到 tcp_local 通道入队列 (E) 的日期和时间。
这是与 (1) 位于同一日志文件物理行的一部分,因排版方便而在此处分行显示。显示了信封 From: 地址(在本例中为 adam@sesta.com)以及原先版本和当前版本的信封 To: 地址(在本例中为 marlowe@siroe.com )。
显示了一 (1) 块邮件从 tcp_local 通道出队列 (D) 的日期和时间—即,由 tcp_local 通道成功发送到某一远程 SMTP 服务器。
显示了信封 From: 地址、原始信封 To: 地址和当前格式的信封 To: 地址。
显示了与之建立连接的实际系统在 DNS 中名为 thor.siroe.com,本地发送系统具有 IP 地址 206.184.139.12 并从端口 2788 发送,远程目标系统具有 IP 地址 192.160.253.66 并且远程目标系统的连接端口是端口 25。
显示了远程 SMTP 服务器的 SMTP 标志行。
显示了返回的此地址的 SMTP 状态代码;250 是基本的 SMTP 成功代码,而此远程 SMTP 服务器使用扩展的 SMTP 状态代码和某一附加文本进行响应。
此示例显示了类似于示例 21–3 中所示的日志记录条目,但通过设置显示文件名和邮件 ID 的LOG_FILENAME=1 和 LOG_MESSAGE_ID=1 记录了附加信息;请参见 (1) 和 (2)。特别是邮件 ID 可用于将条目与邮件相关联。
19-Jan-1998 19:16:57.64 l tcp_local E 1 adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com /imta/queue/tcp_local/ZZ01ISKLSKLZLI90N15M.00 <01ISKLSKC2QC90N15M@sesta.com> (1) 19-Jan-1998 19:17:01.16 tcp_local D 1 adam@sesta.com rfc822;marlowe@siroe.com marlowe@siroe.com /imta/queue/tcp_local/Z01ISKLSKLZLI90N15M.00 <01ISKLSKC2QC90N15M@sesta.com> (2) dns;thor.siroe.com (TCP|206.184.139.12|2788|192.160.253.66|25) (THOR.SIROE.COM -- Server ESMTP [iMS V5.0 #8694]) smtp;250 2.1.5 marlowe@siroe.com and options OK. |
此示例对启用 LOG_FILENAME=1、LOG_MESSAGE_ID=1 和 LOG_CONNECTION=1 将邮件发送给多个收件人进行了说明。此处已将用户 adam@sesta.com 发送给 MTA 邮递列表 test-list@sesta.com,此邮递列表已扩展到 bob@sesta.com、carol@varrius.com 和 david@varrius.com。请注意每个收件人的原始信封 To: 地址是 test-list@sesta.com,尽管当前信封 To: 地址是每个收件人各自的地址。请注意邮件 ID 是如何保持一致的,尽管涉及了两个单独的文件(一个用于 l 通道而另一个用于出 tcp_local 通道)。
19-Jan-1998 20:01:44.10 l l E 1 adam@sesta.com rfc822;test-list@sesta.com bob imta/queue/l/ZZ01ISKND3DE1K90N15M.00 <01ISKND2H8MS90N15M@sesta.com> 19-Jan-1998 20:01:44.81 l tcp_local E 1 adam@sesta.com rfc822;test-list@sesta.com carol@varrius.com imta/queue/tcp_local/ZZ01ISKND2WS1I90N15M.00 <01ISKND2H8MS90N15M@sesta.com> 19-Jan-1998 20:01:44.81 l tcp_local E 1 adam@sesta.com rfc822;test-list@sesta.com david@varrius.com imta/queue/tcp_local/ZZ01ISKND2WS1I90N15M.00 <01ISKND2H8MS90N15M@sesta.com> 19-Jan-1998 20:01:50.69 l D 1 adam@sesta.com rfc822;test-list@sesta.com bob imta/queue/l/ZZ01ISKND3DE1K90N15M.00 <01ISKND2H8MS90N15M@sesta.com> 19-Jan-1998 20:01:57.36 tcp_local D 1 adam@sesta.com rfc822;test-list@sesta.com carol@varrius.com imta/queue/tcp_local/ZZ01ISKND2WS1I90N15M.00 <01ISKND2H8MS90N15M@sesta.com> dns;gw.varrius.com (TCP|206.184.139.12|2788|192.160.253.66|25) (gw.varrius.com -- SMTP Sendmail) smtp;250 OK. 19-Jan-1998 20:02:06.14 tcp_local D 1 adam@sesta.com rfc822;test-list@sesta.com david@varrius.com imta/queue/tcp_local/ZZ01ISKND2WS1I90N15M.00 <01ISKND2H8MS90N15M@sesta.com> dns;gw.varrius.com (TCP|206.184.139.12|2788|192.160.253.66|25) (gw.varrius.com -- SMTP Sendmail) smtp;250 OK. |
此示例对尝试发送到不存在的域(此处为 very.bogus.com)进行了说明;即,发送到未被 MTA 的重写规则发现其不存在的、并且被 MTA 匹配到外发 TCP/IP 通道的域名。此示例假设 MTA 选项设置为 LOG_FILENAME=1 和 LOG_MESSAGE_ID=1。
TCP/IP 通道在 DNS 中运行并检查域名时,DNS 返回一个错误,指示该名称不存在。请注意 [5] 中所示的“拒绝”条目 (R),以及 [6] 中所示的 DNS 返回的错误(指示该域名为非法域名)。
由于提交邮件后地址被拒绝,MTA 将生成退回邮件给原发送人。MTA 将新拒绝邮件加入队列以发送给原发送人 (1),并在删除原出站邮件((5) 中所示的 R 条目)之前,将一份副本发送给邮寄主管 (4)。
通知邮件(例如退回邮件)具有空信封 From: 地址—例如,如 (2) 和 (8) 中所示—其中信封 From: 字段显示为空白。由 MTA 生成的退回邮件的初始排队显示了新通知邮件的邮件 ID 和紧随其后的原始邮件 (3) 的邮件 ID。(此类信息对于 MTA 不是总可以使用,但可用于记录时,它允许对应于出站失败的邮件的日志条目与对应于结果通知邮件的日志条目相关联。)此类通知邮件入队到进程通道,该通道转而又将这些邮件排队到相应的目标通道 (7)。
19-JAN-1998 20:49:04 l tcp_local E 1 adam@sesta.com rfc822;user@very.bogus.com user@very.bogus.com imta/queue/tcp_local/ZZ01ISKP0S0LVQ94DU0K.00 <01ISKP0RYMAS94DU0K@SESTA.COM> 19-JAN-1998 20:49:33 tcp_local process E 1 (1) rfc822;adam@sesta.com adam@sesta.com (2) imta/queue/process/ZZ01ISKP0S0LVQ94DTZB.00 <01ISKP22MW8894DTAS@SESTA.COM>,<01ISKP0RYMAS94DU0K@SESTA.COM> (3) 19-JAN-1998 20:49:33 tcp_local process E 1 (4) rfc822;postmaster@sesta.com postmaster@sesta.com imta/queue/process/ZZ01ISKP0S0LVQ94DTZB.00 <01ISKP22MW8894DTAS@SESTA.COM>,<01ISKP0RYMAS94DU0K@SESTA.COM> 19-JAN-1998 20:50:07 tcp_local R 1 (5) adam@sesta.com rfc822;user@very.bogus.com user@very.bogus.com imta/queue/tcp_local/ZZ01ISKP0S0LVQ94DU0K.00 <01ISKP0RYMAS94DU0K@SESTA.COM> Illegal host/domain name found (6) 19-JAN-1998 20:50:08 process l E 3 (7) rfc822;adam@sesta.com adam (8) imta/queue/l/ZZ01ISKP23BUQS94DTYL.00 <01ISKP22MW8894DTAS@SESTA.COM> 19-JAN-1998 20:50:08 process l E 3 rfc822;postmaster@sesta.com postmaster imta/queue/l/ZZ01ISKP23BUQS94DTYL.00 <01ISKP22MW8894DTAS@SESTA.COM> 19-JAN-1998 20:50:12 l D 3 rfc822;adam@sesta.com adam imta/queue/l/ZZ01ISKP23BUQS94DTYL.00 <01ISKP22MW8894DTAS@SESTA.COM> 19-JAN-1998 20:50:12 l D 3 rfc822;postmaster@sesta.com postmaster imta/queue/l/ZZ01ISKP23BUQS94DTYL.00 <01ISKP22MW8894DTAS@SIROE.COM> |
此示例对尝试发送到远程系统上的错误地址进行了说明。此示例假设 MTA 选项设置为 LOG_FILENAME=1 和 LOG_MESSAGE_ID=1,通道选项设置为 LOG_BANNER=1 和 LOG_TRANSPORTINFO=1。请注意拒绝条目 (R),如 (1) 中所示。但与示例 21–4 中的拒绝条目不同,请注意此处的拒绝条目显示了已建立到远程系统的连接,并显示了远程 SMTP 服务器发布的 SMTP 错误代码,(2) 和 (3)。(2) 中所示的信息是设置通道选项 LOG_BANNER=1 和 LOG_TRANSPORTINFO=1 的结果。
20-JAN-1998 13:11:05 l tcp_local E 1 adam@sesta.com rfc822;nonesuch@siroe.com nonesuch@siroe.com imta/queue/tcp_local/ZZ01ISLNBB1JOE94DUWH.00 <01ISLNBAWV3094DUWH@sesta.com> 20-JAN-1998 13:11:08 tcp_local process E 1 rfc822;adam@sesta.com adam@sesta.com imta/queue/process/ZZ01ISLNBB1JOE94DSGB.00 <01ISLNBFKIDS94DUJ8@sesta.com>,<01ISLNBAWV3094DUWH@sesta.com> 20-JAN-1998 13:11:08 tcp_local process E 1 rfc822;postmaster@sesta.com postmaster@sesta.com imta/queue/process/ZZ01ISLNBB1JOE94DSGB.00 <01ISLNBFKIDS94DUJ8@sesta.com>,<01ISLNBAWV3094DUWH@sesta.com> 20-JAN-1998 13:11:11 tcp_local R 1 (1) adam@sesta.com rfc822;nonesuch@siroe.com nonesuch@siroe.com imta/queue/tcp_local/ZZ01ISLNBB1JOE94DUWH.00 <01ISLNBAWV3094DUWH@sesta.com> dns;thor.siroe.com (TCP|206.184.139.12|2788|192.160.253.66|25) (2) (THOR.SIROE.COM -- Server ESMTP [iMS V5.0 #8694]) smtp; 553 unknown or illegal user: nonesuch@siroe.com (3) 20-JAN-1998 13:11:12 process l E 3 rfc822;adam@sesta.com adam imta/queue/l/ZZ01ISLNBGND1094DQDP.00 <01ISLNBFKIDS94DUJ8@sesta.com> 20-JAN-1998 13:11:12 process l E 3 rfc822;postmaster@sesta.com postmaster imta/queue/l/ZZ01ISLNBGND1094DQDP.00 <01ISLNBFKIDS94DUJ8@sesta.com> 20-JAN-1998 13:11:13 l D 3 rfc822;adam@sesta.com adam@sesta.com imta/queue/l/ZZ01ISLNBGND1094DQDP.00 <01ISLNBFKIDS94DUJ8@sesta.com> 20-JAN-1998 13:11:13 l D 3 rfc822;postmaster@sesta.com postmaster@sesta.com imta/queue/l/ZZ01ISLNBGND1094DQDP.00 <01ISLNBFKIDS94DUJ8@sesta.com> |
此示例对当 MTA 拒绝远程端提交邮件的尝试时所产生的日志文件条目的类别进行了说明。(本示例假设未启用 LOG_* 可选项,因此条目中仅记录了基本字段。请特别注意,启用 LOG_CONNECTION 选项将导致在此类 J 条目中产生附加信息字段。)在此例中,示例是对已使用 ORIG_SEND_ACCESS 映射设置了 SMTP 中继阻止(请参见配置 SMTP 中继阻止)的 MTA 而言的 ,该映射包括:
ORIG_SEND_ACCESS ! ...numerous entries omitted... ! tcp_local|*|tcp_local|* $NRelaying$ not$ permitted
其中 alan@very.bogus.com 不是内部地址。因此远程用户 harold@varrius.com 尝试通过 MTA 系统中继到远程用户 alan@very.bogus.com 遭到拒绝。
28-May-1998 12:02:23 tcp_local J 0 (1) harold@varrius.com rfc822; alan@very.bogus.com (2) 550 5.7.1 Relaying not permitted: alan@very.bogus.com (3) |
此日志显示了拒绝远程端提交邮件的尝试的日期和时间。拒绝由 J 记录表示。(MTA 通道尝试发送邮件而被拒绝的情况以 R 记录表示,如示例 21–4 和示例 21–5 中所示)。
写入日志的最后一个 J 记录将有一个指示,用于声明它是给定会话的最后一个 J 记录。此外,Messaging Server 的当前版本没有对 J 记录的数量做出限制。
显示了尝试的信封 From: 和 To: 地址、地址。在此示例中,无可用的原始信封 To: 信息,因此该字段为空。
此条目包括 MTA 发给远程端(尝试的发件人)的 SMTP 错误消息。
此示例对在第一次尝试时不能发送邮件所产生的日志文件条目的类别进行了说明,因此 MTA 将多次尝试发送该邮件。本示例假设选项设置为 LOG_FILENAME=1 和 LOG_MESSAGE_ID=1。
15-Jan-1998 10:31:05.18 tcp_internal tcp_local E 3 (1) adam@hosta.sesta.com rfc822;user@some.org user@some.org imta/queue/tcp_local/ZZ01IS3D2ZP7FQ9UN54R.00 <01IRUD7SVA3Q9UN2D4@sesta.com> 15-Jan-1998 10:31:10.37 tcp_local Q 3 (2) adam@hosta.sesta.com rfc822;user@some.org user@some.org imta/queue/tcp_local/ZZ01IS3D2ZP7FQ9UN54R.00 (3) <01IRUD7SVA3Q9UN2D4@sesta.com> TCP active open: Failed connect() Error: no route to host (4) ...several hours worth of entries... 15-Jan-1998 12:45:39.48 tcp_local Q 3 (5) adam@hosta.sesta.com rfc822;user@some.org user@some.org imta/queue/tcp_local/ZY01IS3D2ZP7FQ9UN54R.00 (6) <01IRUD7SVA3Q9UN2D4@sesta.com> TCP active open: Failed connect() Error: no route to host ...several hours worth of entries... 15-Jan-1998 16:45:24.72 tcp_local Q 3 adam@hosta.sesta.com rfc822;user@some.org user@some.org imta/queue/tcp_local/ZX01IS67NY4RRK9UN7GP.00 (7) <01IRUD7SVA3Q9UN2D4@sesta.com> TCP active open: Failed connect() Error: connection refused (8) ...several hours worth of entries... 15-Jan-1998 20:45:51.55 tcp_local D 3 (9) adam@hosta.sesta.com rfc822;user@some.org user@some.org imta/queue/tcp_local/ZX01IS67NY4RRK9UN7GP.00 <01IRUD7SVA3Q9UN2D4@sesta.com> dns;host.some.org (TCP|206.184.139.12|2788|192.1.1.1|25) (All set, fire away) smtp; 250 Ok |
邮件进入 tcp_internal 通道—可能来自 POP 或 IMAP 客户机,或可能来自使用 MTA 作为 SMTP 中继的组织中的其他主机;MTA 将其加入到 tcp_local 外发通道队列。
第一次传送尝试失败,由 Q 条目表示。
从 ZZ* 文件名可以看出这是第一次传送尝试。
TCP/IP 软件包找不到至远程端的路由时,此传送尝试将失败。与 示例 21–4 不同,DNS 并非拒绝目标域名 some.org;而是,"no route to host" 错误表示在发送端和接收端之间存在网络问题。
下一次 MTA 定期作业运行时,它重新尝试传送,再次不成功。
文件名现在为 ZY*,表示这是第二次尝试。
第三次未成功尝试的文件名是 ZX*。
下一次定期作业重新尝试传送,传送失败,尽管这一次 TCP/IP 软件包未对无法进入远程 SMTP 服务器表示不满,但其实是远程 SMTP 服务器不接受连接。(可能远程端修复了其网络问题,但尚未备份其 SMTP 服务器- - 或其 SMTP 服务器正忙于处理其他邮件而无法在 MTA 尝试连接时接受连接。)
最终对邮件取消排队。
此示例对通过转换通道路由邮件的情况进行了说明。假设此站点具有 CONVERSIONS 映射表,例如:
CONVERSIONS IN-CHAN=tcp_local;OUT-CHAN=l;CONVERT Yes
本示例假设选项设置为 LOG_FILENAME=1 和 LOG_MESSAGE_ID=1。
04-Feb-1998 00:06:26.72 tcp_local conversion E 9 (1) amy@siroe.edu rfc822;bert@sesta.com bert@sesta.com imta/queue/conversion/ZZ01IT5UAMZ4QW98518O.00 <01IT5UALL14498518O@siroe.edu> 04-Feb-1998 00:06:29.06 conversion l E 9 (2) amy@siroe.edu rfc822;bert@sesta.com bert imta/queue/l/ZZ01IT5UAOXLDW98509E.00 <01IT5STUMUFO984Z8L@siroe.edu> 04-Feb-1998 00:06:29.31 conversion D 9 (3) amy@siroe.edu rfc822;bert@sesta.com bert imta/queue/conversion/ZZ01IT5UAMZ4QW98518O.00 <01IT5UALL14498518O@siroe.edu> 04-Feb-1998 00:06:32.62 l D 9 (4) amy@siroe.edu rfc822;bert@siroe.com bert imta/queue/l/ZZ01IT5UAOXLDW98509E.00 <01IT5STUMUFO984Z8L@siroe.edu> |
来自外部用户 amy@siroe.edu 的邮件进入,其收件人地址为 l 通道收件人 bert@sesta.com 的地址。但是,CONVERSIONS 映射条目使邮件初始时排到转换通道(而不是直接进入 l 通道)。
转换通道运行并将邮件加入 l 通道队列。
然后转换通道可以使邮件出队列(删除旧邮件文件)。
最后,l 通道使邮件出队列(传送)。
此示例说明了通过 LOG_CONNECTION=3 启用连接日志记录后外发邮件的日志输出。在本示例中还假设 LOG_PROCESS=1、LOG_MESSAGE_ID=1 和 LOG_FILENAME=1。本示例显示了用户 adam@sesta.com 将同一邮件(请注意每个邮件副本的邮件 ID 都相同)发送给三个收件人 bobby@hosta.sesta.com、carl@hosta.sesta.com 和 dave@hostb.sesta.com 的情况。本示例假设邮件从标有(如此类通道通常的那样)single_sys 通道关键字的 tcp_local 通道发出。因此,如 (1)、(2) 和 (3) 中所示,系统将在磁盘上为不同主机名的每组收件人分别创建邮件文件,其中 bobby@hosta.sesta.com 和 carl@hosta.sesta.com 收件人存储在同一邮件文件中,而 dave@hostb.sesta.com 收件人存储在另一邮件文件中。
19-Feb-1998 10:52:05.41 1e488.0 l tcp_local E 1 adam@sesta.com rfc822;bobby@hosta.sesta.com bobby@hosta.sesta.com imta/queue/tcp_local/ZZ01ITRF7BO388000FCN.00 (1) <01ITRF7BDHS6000FCN@SESTA.COM> 19-Feb-1998 10:52:05.41 1e488.0 l tcp_local E 1 adam@sesta.com rfc822;carl@hosta.sesta.com carl@hosta.sesta.com imta/queue/tcp_local/ZZ01ITRF7BO388000FCN.00 (2) <01ITRF7BDHS6000FCN@SESTA.COM> 19-Feb-1998 10:52:05.74 1e488.1 l tcp_local E 1 adam@sesta.com rfc822;dave@hostb.sesta.com dave@hostb.sesta.com imta/queue/tcp_local/ZZ01ITRF7C11FU000FCN.00 (3) <01ITRF7BDHS6000FCN@SESTA.COM> 19-Feb-1998 10:52:10.79 1f625.2.0 tcp_local - O (4) TCP|206.184.139.12|5900|206.184.139.66|25 SMTP/hostb.sesta.com/mailhub.sesta.com (5) 19-Feb-1998 10:52:10.87 1f625.3.0 tcp_local - O (6) TCP|206.184.139.12|5901|206.184.139.70|25 SMTP/hosta.sesta.com/hosta.sesta.com (7) 19-Feb-1998 10:52:12.28 1f625.3.1 tcp_local D 1 adam@sesta.com rfc822;bobby@hosta.sesta.com bobby@hosta.sesta.com imta/queue/tcp_local/ZZ01ITRF7BO388000FCN.00 <01ITRF7BDHS6000FCN@SESTA.COM> hosta.sesta.com dns;hosta.sesta.com (8) (TCP|206.184.139.12|5901|206.184.139.70|25) (hosta.sesta.com -- Server ESMTP [iMS V5.0 #8790]) (TCP|206.184.139.12|5901|206.184.139.70|25) smtp;250 2.1.5 bobby@hosta.sesta.com and options OK. 19-Feb-1998 10:52:12.28 1f625.3.1 tcp_local D 1 adam@sesta.com rfc822;carl@hosta.sesta.com carl@hosta.sesta.com imta/queue/tcp_local/ZZ01ITRF7BO388000FCN.00 <01ITRF7BDHS6000FCN@SESTA.COM> hosta.sesta.com dns;hosta.sesta.com (TCP|206.184.139.12|5901|206.184.139.70|25) (hosta.sesta.com -- Server ESMTP [iMS V5.0 #8790]) (TCP|206.184.139.12|5901|206.184.139.70|25) smtp;250 2.1.5 carl@hosta.sesta.com and options OK. 19-Feb-1998 10:52:12.40 1f625.3.2 tcp_local - C (9) TCP|206.184.139.12|5901|206.184.139.70|25 SMTP/hosta.sesta.com/hosta.sesta.com 19-Feb-1998 10:52:13.01 1f625.2.1 tcp_local D 1 adam@sesta.com rfc822;dave@hostb.sesta.com dave@hostb.sesta.com imta/queue/tcp_local/ZZ01ITRF7C11FU000FCN.00 <01ITRF7BDHS6000FCN@SESTA.COM> mailhub.sesta.com dns;mailhub.sesta.com (TCP|206.184.139.12|5900|206.184.139.66|25) (MAILHUB.SESTA.COM -- Server ESMTP [iMS V5.0 #8694]) (TCP|206.184.139.12|5900|206.184.139.66|25) smtp;250 2.1.5 dave@hostb.sesta.com and options OK. 19-Feb-1998 10:52:13.05 1f625.2.2 tcp_local - C (10) TCP|206.184.139.12|5900|206.184.139.66|25 SMTP/hostb.sesta.com/mailhub.sesta.com |
邮件已排入队列,准备发给第一个收件人...
....准备发给第二个收件人....
....准备发给第三个收件人。
设置 LOG_CONNECTION=3 将使 MTA 写入此条目。减号 (-) 表示此条目指外发连接。O 表示此条目对应于连接的开口。同时请注意尽管此开口由线程 2 和线程 3 来执行,但由于多线程的 TCP/IP 通道使用同一进程来处理这些不同的连接开口,因此此处的进程 ID 相同(均为 1f625)。
由于要连接到两个单独的远程系统,独立线程中的多线程 SMTP 客户机将打开与每个系统的连接—第一个显示在本条目中,第二个显示在 7 中。条目的此部分显示了发送和目标 IP 号以及端口号,并显示了初始主机名和通过 DNS 查找到的主机名。在 SMTP/initial-host/dns-host 子句中,请注意初始主机名和在初始主机名上执行 DNS MX 记录查找后所使用的主机名的显示:mailhub.sesta.com 显然是 hostb.sesta.com 的 MX 服务器。
多线程的 SMTP 客户机在单独的线程中(尽管进程相同)打开到第二系统的连接。
由于要连接到两个单独的远程系统,独立线程中的多线程 SMTP 客户机将打开与每个系统的连接—第二个显示在本条目中,第一个显示在上面的 5 中。条目的此部分显示了发送和目标 IP 号以及端口号,并显示了初始主机名和通过 DNS 查找到的主机名。在本示例中,系统 hosta.sesta.com 显然自己直接接收邮件。
除了产生特定的连接条目外,LOG_CONNECTION=3 还可将与连接相关的信息包含进常规邮件条目中,如此处所示。
设置 LOG_CONNECTION=3 将使 MTA 写入此条目。所有邮件(本示例中的 bobby 和 carl 邮件)出队列后,系统将关闭连接,如此条目中的 C 所表示。
此示例说明了通过 LOG_CONNECTION=3 启用连接日志记录后外来 SMTP 邮件的日志输出。
19-Feb-1998 17:02:08.70 tcp_local + O (1) TCP|206.184.139.12|25|192.160.253.66|1244 SMTP (2) 19-Feb-1998 17:02:26.65 tcp_local l E 1 service@siroe.com rfc822;adam@sesta.com adam THOR.SIROE.COM (THOR.SIROE.COM [192.160.253.66]) (3) 19-Feb-1998 17:02:27.05 tcp_local + C (4) TCP|206.184.139.12|25|192.160.253.66|1244 SMTP 19-Feb-1998 17:02:31.73 l D 1 service@siroe.com rfc822;adam@sesta.com adam |
远程系统打开一个连接。字符 O 表示此条目与打开连接有关;字符 + 表示此条目与外来连接有关。
显示用于连接的 IP 号和端口。在此条目中,接收系统(创建日志文件条目的系统)具有 IP 地址 206.184.139.12 并且将连接指向端口 25;发送系统具有 IP 地址 192.160.253.66 并从端口 1244 发送。
在将外来 TCP/IP 通道 (tcp_local) 的邮件加入 l 通道收件人队列的条目中,请注意由于启用了 LOG_CONNECTION=3 而包含了超过默认值范围的信息。特别是,发送系统在其 HELO 或 EHLO 行中声明的名称、在连接 IP 号上由 DNS 反向查找到的发送系统的名称,以及发送系统的 IP 地址均被记录下来;请参见第 12 章,配置通道定义行为。
关闭入站连接。字符 C 表示此条目与关闭连接有关;字符 + 表示此条目与外来连接有关。
分发程序错误和调试输出(如果已启用)将被写入 MTA 日志目录中的 dispatcher.log 文件。在 msg_svr_base/imta/dispatcher.cnf 文件中指定分发程序配置信息。安装时将创建一个默认的配置文件,可不必对其进行更改而直接使用。但是,如果出于安全性或性能原因需要修改默认配置文件,则可以通过编辑 dispatcher.cnf 文件来实现此操作。
表 21–3 分发程序调试位
位
|
十六进制值 |
十进制值 |
用法
|
---|---|---|---|
0 |
x 00001 |
1 |
基本服务分发程序主模块调试。 |
1 |
x 00002 |
2 |
附加服务分发程序主模块调试。 |
2 |
x 00004 |
4 |
服务分发程序配置文件日志记录。 |
3 |
x 00008 |
8 |
基本服务分发程序其他调试。 |
4 |
x 00010 |
16 |
基本服务调试。 |
5 |
x 00020 |
32 |
附加服务调试。 |
6 |
x 00040 |
64 |
进程相关服务调试。 |
7 |
x 00080 |
128 |
不使用。 |
8 |
x 00100 |
256 |
基本服务分发程序和进程通信调试。 |
9 |
x 00200 |
512 |
附加服务分发程序和进程通信调试。 |
10 |
x 00400 |
1024 |
软件包级别通信调试。 |
11 |
x 00800 |
2048 |
不使用。 |
12 |
x 01000 |
4096 |
基本工作进程调试。 |
13 |
x 02000 |
8192 |
附加工作进程调试。 |
14 |
x 04000 |
16384 |
附加工作进程调试,特别是连接切换。 |
15 |
x 08000 |
32768 |
不使用。 |
16 |
x 10000 |
65536 |
基本工作进程到服务分发程序 I/O 调试。 |
17 |
x 20000 |
131072 |
附加工作进程到服务分发程序 I/O 调试。 |
20 |
x 100000 |
1048576 |
基本统计信息调试。 |
21 |
x 200000 |
2097152 |
附加统计信息调试。 |
24 |
x 1000000 |
16777216 |
将 PORT_ACCESS 拒绝记录到 dispatcher.log 文件中。 |
编辑 dispatcher.cnf 文件。
将 DEBUG 选项设置为 -1。
您还可以设置逻辑变量或环境变量 IMTA_DISPATCHER_DEBUG (UNIX),它以十六进制将 32 位调试掩码定义为值 FFFFFFFF。上表介绍了每个位的含义。
分发程序配置文件中提供的分发程序服务将影响各种系统参数的要求。系统的堆大小 (datasize) 必须能够满足分发程序的线程堆栈使用。
要显示堆大小(即默认的 datasize),请使用以下命令之一:
csh 命令:
# limit |
ksh 命令:
# ulimit -a |
Solaris 实用程序
# sysdef |
对每个分发程序服务计算 STACKSIZE*MAX_CONNS,然后把对每项服务计算的值相加。系统的堆大小必须至少是此数目的两倍。
本节介绍了邮件存储(POP、IMAP 和 HTTP)、Admin 和 Default 服务的日志记录。(请参见表 21–1)。
对于这些服务,您可以使用 Console 来指定日志设置和查看日志。您指定的设置将影响所记录的事件以及事件的数目。分析日志文件时,您可以使用这些设置和其他特性来完善日志事件的搜索。
本节包含以下小节:
本节描述了邮件存储和管理服务的以下日志特性:日志记录级别、日志事件的类别、日志文件名约定和日志文件目录。
日志记录的级别或优先级定义了日志记录活动的详细程度或冗长度。高优先级意味着较简略,仅记录具有高优先级(高严重程度)的事件。低级别意味着更为详细,将在日志文件中记录更多事件。
您可以通过设置 logfile.service.loglevel 配置参数来为每种服务(POP、IMAP、HTTP、Admin 和 Default)单独设置日志记录级别(请参见定义和设置服务日志记录选项)。您还可以使用日志记录级别来过滤对日志事件的搜索。表 21–4 对可用级别进行了说明。这些日志记录级别是 UNIX syslog 工具所定义的级别的子集。
表 21–4 存储和管理服务的日志记录级别
级别 |
说明 |
---|---|
Critical |
最少的日志记录信息。每当发生严重问题或紧急情况(例如服务器无法访问邮箱或其运行所需的库)时,将一个事件写入日志。 |
Error |
每当发生错误情况(例如尝试连接到客户机或其他服务器失败)时,将一个事件写入日志。 |
Warning |
每当发生警告情况(例如服务器无法理解客户机所发送的通信)时,将一个事件写入日志。 |
Notice |
每当发生通知(正常但重要的情况,例如用户登录失败或会话关闭)时,将一个事件写入日志。这是默认日志级别。 |
Information |
执行每个重要操作(例如用户成功登录、注销、创建或重命名邮箱)时,将一个事件写入日志。 |
Debug |
最冗长的日志记录。仅供调试使用。执行每个进程或任务中的单个步骤时都将事件写入日志,用以确定问题。 |
当选择一个特定日志记录级别时,与该级别以及高于该级别(较低冗长度)的所有级别相对应的事件都将包括在日志记录内。日志记录的默认级别为“通知”。
指定的日志记录越详细,日志文件将占用的磁盘空间就越大;有关指导原则,请参见定义和设置服务日志记录选项。
在每个支持的服务或协议中,Messaging Server 将根据日志事件所发生的设备或功能区进一步对日志事件进行分类。每个日志事件都包含生成日志事件的设备的名称。这些类别将有助于在搜索过程中过滤事件。表 21–5 列出了 Messaging Server 为日志记录目的所标识的类别。
表 21–5 日志事件的发生类别
设备 |
说明 |
---|---|
General |
与此协议或服务相关的无明显特征的操作 |
LDAP |
与 Messaging Server 访问 LDAP 目录数据库相关的操作 |
Network |
与网络连接相关的操作(套接字错误归入此类别) |
Account |
与用户帐户相关的操作(用户登录归入此类别) |
Protocol |
与特定于协议的命令相关的协议级操作(由 POP、IMAP 或 HTTP 函数返回的错误归入此类别) |
Stats |
与收集服务器统计信息相关的操作 |
Store |
与访问邮件存储相关的低级操作(读/写错误归入此类别) |
有关在日志搜索中将类别用作过滤器的示例,请参见搜索并查看服务日志。
每项日志记录服务均被指定了单独的目录,其中存储了服务的日志文件。所有 IMAP 日志文件均存储在一起,所有 POP 日志文件及其他服务的日志文件也是如此。您可以定义每个目录的位置,也可以定义目录中允许存在的日志文件的最大大小和数目。
请确保存储容量足够所有日志文件使用。日志数据可能量很大,尤其在较低(较冗长)的日志记录级别中。
同时,定义适当的日志记录级别、日志旋转、日志过期和服务器备份策略也很重要,以便备份所有日志文件目录并使这些目录都不会过载;否则,就可能丢失信息。请参见定义和设置服务日志记录选项。
所有由 Messaging Server 创建的邮件存储和管理服务日志文件都具有相同的内容格式。日志文件是多行文本文件,其中每行描述一个日志事件。对于每项支持的服务,所有事件说明都具有通用格式:
dateTime hostName processName[pid]: category logLevel: eventMessage
表 21–6 列出了日志文件组件。请注意,除了日期/时间格式不同以及此格式包括两个附加组件(category 和 logLevel)以外,此事件说明的格式与 UNIX syslog 工具定义的格式相同。
表 21–6 存储和管理日志文件组件
组件 |
定义 |
---|---|
dateTime |
记录事件时的日期和时间,以 dd/mm/yyyy hh:mm:ss 格式表示,时区字段以 GMT +/-hhmm 表示。例如:02/Jan/1999:13:08:21 -0700 |
hostName |
服务器在其上运行的主机名:例如,showshoe。 注释:如果主机上有多个 Messaging Server 示例,则可以使用进程 ID (pid) 将不同示例的日志事件相互分开。 |
processName |
生成事件的进程名称:例如,cgi_store。 |
pid |
生成事件的进程 ID:例如,18753。 |
category |
事件所属的类别:例如,General(请参见示例 21–5)。 |
logLevel |
事件所表示的日志记录级别:例如,Notice(请参见示例 21–4)。 |
eventMessage |
可为任意长度的特定于事件的解释消息:例如,Log created (894305624)。 |
以下是使用 Console 所查看到的三个日志事件示例:
02/May/1998:17:37:32 -0700 showshoe cgi_store[18753]: General Notice: Log created (894155852) 04/May/1998:11:07:44 -0400 xyzmail cgi_service[343]: General Error: function=getserverhello|port=2500|error=failed to connect 03/Dec/1998:06:54:32 +0200 SiroePost imapd[232]: Account Notice: close [127.0.0.1] [unauthenticated] 1998/12/3 6:54:32 0:00:00 0 115 0
IMAP 和 POP 事件条目可能会以三个数字结束。以上示例中包含:0 115 0。第一个数字是客户机发送的字节数,第二个数字是服务器发送的字节数,第三个数字是选定的邮箱数(对于 POP 通常为 1)。
在“日志查看器”窗口中查看日志文件时,您可以通过搜索事件中的任意特定组件(例如特定的日志记录级别、类别或特定的进程 ID)来限制显示的事件。有关更多信息,请参见搜索并查看服务日志。
每个日志条目事件消息的格式都特定于所记录事件的类型,即每个服务都定义了出现在其任何事件消息中的内容。许多事件消息简单明了,而其他事件消息则复杂一些。
您可以定义能最好地满足管理需要的邮件存储和管理服务日志记录配置。本节讨论了可帮助您决定最佳配置和策略的问题,并解释了如何实现这些配置和策略。
日志文件的命名模式 (service.sequenceNum.timeStamp) 有助于您设计灵活的日志轮转和备份策略。将不同服务的事件写入不同的文件便于您快速隔离问题。同时,由于文件名中的序列号持续增长,并且时间戳始终是唯一的,因此当有限的序列号集用尽后,以后的日志文件也不会简单地覆写早期的日志文件。而是仅在达到更灵活的生存期限制、文件数目或存储总数时,才会覆写或删除较旧的日志文件。
Messaging Server 支持日志文件的自动旋转,此功能简化了管理,也使备份变得更容易。不必手动删除当前日志文件并创建新日志文件以保留后续日志事件。您可以随时备份目录中除当前日志文件之外的所有日志文件,而不必停止服务器或手动通知服务器启动新日志文件。
设置日志记录策略的过程中,您可以针对每种服务设置选项,这些选项控制着日志存储总数、最大日志文件数、单个文件大小、最大文件生存期和日志文件旋转的速度等限制。
请记住,您必须设置若干个限制,超过其中一个限制可能会导致日志文件的旋转或删除。最先到达的限制为控制限制。例如,如果最大日志文件大小是 3.5 MB,并且您指定每天创建一个新日志,如果每 24 小时建立的日志数据不止 3.5 MB,那么每天实际创建的日志文件则不止一个。而且,如果最大日志文件数目是 10 个并且最大生存期是 8 天,则可能永远不会达到日志文件的生存期限制,因为较快的日志旋转将意味着在不到 8 天之内便已创建 10 个文件。
为 Messaging Server 管理日志提供的以下默认值可能是规划的合理起始点:
目录中日志文件的最大数目:10
最大日志文件大小:2 MB
允许的所有日志文件的最大大小总计:20 MB
允许的最小可用磁盘空间:5 MB
日志轮转时间:1 天
过期之前的最大生存期:7 天
日志记录的级别:Notice
您可以看到此配置假设预计服务器管理日志数据每天累积大约 2 MB,每周备份,分配给管理日志的存储空间总数至少是 25 MB。(如果日志记录级别更冗长,则这些设置可能不足。)
对于 POP、IMAP 或 HTTP 日志,相同的值可能是合理的启动值。如果所有服务具有大致相同的日志存储要求(如此处所示的默认值),您可能期望初始规划总计约 150 MB 的日志存储容量。(请注意,这仅意味着存储要求的一般指示;实际的要求可能会显著不同。)
您可以使用 Console 或命令行来设置控制邮件存储日志记录配置的选项。
这些选项的最优设置取决于日志数据积累的速度。可能需要 4,000 到 10,000 个日志条目以占用 1 MB 存储。在较冗长的日志记录级别(例如 Notice),一般忙碌的服务器每周可能生成成百上千兆字节的日志数据。可遵循以下方法:
设置与存储限制一致的日志记录级别—即,估计该级别将导致日志数据积累的速度与估计存储限制所使用的速度大致相同。
定义日志文件大小,以便不影响搜索性能。同时,将日志文件大小与旋转时间安排和存储限制总数置于同一级别。假定日志条目以某速度积累,您可以将最大速度设置为稍大于自动发生旋转时期望的积累速度。最大文件大小乘以最大文件数可能约等于存储限制总数。
例如,如果每天进行 IMAP 日志旋转,您期望的 IMAP 日志数据积累为每天 3 MB,IMAP 日志的存储限制总数是 25 MB,您可将最大 IMAP 日志文件大小设为 3.5 MB。(本示例中,如果日志数据累积得很快,以致于所有日志文件都是最大大小并且已到达日志文件的最大数目,则可能仍会丢失日志数据。)
如果服务器每周备份一次而您每天旋转 IMAP 日志文件,则可以将 IMAP 日志文件的最大数目指定为 10 左右(如果超过单个日志大小限制,则说明旋转得更快),并将最大生存期指定为 7 或 8 天。
选取一个存储限制总数,该数目位于硬件容量内并与为服务器规划的备份时间安排相协调。估计您期望日志数据积累的速度、添加安全因素并定义存储限制总数,以使在服务器备份的间隔期间内不会超过此速度。
例如,如果期望平均每天积累 3 MB 的 IMAP 日志文件数据,服务器每周备份一次,则可以指定大约 25 - 30 MB 作为 IMAP 日志的存储限制(假设您的磁盘存储容量足够)。
为了安全起见,请在保留日志文件的卷中选取允许的最小可用磁盘空间量。即,如果非日志文件大小因素导致了卷填满,则在尝试将日志数据写入装满的磁盘而发生故障之前将删除旧日志文件。
Console 提供了用于查看消息存储和管理日志数据的基本界面。它允许选择单个日志文件,并允许在那些文件中执行灵活的日志条目的过滤搜索。
对于给定的服务,日志文件以时间先后次序列出。选择要搜索的日志文件后,您可以通过指定搜索参数来缩小对单个事件的搜索范围。
以下是可以指定用于查看日志数据的搜索参数:
时间段。您可以指定从其中检索事件的特定时间段的开始和结束时间,也可以指定要搜索的天数(当前日期之前)。通常,您可以指定一个范围以查看导致服务器崩溃的日志事件或在已知时间发生的其他事件。或者,您可以指定一天的范围以仅查看在当前日志文件中今天的事件。
日志记录的级别。您可以指定日志记录的级别(请参见日志记录级别)。例如,选取“紧急”查看服务器关闭的原因,或者选取“错误”查找失败的协议调用。
工具。您可以指定工具(请参见日志事件的类别)。例如,如果确信服务器崩溃涉及磁盘错误,则选择“存储”,或如果问题在于 IMAP 协议命令错误,则选择“协议”。
文本搜索模式。您可以提供文本搜索模式以进一步缩小搜索范围。您可以包括可表示为通配符类型搜索的事件的任何部分(请参见了解服务日志文件格式),例如已知定义要检索的某个事件或多个事件的事件时间、进程名、进程 ID 和事件消息的任何部分(例如远程主机名、函数名、错误号等)。
您的搜索模式可以包括以下特定字符和通配字符:
* 任何字符集(示例:*.com)
? 任何单个字符(示例:199?)
[nnn] nnn 集中的任何字符(示例:[aeiou])
[^nnn] nnn 集中没有的任何字符(示例:[^aeiou])
[n-m] 任何在 n-m 范围内的字符(示例:[A-Z])
[^n-m] 任何不在 n-m 范围内的字符(示例:[^0-9])
\ 转义符:置于 *、?、[ 或 ] 之前以将这些符号用作字面值
注释:搜索区分大小写。
查看日志时,组合日志记录级别和设备的示例可能包括以下几种:
指定 "Account" 设备(和 "Notice" 级别)以显示失败的登录,这在调查潜在的安全破坏时可能会有用
指定 "Network" 设备(和所有日志记录级别)以调查连接问题
指定所有设备(和 "Critical" 日志记录级别)以查找服务器功能方面的基本问题
本节介绍了如何通过使用 configutil 命令和 Console 来处理服务日志,以便搜索和查看日志。
运行带有 syslogfacility 选项的 configutil 命令:
configutil -o logfile.service.syslogfacility -v value
其中 service 是 admin、pop、imap、imta 或 http,value 是 user、mail、daemon、local0 至 local7 或 none。
设置了值之后,系统会将邮件记录到与设置值对应的 syslog 工具并忽略所有其他日志文件服务选项。如果未设置选项或值为 none,则日志记录将使用 Messaging Server 日志文件。
打开要设置其日志文件选项的 Messaging Server。
单击“配置”选项卡,打开左窗格中的“日志文件”文件夹,并选择某一服务(例如 IMAP、HTTP 或 Admin)的日志文件。
从“详细程度”下拉式列表中选择日志记录级别。
在“日志文件的目录路径”字段中,输入要保留日志文件的目录名称。
在“每个日志的文件大小”字段中,输入最大日志文件大小。
在“创建一个新日志,每隔”字段中,输入日志轮转计划的数字。
在“每个目录的日志数量”和“如果一个日志生成时间超过”字段中,输入与备份计划相协调的最大日志文件数目和最大生存期。
在“如果超出总日志大小”字段中,输入期望的存储限制总数。
在“如果可用磁盘空间小于”字段中,输入希望保留的最小可用磁盘空间量。
如果系统不支持 HTTP 邮件访问(即 Webmail),则可以通过设置以下变量来禁用 HTTP 日志记录。如果系统要求 Webmail 支持(例如 Messenger Express),请勿设置这些变量。
运行以下 configutil 命令:
configutil -o service.http.enable -v no configutil -oservice.http.enablesslport -v no
运行以下 configutil 命令:
configutil -o logfile.service.loglevel -v level
其中 service 是 admin、pop、imap、imta 或 http,loglevel 是 Nolog、Critical、Error、Warning、Notice、Information 或 Debug。
运行以下 configutil 命令:
configutil -o logfile.service.logdir -v dirpath |
运行以下 configutil 命令:
configutil -o logfile.service.maxlogfilesize -v size |
其中 size 指定了字节数。
运行以下 configutil 命令:
configutil -o logfile.service.rollovertime -v number |
其中 number 指定了秒数。
运行以下 configutil 命令:
configutil -o logfile.service.maxlogfiles -v number |
其中 number 指定了日志文件的最大数目。
运行以下 configutil 命令:
configutil -o logfile.service.maxlogsize -v number |
其中 number 指定了一个以字节为单位的数量。
运行以下 configutil 命令:
configutil -o logfile.service.minfreediskspace -v number |
其中 number 指定了一个以字节为单位的数量。
configutil -o logfile.service.expirytime -v number |
其中 number 指定了一个以秒为单位的数量。
请按以下步骤使用给定服务所属的特定的特性来搜索日志事件:
在 Console 中,打开希望检查其日志文件的 Messaging Server。
请执行以下任一步骤以显示给定日志记录服务的日志文件“内容”选项卡:
单击“任务”选项卡,然后单击“查看服务日志”,其中服务是日志记录服务(例如“IMAP 服务”或“管理”)的名称。
单击“配置”选项卡,然后打开左窗格中的“日志文件”文件夹,并选择某一服务(例如 IMAP 或 Admin)的日志文件。然后单击右窗格中的“内容”选项卡。
系统将显示该日志记录服务的“内容”选项卡。
在“日志文件名”字段中,选择您要检查的日志文件。
单击“查看所选日志”按钮将打开“日志查看器”窗口。
在“日志查看器”窗口中,指定所需的搜索参数(已在上一节搜索参数中介绍)。
单击“更新”将执行搜索并将结果显示在“日志”条目字段中。
您可以通过邮件 ID 使用邮件存储日志记录来跟踪邮件,该方式类似于 MTA 跟踪邮件的方式。以此方式跟踪邮件使您可以跟踪邮件生命周期的紧急事件。
要在邮件存储日志中跟踪邮件,除了常规的日志记录配置外,您还需要配置邮件跟踪。默认情况下,不启用邮件跟踪。
邮件跟踪将填满大量的磁盘空间。请勿启用此功能,除非您有足够的磁盘空间。
邮件存储日志记录可以跟踪以下操作:
附加—邮件存储库向文件夹添加邮件的主要方式。跟踪附加显示了输入邮件存储的邮件。
获取—为最终用户检索邮件或部分邮件的 IMAP 命令。对于邮件跟踪,它的含义将扩展为任何服务为最终用户检索要阅读的邮件的时间。
在邮件跟踪中,您阅读了某邮件的标题后,有时可能希望避免进行跟踪,因此,主体获取将参考检索邮件主体的某一部分的时间。
清除:IMAP 术语,此处已扩展为任何服务从用户文件夹中删除邮件的时间。
运行以下 configutil 命令:
configutil -o local.msgrace.active -v "yes" |
系统将邮件跟踪信息写入每个进程的默认日志中。IMAP 获取显示在 imap 日志文件中。ims_master 附加显示在 ims_master 通道日志文件中。
要将邮件跟踪日志记录重定向到单个 "msgtrace" 日志文件,您必须使用 configutil 命令来配置日志文件参数。msgtrace 日志文件与其他日志文件不同,它要在本地进行配置。例如:
configutil -o "local.logfile.msgtrace.buffersize" -v "0" configutil -o "local.logfile.msgtrace.expirytime" -v "604800" configutil -o "local.logfile.msgtrace.flushinterval" -v "60" configutil -o "local.logfile.msgtrace.logdir" -v "/opt/SUNWmsgsr/data/log" configutil -o "local.logfile.msgtrace.loglevel" -v "Information" configutil -o "local.logfile.msgtrace.logtype" -v "NscpLog" configutil -o "local.logfile.msgtrace.maxlogfiles" -v "10" configutil -o "local.logfile.msgtrace.maxlogfilesize" -v "2097152" configutil -o "local.logfile.msgtrace.maxlogsize" -v "20971520" configutil -o "local.logfile.msgtrace.minfreediskspace" -v "5242880" configutil -o "local.logfile.msgtrace.rollovertime" -v "86400" |
要取消配置 msgtrace 日志文件,请使用 configutil 命令以删除所有对其配置的引用。例如:
configutil -o "local.logfile.msgtrace.buffersize" -v "" configutil -o "local.logfile.msgtrace.expirytime" -v "" configutil -o "local.logfile.msgtrace.flushinterval" -v "" configutil -o "local.logfile.msgtrace.logdir" -v "" configutil -o "local.logfile.msgtrace.loglevel" -v "" configutil -o "local.logfile.msgtrace.logtype" -v "" configutil -o "local.logfile.msgtrace.maxlogfiles" -v "" configutil -o "local.logfile.msgtrace.maxlogfilesize" -v "" configutil -o "local.logfile.msgtrace.maxlogsize" -v "" configutil -o "local.logfile.msgtrace.minfreediskspace" -v "" configutil -o "local.logfile.msgtrace.rollovertime" -v "" |
如果您使用的是 LMTP,而未使用单个 "msgtrace" 日志文件,则必须也在本地配置 tcp_lmtp_server 日志文件。如果您未使用 LMTP,或未使用邮件跟踪,或使用的是 "msgtrace" 日志文件中的邮件跟踪,则无需初始化 LMTP 邮件存储端日志。(LMTP 已分别记录了 MTA 信息。)例如:
configutil -o "local.logfile.tcp_lmtp_server.buffersize" -v "0" configutil -o "local.logfile.tcp_lmtp_server.expirytime" -v "604800" configutil -o "local.logfile.tcp_lmtp_server.flushinterval" -v "60" configutil -o "local.logfile.tcp_lmtp_server.logdir" -v \ "/opt/SUNWmsgsr/data/log" configutil -o "local.logfile.tcp_lmtp_server.loglevel" -v "Information" configutil -o "local.logfile.tcp_lmtp_server.logtype" -v "NscpLog" configutil -o "local.logfile.tcp_lmtp_server.maxlogfiles" -v "10" configutil -o "local.logfile.tcp_lmtp_server.maxlogfilesize" -v "2097152" configutil -o "local.logfile.tcp_lmtp_server.maxlogsize" -v "20971520" configutil -o "local.logfile.tcp_lmtp_server.minfreediskspace" \ -v "5242880" configutil -o "local.logfile.tcp_lmtp_server.rollovertime" -v "86400" |
Messaging Server 提供了一种称为自动测量的功能,可以将用户的全部 IMAP 或 POP 会话捕获到文件中。此功能对调试客户机问题很有用。例如,如果用户抱怨他们的邮件访问客户机未按预期那样工作,则此功能可用于跟踪访问客户机和 Messaging Server 之间的交互活动。请参见使用自动测量功能检查用户 IMAP/POP 会话
记录在邮件存储日志文件中的确切字段格式和字段列表将根据设置的日志记录选项而有所不同。本节将描述一些解释典型日志条目类别的示例。
用户键入无效密码时,系统将记录“验证”失败,与之相对的是“未找到用户”消息。出于安全原因,“未找到用户”消息将以文本形式传送给客户机,但系统将记录真实原因(无效密码)。
[30/Aug/2004:16:53:05 -0700] vadar imapd[13027]: Account Notice: badlogin: [192.18.126.64:40718] plaintext user1 authentication failure |
以下示例显示了用户无法登录的原因是由于帐户被禁用。此外,禁用的帐户被说明为 "(inactive)" 或 "(hold)"。
[30/Aug/2004:16:53:31 -0700] vadar imapd[13027]: Account Notice: badlogin: [192.18.126.64:40720] plaintext user3 account disabled (hold) |
以下示例显示了附加邮件,每当将邮件附加至文件夹时它都会出现。邮件存储日志记录了所有通过 ims_master 和 lmtp 通道进入邮件存储的邮件。记录用户 ID、文件夹、邮件大小和邮件 ID 的“附加”。
[31/Aug/2004:16:33:14 -0700] vadar ims_master[13822]: Store Information:append: user1:user/user1:659:<Roam.SIMC.2.0.6.1093995286.11265.user1@vadar.siroe.com> |
当客户机检索邮件时,邮件存储日志将写入“获取”消息。邮件存储日志将至少记录客户机对一个主体部分的所有获取。记录“获取”的用户 ID、文件夹和邮件 ID。
[31/Aug/2004:15:55:26 -0700] vadar imapd[13729]: Store Information: fetch:user1:user/user1:<Roam.SIMC.2.0.6.1093051161.3655.user1@vad.siroe.com> |
当从文件夹中删除 IMAP 或 POP 邮件(但不是从系统中删除)时,邮件存储将写入“清除”消息。系统将记录它是被用户还是被实用程序清除的。记录“清除”的文件夹和邮件 ID。
31/Aug/2004:16:57:36 -0700] vadar imexpire[13923]: Store Information: expunge:user/user1:<Roam.SIMC.2.0.6.1090458838.2929.user1@vadar.siroe.com> |
如果您为一个 msgtrace 日志文件配置邮件跟踪,则显示在 imap 和 pop 日志文件中的常规“登录”邮件将在 msgtrace 文件中进行复制。以下为常规登录邮件:
[30/Aug/2004:16:53:13 -0700] vadar imapd[13027]: Account Information: login [192.18.126.64:40718] user1 plaintext |