18.6.5 运行模式
您可以在几种模式下运行sendmail,用-b标志进行选择。-b代表“be”(是)或“become”(变成),它总是和别的标志一起使用,来确定sendmail将扮演的角色。表18.4列出了合法的值。
表18.4 sendmail主要模式的命令行标志
|
标 志 |
含 义 |
|
-bd |
在守护进程模式下运行,监听端口25上的连接 |
|
-bD |
在守护进程模式下运行,但在前台而不是后台a |
|
-bh |
查看最近的连接信息(等效于hoststat) |
|
-bH |
清除过时的连接信息在硬盘上的副本(等效于purgestat) |
|
-bi |
初始化散列的别名(等效于newaliases) |
|
-bm |
作为邮寄程序(mailer)运行,以通常方式投递邮件(默认) |
|
-bp |
打印邮件队列(等效于mailq) |
|
-bP |
通过共享内容打印队列中的项数(8.12及以后版本) |
续表
|
标 志 |
含 义 |
|
-bs |
进入SMTP服务程序模式(在标准输入上,不是在端口25上) |
|
-bt |
进入地址测试模式 |
|
-bv |
只验证邮件地址,而不发送邮件 |
如果传入的邮件预计是从Internet上来的,那么要在守护进程模式(-bd)下运行sendmail。在这种模式下,sendmail将监听网络端口25并等待任务 。在守护进程模式下运行sendmail时,通常也会指定-q标志,它设置的是sendmail处理邮件队列的时间间隔。例如,-q30m或-q1h将每30分钟或每小时运行一次排队操作。
sendmail正常情况下会尝试立即投递消息,把它们暂时保存在队列中只是为了保证可靠性。但是如果您的主机太忙,或者无法到达目的地的机器,sendmail就会把消息排入队列,稍后再发送它。sendmail每次处理队列时会派生出子进程,所以不要把队列处理的时间间隔设置得太短了。RFC1123推荐在两次运行之间至少间隔30分钟。sendmail会进行上锁,所以多个队列同时运行也是安全的。
sendmail 8.12已经增加了一种新功能,帮助处理大型的邮递列表和大型的队列:用信封划分队列组。这种功能详细介绍在18.13.2节。
sendmail只在启动的时候读取它的配置文件sendmail.cf。因此,在您改动过配置文件以后,必须杀死它再重新启动,或者向它发送一个HUP信号。sendmail创建一个sendmail.pid文件,其中包含有它的进程ID和启动它的命令。您应该用绝对路径来启动它,因为在接收到HUP信号的时候,它会再次执行这个命令。sendmail.pid文件能够让进程以下面的命令发HUP信号给sendmail:
# kill -HUP ‘head -1 sendmail.pid‘ |
define(confPID_FILE, ‘/var/run/sendmail.pid’) |
| 回书目 上一节 下一节 |