热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Sendmail命令的使用方法

用途为本地或网络交付传送邮件。语法sendmail[-ba|-bd|-bD|-bh|-bH|-bi|-bm|-bp|-bs|-bv|-bt[-CFile][-dValue]][-BType][-FFullName][-fName][-hNumber][-i][-MxValue][-n][-NDsn][-OOptionV

用途

为本地或网络交付传送邮件。

语法

sendmail [  -ba | -bd | -bD | -bh | -bH | -bi | -bm | -bp | -bs | -bv | -bt [  -CFile ] [  -dValue ] ] [  -BType ] [  -FFullName ] [  -fName ] [  -hNumber ] [  -i ] [ -Mx Value] [  -n ] [  -N Dsn ] [  -OOption=Value ] [  -o Option [ Value ] ] [  -pProtocol ] [  -q [ Time] ] [  -qISubstr  ] [  -qRSubstr ] [  -qSSubstr ] [  -R Return ] [  -r addr ] [  -t ] [  -U ] [  -V Envid ] ] [  -v ] [  -X LogFile ] Address

注:-bd、 -bi、-bp、-bt、-q [ Time ] 标志 和 Address 参数是可选的。

描述

注:在 sendmail V8.7 (AIX 4.2 及以后的版本)中,名称解析顺序是 DNS、NIS,然后是本地。如果您想覆盖它,则指定 /etc/netsvc.conf 文件或 NSORDER 环境变量。

sendmail 命令接收格式化文本消息并把它们发送到一个或更多的用户。在网络上使用时,sendmail命令转换消息的头信息格式以匹配目的系统的要求。程序使用地址的语法和内容来确定目的系统的网络。

sendmail 命令可以把消息传送到:

本地系统用户

使用 TCP/IP 协议连接到本地系统的用户。

使用基本网络实用程序(BNU)命令协议连接到本地系统的用户。

sendmail命令并不是用来作为一个用户界面例程;其它的命令提供用户友好的界面。使用sendmail 命令只是用来传送预格式化的消息。

sendmail 命令从标准输入中读取消息文本。当读到消息字符的结尾(文件结束符(Ctrl-D)控制序列或者一行中的单一句点)时,sendmail 命令将把消息副本发送到所列的全部地址。

使用配置文件

sendmail 命令使用配置文件(缺省情况下为 /etc/mail/sendmail.cf 文件)设置可操作的参数并且确定命令如何分析地址。此文件是文本文件,您可以用其它的文本编辑器对它进行编辑。修改 sendmail.cf 以后, 请刷新 sendmail 守护程序。

sendmail命令的当前进程标识存储在 /etc/mail/sendmail.pid 文件中。如下发出 kill -15 命令,使 sendmail 命令重新读取新编辑的 sendmail.cf:

kill -15 `head -1 /etc/mail/sendmail.pid`

如果 srcmstr 命令正在运行,则您可以发出如下的 refresh 命令来重新构建配置数据库、别名数据库和 NLS 数据库。

refresh-s sendmail

sendmail 命令重新读取这些数据库并且继续操作新数据。

定义别名

当 sendmail 命令处理本地邮件时,sendmail 命令允许您定义使用的别名。别名是备用名称,您可用它来代替详细的网络地址。您也可以使用别名构建分发列表。

在 /etc/mail/aliases 文件中定义别名。此文件是可以编辑的文本文件。sendmail 命令使用此文件的数据库版本。必须在 /etc/mail/aliases 文件的任和更改生效之前,运行 sendmail -bi 命令或 newaliases 命令来构建新的别名数据库。

现在,在 AIX 5.1 for Sendmail 8.11.0 上可使用 Berkeley DB。Sendmail 将继续读取 DBM 格式的别名直到别名数据库获得重建。一旦重建,sendmail 将读取 Berkeley DB 格式的别名并把它们存储在 /etc/mail/aliases.db 文件中。

注:当在 /etc/mail/aliases 文件中定义别名时,对嵌套的别名只能用小写字符。别名右手边的大写字符在存储到别名数据库之前转换为小写字母。在以下示例中,由于存储第二行时 TEST 转换成 test,因此发送到 testalias 的邮件失败。

TEST: user@machine  testalias: TEST

每个系统必须有一个被指定为 postmaster 别名的用户或用户别名。postmaster 别名的缺省值是一个 root 文件。在 /etc/mail/aliases 文件中您可以将此别名指定给不同的用户。postmaster 别名允许您系统以外的其它用户把邮件发送到一个已知的标识并获取有关邮寄到您系统上的用户的信息。您系统上的用户也可以把问题通知发送到 postmaster 标识。

标志

-BType 将正文主体类型设置为 type。当前合法值是 7BI 或 8BITMIME。

