这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 maildrop,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
maildrop - 邮件传递过滤器/代理
概要
信箱 [选项...] [-d 用户[ARG...]
信箱 [选项...] [文件名[ARG...]
商品描述
信箱 是一个替代的本地邮件传递代理,包括邮件过滤
语。 系统管理员可以更换现有的邮件投递代理
- 信箱,或者用户可以运行 信箱 使用“转发到程序”机制
现有的邮件递送代理。
信箱 首先读取标准输入上的电子邮件消息。 尾随回车
字符被自动剥离。 电子邮件消息由标题行、
后跟一个空行,后跟消息的内容。
信箱 在第一个标题行之前不接受 mbox 样式的 From_ 行。 信箱
在第一个非空白标题行之前不接受前导空行。 如果消息
可能以空行和 From_ 行开头,使用 重装 -f0 删除任何
初始空行,并用适当的“返回路径:”标题替换 From_ 行; 然后
用管道输送到 信箱.
如果文件 /etc/maildroprc 存在,则读取邮件传递或邮件过滤说明
从那个文件。 信箱的交付/过滤说明可能会指示 信箱 救
特定邮箱中的消息,丢弃它,将其返回给发件人,或将其转发给
不同的电子邮件地址。
如果/etc/maildroprc不存在,或者它的邮件发送指令不完整
处理此消息, 信箱 然后从
$HOME/.mailfilter。 如果它不存在,或者它的邮件递送说明不存在
完全处理消息, 信箱 然后将电子邮件保存在默认
邮箱。
信箱 知道如何将邮件投递到标准邮箱文件; 它也知道如何
交付到maildirs。 maildir 是一种基于目录的邮件格式,由 信使[1]和
qmail的[2] 邮件服务器。 许多其他邮件服务器也知道如何读取邮件目录。 什么时候
传送到邮箱文件, 信箱 将在此期间锁定邮箱
交货。
这是一般的邮件传递行为。 行为上有细微差别
根据 信箱 交付模式,这是根据如何确定的 信箱 是
开始。 信箱 使用三种不同的主要操作模式:
手动模式
包含过滤说明的文件 - 文件名 被指定为参数
信箱 命令。 信箱 读这个 文件名 (在 /etc/maildroprc 之后)并遵循
其中的说明。 除非邮件被明确转发、退回、删除,
或投递到特定邮箱,会投递到用户的系统邮箱。
交货模式
信箱 是邮件服务器的邮件传递代理。 信箱 以交付模式运行
当没有 文件名 在命令行中指定。 信箱 改变电流
目录到用户的主目录,然后读取/etc/maildroprc,然后
$HOME/.mailfilter。
嵌入式模式
信箱 作为另一个应用程序的一部分运行。 嵌入模式由
信使[1] 邮件服务器将邮件过滤直接集成到进程中
从远程邮件中继接收邮件,从而在收到不需要的邮件之前拒绝它
甚至接受本地邮件递送。 当 -m 或
-M, 选项被指定,并在下面描述。 更广泛的见下文
嵌入模式的描述。
保安
安装是安全的 信箱 作为 root setuid 程序。 这个 信使 mail 服务器[1]
安装 信箱 默认情况下作为root setuid程序,为了能够使用 信箱
在嵌入模式。 如果 root 运行 信箱 (或者它被设置为 root) -d 选项可能是
用于指定消息的收件人。 信箱 立即将其用户 ID 重置为
由指定的一个 -d 选项。 读取用户的 $HOME/.mailfilter(如果存在),并且
消息被传递给指定的用户。
系统管理员可以配置 信箱 来限制 -d 每个人的选择
除了邮件系统本身。
如果在交付模式下用户的主目录设置了粘性位, 信箱 立即
以退出代码终止 EX_TEMPFAIL,什么都不做。 邮件服务器
解释 EX_TEMPFAIL 退出代码作为重新安排另一个消息的请求
稍后交付尝试。 设置粘滞位允许 $HOME/.mailfilter 被编辑,而
暂时保留所有收到的邮件。
信箱 也以 EX_TEMPFAIL 如果用户的主目录有世界写
权限。
信箱 立即终止 EX_TEMPFAIL 如果文件名不归用户所有,
或者它是否具有任何组或世界权限。 这包括读取权限。 这
$HOME/.mailfilter 的权限可能只包括用户的读写权限。
使用特殊嵌入模式时(见下文) 信箱 立即终止
退出代码设置为 EX_TEMPFAIL 如果 $HOME/.mailfilters 不归用户所有,或者如果它有
任何组或世界权限。
临时 FILES
信箱 进行了大量优化并尝试使用尽可能少的资源。 信箱
将小消息读入内存,然后过滤和/或直接从
记忆。 对于较大的消息, 信箱 直接从文件访问消息。 如果
标准输入不是文件, 信箱 将消息写入临时文件,然后
从临时文件访问消息。 临时文件被自动删除
消息送达时。
配置
-a
强制使用 Courier Authentication Library,即 maildrop 将抛出一个
如果由于某种原因调用 authlib 机制失败时的临时错误代码,例如
因为 authdaemon 无法访问。
备注
此设置可能已经是默认设置,具体取决于 maildrop 的配置。
-一种 ”标题: 折扣值"
向消息添加额外的标头。 指定 -A “傅: 酒吧” 有效地增加
此标头指向正在传递的消息。
邮件传输代理通常会在将邮件发送到
一个本地邮箱。 通常的做法是由邮件传输代理发送
使用管道到本地传递代理的消息 - 例如 信箱 - 并添加一些
过程中的其他标题。 因为 信箱 从管道接收消息,
信箱 必须将消息保存在内存中或将消息写入临时
文件中。
这个 -A 选项使包含要提供给的消息的文件 信箱
直接作为标准输入,以及在命令行上指定的附加头文件。
因为标准输入是一个文件, 信箱 不需要临时文件。
多 -A 可以指定选项。
-d 用户
运行 信箱 在此用户 ID 的交付模式中。
系统管理员可以选择性地限制 -d 可供选择的
仅限邮件系统,因此您可能无法使用它。 在所有情况下, -d 选项是
允许如果 用户 是运行的同一个用户 信箱. 此外,对于 -d 选项
工作, 信箱 必须由 root 执行,或 信箱 必须是根拥有
设置了 setuid 位的程序。 缺少文件名 信箱的命令行
暗示 -d 用户运行的选项 信箱.
If -d 未指定,所有选项后面的第一个参数是
包含过滤说明的文件。 剩余的参数(如果有)被分配
到变量 $1, $2,等等(见 “环境”[3]和 “多变的
代换”[4])。
-f 地址
将 FROM 变量(消息信封发件人)设置为 地址. 系统管理员
可以选择禁用 -f 供用户选择,因此您可能无法使用它。
-m
运行 信箱 在嵌入模式。 可以同时使用 -m,并 -d 期权,
但这样做没有多大意义。 即使你真的想运行你的消息
通过别人的 .mailfilter,那个 .mailfilter 可能至少有一个
嵌入模式中不允许的指令。
文件名参数为 信箱 应指定。 文件名是一个文件
包括以嵌入模式处理的过滤指令。 -m 选项是
用于调试过滤器文件,这些文件稍后放置在 $HOME/.mailfilters 中,并使用
与 -M 选项。
-M 过滤文件
运行 信箱 在特殊的嵌入模式中。 这 -d 选项是隐含的,当 -M 被使用,并且
如果不存在,则默认为正在运行的用户 ID 信箱.
的所有要求 -d 选项适用。 信箱 必须由
根,或 信箱 程序必须由 root 拥有并设置了 setuid 位。 信箱
通过将其用户 ID 更改为指定的用户 ID 立即放弃 root 权限
-d,然后读取 $HOME/.mailfilters/过滤文件. 出于安全原因,名称
文件不能以斜杠开头或包含句点。 信箱 非常偏执:两者都
$HOME/.mailfilters 和 $HOME/.mailfilters/过滤文件 必须归用户所有,并且
可能没有任何组或世界权限。
这个 -M 选项允许运行的用户之间进行一些友好的合作
应用程序,以及为嵌入模式提供过滤器的用户。 用户
运行应用程序可以使用其他人的罐头过滤器,并确保
过滤器不会疯狂运行并开始发送邮件或在整个过程中创建文件
地方。 提供过滤器的用户可以放心,环境变量
很干净,没有惊喜。
信箱 支持“默认”过滤器文件的概念。 如果指定的文件
-M 在 $HOME/.mailfilters 中找不到选项, 信箱 将尝试打开
$HOME/.mailfilters/过滤文件前缀-默认。 过滤文件前缀 是初始部分
过滤文件 直到最后一个 '-' 字符 过滤文件.
如果 $HOME/.mailfilters/过滤文件前缀-default 不存在,还有其他
破折号留在 过滤文件前缀, maildrop 删除最后一个破折号和所有内容
跟随它,然后再试一次。
作为最后的手段 信箱 尝试打开 $HOME/.mailfilters/default。
例如,如果参数为 -M 选项是 邮件过滤器列表邮件投递, 信箱
将尝试按顺序打开以下文件:
需要注意的是 信箱 仅在以下情况下查找 -default 文件 -M 用来。
-D 呜呜呜/呜呜
此选项保留供以下版本使用 信箱 集成了
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 信使 mail 服务器[1]。
-V 水平
初始化 详细 可变为 水平。 因为 信箱 解析整个文件
在运行它之前,此选项用于在解析中产生调试输出
阶段。 否则,如果 filename 有语法错误,则不可能有调试输出
因为 详细 变量尚未设置。
-V 被忽略时 信箱 以交付模式运行。
-w N
这个 -w N 如果 maildir 有配额,则选项会在 maildir 中放置一条警告消息
设置,并且在消息成功传递后,maildir 至少是 N
百分之满。
-W 文件名
复制警告信息 文件名, 或者从 /etc/quotawarnmsg 如果这个选项是
未指定,添加了“Date:”和“Message-Id:”标头。 警告
每 24 小时重复一次(至少),直到 maildir 低于 N 百分之满。
货品运送 MODE
如果没有在命令行中指定文件名,或者 -d 使用选项, 信箱
将在交付模式下运行。 在交付模式下, 信箱 更改到主目录
用户指定的 -d 选项(或正在运行的用户 信箱 如果 -d 选项是
未给出)并阅读 $HOME/.mailfilter 以获取过滤说明。 $HOME/.mailfilter 必须
归用户所有,并且没有组或全局权限(信箱 如果它终止
确实)。
如果 $HOME/.mailfilter 不存在, 信箱 将简单地将消息传递给
用户的邮箱。
如果文件 /etc/maildroprc 存在, 信箱 从此文件中读取过滤指令
首先,在阅读 $HOME/.mailfilter 之前。 这允许系统管理员提供
所有用户的全局过滤说明。
备注
/etc/maildroprc 在传递模式下是只读的。
VIRTUAL 账目
这个 -d 选项还可以指定虚拟帐户或邮箱的名称。 见
生成用户数据库(1) Courier Authentication 库文档中的手册页了解更多
信息。
嵌入式 MODE
嵌入模式用于以下情况 信箱的过滤能力是需要的,但没有实际
需要邮寄。 嵌入模式 信箱 由另一个应用程序执行,并且
is 通过 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -m or 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -M 选项。[5]信箱 读取消息,然后运行过滤
文件名中指定的规则。
文件名可能包含任何过滤指令,除了以下内容:
`` ... '
不允许以反引号字符(运行 shell 命令)分隔的文本字符串。
cc[6]
这个 cc 命令在嵌入模式下是不允许的。
点锁[7]
这个 点锁 命令在嵌入模式下是不允许的。
羊群[8]
这个 羊群 命令在嵌入模式下是不允许的。
gdbm打开[9]
在嵌入式模式下,GDBM 数据库可能只能打开读取。
日志[10]
这个 日志 命令在嵌入模式下是不允许的。
日志文件[10]
这个 日志文件 命令在嵌入模式下是不允许的。
至[11]
这个 至 命令在嵌入模式下是不允许的。
过滤器[12]
这个 过滤器 命令在嵌入模式下是不允许的。
通常当文件名没有明确传递消息时, 信箱 将交付
邮件到用户的默认邮箱。 这在嵌入模式下也被禁用。
文件名可以通过使用 回音[13] 声明
和 退出代码 环境变量。
/etc/maildroprcs
If 信箱 遇到一个 包括[14] 文件名开头的语句
/etc/maildroprcs/,嵌入模式的正常限制被暂停,而
执行 /etc/maildroprcs 目录中的过滤器文件。 限制也是
暂停用于 /etc/maildroprcs 中包含的任何其他过滤器文件。 这
限制恢复一次 信箱 完成从 /etc/maildroprcs 执行文件。
这允许系统管理员有一个受控的环境来运行外部
命令(通过反引号,或 过滤器[12] 命令)。
文件名不得包含任何句点(因此创意人员不能
写 包括 “/etc/maildroprcs/../../home/user/recipe”).
在执行 /etc/maildroprcs 文件中的命令之前, 信箱 自动重置
以下变量为其初始值: DEFAULT, 主页, 锁存器, 锁定睡眠,
锁定超时, 锁刷新, 日志名称, PATH, 发邮件和 SHELL. 请注意,
这些变量的先前值(如果它们被更改)将不会恢复一次
信箱 完成从 /etc/maildroprcs 执行命令。
看门狗 计时器
信箱 有一个看门狗定时器,试图中止失控的过滤。 如果过滤是
未在预定义的时间间隔内完成(由系统管理员定义,
通常五分钟), 信箱 终止。
使用 onworks.net 服务在线使用 maildrop