注:-b 标志是相互排斥的。

-ba 以 ARPANET 方式启动 sendmail 命令。命令的所有输入行必须以回车符和换行符(CR-LF)结束。sendmail 命令生成以 CR-LF 结尾的消息,并查看 From: 与 Sender: 字段来查找发件人的名字。

-bd 启动 sendmail 命令使其像“简单邮件传输协议”(SMTP)邮件路由器一样作为守护程序在后台运行。

-bD 启动 sendmail 命令使其像“简单邮件传输协议”(SMTP)邮件路由器一样作为守护程序在前台运行。

-bh 打印持久主机状态数据库。

-bH 清除持久主机状态数据库。

-bi 根据 /etc/mail/aliases 文件中定义的信息构建别名数据库。用此标志运行 sendmail 命令和运行 /usr/sbin/newaliases 命令一样。

-bm 以普通方式传送邮件。(这是缺省值。)

-bp 打印邮件队列列表。用此标志运行 sendmail 命令和运行 /usr/sbin/mailq 命令一样。

-bs 使用如 RFC821 中描述的简单邮件传输协议(SMTP)收集来自标准输入的邮件。此标志也包含所有与 SMTP 兼容的 -ba 标志的操作。

-bt 以地址测试方式启动 sendmail 命令。此方式允许您输入交互式地址并在 sendmail 命令显示其分析地址所采取的步骤时进行监视。在测试方式提示符下,输入一个规则集或用逗号分割的多个规则集并输入地址。使用此方式来调试新配置文件中的地址分析规则。

-bv 用验证此命令 Address 参数字段所提供的用户标识符的请求来启动 sendmail 命令。sendmail 命令返回一条消息作为响应,告诉哪些标识可由邮件程序解析。它并不尝试收集或传送消息。使用此模式验证用户标识、别名或邮递列表的格式。

-CFile 用 File 变量指定的备用配置文件启动 sendmail 命令。在安装用作运行的配置文件的新配置文件之前,和 -bt 一起使用此标识来测试该文件。

-dValue 将调试值设置为 Value 变量所指定的值。唯一的有效值是 21.n,其中 n 是任意非零整数。它产生关于地址分析的信息并且通常和 -bt 标志一起使用。n 的更高值生成更多的详细信息。

-FFullName 将发件人的全名设置为 FullName 变量所提供的字符串。

-fName 设置发件人的名字(邮件的信包发件人)。如果在初始提交过程中 From: 头丢失,则在该头中仍可以使用这个地址。信包发件人的地址用作传送状态通知的接收方,也可以出现在 Return-path: 头中。只有可信的用户(一般是 root 用户、守护程序以及 uucp)或者如果您试图成为的那个人就是您本人的话才能使用此标志。否则,X-Authentication-Warning 头将添加到消息中。

-hNumber 将跳计数设置为 Number 变量所指定的值。跳计数是 SMTP 路由器(不仅仅是 sendmail 命令的本地副本)所处理消息的次数。每次消息处理后,邮件路由器就增加跳计数。当它到达限制时,就会返回一条错误消息以在防止邮件系统中的无限循环。

-i 忽略进入消息的行中单独的点。如果您正在从文件读取数据的话,必须设置它。

-L 将系统日志消息中使用的标识设置为供给的标记。

-Mx Value 将宏 x 设置为指定的 Value。

-N Dsn 将传送状态通知条件设置为 DSN。传送状态通知条件可以是:never 表示没有通知或者用逗号分隔的值的列表,failure 表示发送失败的通知,delay 表示发送延迟的通知,以及 success 表示消息成功发送的通知。

-n 阻止 sendmail 命令解释别名。

-O Option=Value 将 Option 设置为指定的 Value。使用长格式选项名称。此标志仅应用于 AIX 4.2 或者以后的版本。

-oOption [ Value ] 设置 Option 变量。如果选项是一个有值的选项,您也必须为 Value 变量指定一个值。

注:对于有效值,请查看《AIX 5L V5.2 系统管理指南:通信与网络》中的『sendmail.cf 文件中 sendmail 的命令选项』。

-pProtocol 设置发送协议。建议您设置此项。您可以以 Protocol:Host 格式设置发送协议和发送主机来设置 Protocol。例如,-pUUCP:uunet 将发送协议设置为 UUCP 并将发送主机设置为 uunet。一些现有的程序使用 -oM 标志设置 r 和 s 宏,它和使用 -p 标志是等效的。此标志仅适用于 4.2 版本或以后的版本。

-qISubstr 将进程作业限制为那些包含作为队列标识的 Substr。

-qRSubstr 将进程作业限制为那些包含作为收件人之一的子串的 Substr。

-qSSubstr 将进程作业限制为那些包含作为发件人的子串的 Substr。

-q [ Time ] 在 Time 变量指定的间隔中处理队列中保存的消息。如果没有指定 Time 变量,则该标志立即处理队列。

-R Return 设置如果消息弹回要返回的消息的量。Return 参数可以为 full 以表示返回整个信息或者为 hdrs 以表示仅能返回头部分。

-r addr -f 的废弃格式。

-t 把消息发送到消息头的 To:、Cc: 以及 Bcc: 字段中指定的收件人,也可以发送到命令行中指定的任何用户。

-U 设置初始(用户)提交。当被诸如 Mail 或 exmh 用户代理调用时,应当设置此项,但是当被诸如 rmail 网络传送代理调用时切勿设置此项。

-V Envid 设置原始信包标识。它可以通过 SMTP 传播到支持 DSN 的服务器上,并且以 DSN 兼容的错误消息返回。

-v 以详细的方式启动 sendmail 命令。sendmail 命令显示有关传送状态和别名扩展的消息。

-X LogFile 为了调试邮件程序问题,记录 LogFile 中 sendmail 的所有进出流量。由于它迅速地产生大量的数据,因此尽可能不使用此标志。此标志仅适用于 4.2 版本或以后的版本。

您也可以设置或除去 sendmail 配置处理选项。负责邮件系统的人使用这些选项。为设置这些选项,在命令行中使用 -o 标志或者使用配置文件(/etc/mail/sendmail.cf)中的 O 控制行。

安全性

审计事件:

事件 信息

SENDMAIL_Config 配置事件

SENDMAIL_ToFile 创建文件事件

退出状态

sendmail 命令返回退出状态值。这些返回值在 /usr/include/sysexits.h 文件中定义。下列表总结了这些返回值的含义:

EX_CANTCREAT sendmail 命令不能创建用户指定的文件。

EX_CONFIG 在配置文件的格式中发现到错误。

EX_DATAERR 某种方式下输入的数据不正确。

EX_IOERR 在 I/O 过程中产生错误。

EX_NOHOST sendmail 命令无法识别指定的主机名。

EX_NOINPUT 输入文件(非系统文件)不存在或者不可读。

EX_NOPERM 用户没有执行所请求的操作的许可权。

EX_NOUSER sendmail 命令无法识别指定的用户标识。

EX_OK sendmail 命令成功完成。

EX_OSERR 出现一个临时操作系统错误。这种错误的一个示例是创建一个新的进程失败。

EX_OSFILE 出现系统文件错误。例如,系统文件(例如 /etc/passwd)不存在、无法打开或者有另一种类型的错误阻止使用它。

EX_PROTOCOL 在协议交换过程中,远程系统返回一些不正确的东西。

EX_SOFTWARE 出现一个内部软件错误(包含坏的参数)。

EX_TEMPFAIL sendmail 命令无法创建与远程系统的连接。稍后重新尝试请求。

EX_UNAVAILABLE sendmail 命令所需的服务或资源不可用。

EX_USAGE 命令语法不正确。

文件

/usr/sbin/sendmail 包含 sendmail 命令。

/usr/sbin/mailq 包含邮件队列。

/usr/sbin/newaliases 包含别名数据库。

/usr/sbin/mailstats 包含在 /usr/lib/sendmail.st 文件中查找到的统计信息。

/etc/mail/aliases 包含 sendmail 命令别名的文字版。

/etc/mail/aliases.db 包含 Berkeley DB 格式化的别名数据库。

/etc/mail/aliases.dir 包含 DBM 格式化的别名数据库。

/etc/mail/aliases.pag 包含 DBM 格式化的别名数据库。

/etc/mail/sendmail.cf 包含 sendmail 配置文件的文字版。

/etc/sendmail.st 包含邮件路由的统计信息。

/usr/lib/smdemon.cleanu 维护在 /var/spool/mqueue 目录下查找到的日志文件的老化副本。

/var/spool/mqueue 包含与邮件队列中的消息相关的临时文件和日志文件。

/usr/bin/uux 包含用于传送“基本联网实用程序”(BNU)的邮件程序命令。

/usr/bin/bellmail 包含用于传送本地邮件的邮件程序命令。


推荐阅读
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 题库来源:安全生产模拟考试一点通公众号小程序G3锅炉水处理报名考试是安全生产模拟考试一点通生成的,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新 ... [详细]
  • 为了深入了解辽源市市民对智能城市建设的感受和建议,国家统计局辽源调查队近期开展了一项针对200位市民的问卷调查。结果显示,大部分市民对智能城市的认知度较高,并对其带来的便利表示肯定。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
author-avatar
手机用户2502863643
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有