Amazon Best VPN GoSearch

OnWorks 网站图标

fetchmailconf - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 fetchmailconf

这是 fetchmailconf 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


fetchmail - 从支持 POP、IMAP、ETRN 或 ODMR 的服务器获取邮件

概要


取件 [选项...[邮件服务器...]
获取邮件配置

商品描述


取件 是一个邮件检索和转发实用程序; 它从远程获取邮件
邮件服务器并将其转发到您本地(客户端)机器的传送系统。 你可以
然后使用普通邮件用户代理处理检索到的邮件,例如 傻子(1) 榆树(1)或
邮箱:(1)。 该 取件 实用程序可以在守护进程模式下运行以重复轮询一个或多个
系统在指定的时间间隔。

- 取件 程序可以从支持任何常见邮件的服务器收集邮件——
检索协议:POP2(旧版,将从未来版本中删除)、POP3、IMAP2bis、
IMAP4 和 IMAP4rev1。 它还可以使用 ESMTP ETRN 扩展和 ODMR。 (RFCs
本手册页的末尾列出了对所有这些协议的描述。)

取件 主要用于按需 TCP/IP 链接(例如 SLIP
或 PPP 连接),它也可以用作站点的消息传输代理
出于安全原因拒绝允许(发件人启动)与 sendmail 的 SMTP 事务。

支持, 故障排除
对于故障排除、跟踪和调试,您需要将 fetchmail 的详细程度增加到
实际上看看会发生什么。 为此,请运行 of 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 以下 命令,
添加 所有 of 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 选项 通常 使用。

env LC_ALL=C fetchmail -V -v --nodetach --nosyslog

(此命令行以英文打印 fetchmail 如何理解您的配置。)

env LC_ALL=C fetchmail -vvv --nodetach --nosyslog

(这个命令行实际上运行带有详细英文输出的 fetchmail。)

另请参阅 fetchmail 常见问题解答中的 #G3 项⟨http://fetchmail.berlios.de/fetchmail-FAQ.html#G3⟩

如果您想以本地语言输出(如果
支持的)。 但是,如果您要发布到邮件列表,请将其保留。
维护者不一定懂你的语言,请使用英文。

概念
If 取件 用于 POP 或 IMAP 服务器(但不用于 ETRN 或 ODMR),它有两个
从中检索邮件的每个用户帐户的基本操作模式:
单滴 - 和 多点-模式。

在单点模式下,
取件 假设用户帐户(邮箱)中的所有邮件都是
对于单个收件人。 收件人的身份将默认为
当前执行的本地用户 取件, 或者需要明确指定
在配置文件中。

取件 当 fetchmailrc 配置最多包含时使用单点模式
给定服务器帐户的单个本地用户规范。

在多点模式下,
取件 假定邮件服务器帐户实际上包含用于
任意数量的不同收件人。 所以, 取件 必须尝试推断
来自每封邮件的邮件标题的正确“信封收件人”。 在这
运作模式, 取件 几乎类似于邮件传输代理 (MTA)。

请注意,POP 和 IMAP 协议均不打算以这种方式使用,
因此信封信息通常不能直接获得。 ISP 必须
将信封信息存储在某个消息头中 . ISP 还必须存储
每个收件人一份邮件副本。 如果其中一个条件不满足
完成,这个过程是不可靠的,因为 取件 然后必须求助于
猜测邮件的真实信封收件人。 这通常失败
邮件列表消息和 Bcc:d 邮件,或发送给您的多个收件人的邮件
域。

取件 当有多个本地用户和/或通配符时使用多点模式
为配置文件中的特定服务器帐户指定。

在 ETRN 和 ODMR 模式下,
这些注意事项并不适用,因为这些协议基于 SMTP,
提供明确的信封收件人信息。 这些协议始终支持
多个收件人。

在检索到每条消息时, 取件 通常通过 SMTP 将其传送到端口 25
它在(本地主机)上运行的机器,就好像它是通过正常的
TCP/IP 链接。 取件 为 SMTP 服务器提供一个信封收件人
前文所述的方式。 然后邮件将根据您的 MTA 递送
规则(邮件传输代理通常是 发邮件(8) 进出口(8),或 后缀(8))。 调用
您系统的 MDA(邮件传递代理)是您的 MTA 的职责。 所有交付控制
机制(如 。向前 文件)通常可通过您的系统 MTA 和本地
因此,递送剂将照常使用。

如果您的 fetchmail 配置设置了本地 MDA(请参阅 --mda 选项),它将被使用
直接而不是将 SMTP 与端口 25 通信。

如果程序 获取邮件配置 可用,它将帮助您设置和编辑
fetchmailrc 配置。 它在 X 窗口系统下运行并要求
语言 Python 和 Tk 工具包(带有 Python 绑定)存在于您的系统中。 如果
您是第一次为单用户模式设置 fetchmail,建议您使用
新手模式。 专家模式提供对 fetchmail 配置的完全控制,包括
多点功能。 无论哪种情况,“自动探测”按钮都会告诉您最
给定邮件服务器支持的强大协议,并警告您潜在的问题
服务器。

一般 项目运营


的行为 取件 由命令行选项和运行控制文件控制,
〜/.fetchmailrc,我们在后面的部分描述的语法(这个文件是
获取邮件配置 程序编辑)。 命令行选项覆盖 〜/.fetchmailrc 声明。

您在命令行上的选项后面指定的每个服务器名称都将是
询问。 如果您没有在命令行上指定任何服务器,则您的每个“轮询”条目
〜/.fetchmailrc 文件将被查询。

为了方便使用 取件 在脚本和管道中,它返回一个适当的
终止时的退出代码 - 请参阅下面的退出代码。

以下选项修改了 取件. 很少需要指定
一旦你有工作,这些中的任何一个 .fetchmailrc 文件设置。

几乎所有选项都有一个相应的关键字,可用于在
.fetchmailrc 文件中。

此处未涵盖某些特殊选项,而是在以下部分中进行了记录
AUTHENTICATION 和 DAEMON MODE 如下。

一般用途总体评估 可选项
-V | - 版
显示您的副本的版本信息 取件. 没有邮件获取是
执行。 相反,对于指定的每个服务器,所有选项信息
将被计算如果 取件 显示正在连接到该服务器。 任何
密码或其他字符串名称中的不可打印字符显示为类似 C 的反斜杠
转义序列。 此选项可用于验证您的选项是否已设置
你想要的方式。

-c | - 查看
返回一个状态码,表示是否有邮件等待,实际上没有
获取或删除邮件(请参阅下面的退出代码)。 此选项关闭守护进程
模式(在这种情况下它是无用的)。 它不适用于多个查询
站点,并且不适用于 ETRN 或 ODMR。 如果你,它会返回一个误报
在您的服务器邮箱中留下已读但未删除的邮件,您的提取协议不能
告诉来自新消息的保留消息。 这意味着它将与 IMAP 一起工作,而不是与
POP2,有时可能会在 POP3 下脱落。

-s | - 沉默的
静音模式。 抑制通常回显到的所有进度/状态消息
fetch 期间的标准输出(但不抑制实际的错误消息)。 这
--verbose 选项会覆盖它。

-v | --详细
详细模式。 之间传递的所有控制消息 取件 和邮件服务器是
回显到标准输出。 覆盖 --silent。 将此选项加倍 (-v -v) 会导致额外的
要打印的诊断信息。

--nosoftbounce
(自 v6.3.10, 关键字: set no softbounce, 自 v6.3.10)
硬弹跳模式。 所有永久性传递错误都会导致邮件被删除
上游服务器,请参阅下面的“无软弹跳”。

--软弹跳
(自 v6.3.10 起,关键字:set softbounce,自 v6.3.10 起)
软弹跳模式。 所有永久性传递错误都会导致消息留在
如果协议支持上游服务器。 本篇 选项 is on by 默认
匹配 历史性 取件 文件, 并将在
下一个 fetchmail 版本。

出售 可选项
-a | - 全部 | (以来 v6.3.3) --fetchall
(关键字:fetchall,从 v3.0 开始)
从邮件服务器检索旧的(看到的)和新的消息。 默认为
仅获取服务器未标记为已看到的消息。 在 POP3 下,此选项也
强制使用 RETR 而不是 TOP。 请注意,POP2 检索的行为就像
--all 始终打开(请参阅下面的检索失败模式)并且此选项不
与 ETRN 或 ODMR 合作。 而 -a 和 --all 命令行和 fetchall rcfile
选项已经支持很长时间了, --fetchall 命令行选项是
在 v6.3.3 中添加。

-k | - 保持
(关键词:保持)
在远程邮件服务器上保留检索到的消息。 通常,消息会被删除
取回邮件后,从邮件服务器上的文件夹中。 指定
保持 选项使检索到的邮件保留在邮件服务器上的文件夹中。
此选项不适用于 ETRN 或 ODMR。 如果与 POP3 一起使用,建议
还要指定 --uidl 选项或 uidl 关键字。

-K | --不保留
(关键词: nokeep)
从远程邮件服务器中删除检索到的消息。 此选项强制检索
要删除的邮件。 如果您指定了默认值,这可能很有用 保持 in
您的 .fetchmailrc. ETRN 和 ODMR 强制启用此选项。

-F | --冲洗
(关键词:冲洗)
仅限 POP3/IMAP。 这是一个危险的选项,使用时可能会导致邮件丢失
不当。 它在检索之前从邮件服务器中删除旧的(看到的)邮件
新消息。 警告: 如果您与其他人检查您的邮件,这可能会导致邮件丢失
客户端而不是 fetchmail,并导致 fetchmail 删除它从未有过的消息
之前取的。 如果邮件服务器标记邮件也会导致邮件丢失
检索后看到(IMAP2 服务器)。 您可能不应该在
你的配置文件。 如果将它与 POP3 一起使用,则必须使用 'uidl' 选项。
您可能想要的是默认设置:如果您不指定“-k”,则
fetchmail 会在发送成功后自动删除邮件。

--限制刷新
仅 POP3/IMAP,自 6.3.0 版起。 从邮件服务器中删除过大的邮件
在检索新消息之前。 大小限制应单独指定
--limit 选项。 此选项不适用于 ETRN 或 ODMR。

协议 询问 可选项
-p | --原型 | - 协议
(关键字:proto[col])
指定与远程邮件服务器通信时使用的协议。 如果不
协议被指定,默认为AUTO。 可能是以下之一:

AUTO 尝试 IMAP、POP3 和 POP2(跳过其中没有支持的任何一个
已编译)。

POP2 邮局协议 2(旧版,将从未来版本中删除)

POP3 邮局协议 3

APOP 将 POP3 与老式的 MD5 挑战身份验证结合使用。 认为不是
抵抗中间人攻击。

RPOP 将 POP3 与 RPOP 身份验证一起使用。

KPOP 在端口 3 上使用 POP4 和 Kerberos V1109 身份验证。

SDPS 将 POP3 与 Demon Internet 的 SDPS 扩展一起使用。

IMAP IMAP2bis、IMAP4 或 IMAP4rev1 (取件 自动检测他们的
能力)。

ETRN 使用 ESMTP ETRN 选项。

ODMR 使用按需邮件中继 ESMTP 配置文件。

所有这些替代方案的工作方式基本相同(与标准服务器通信
除 ETRN 和 ODMR 之外,用于获取已发送到服务器上邮箱的邮件的守护进程。
ETRN 模式允许您询问兼容的 ESMTP 服务器(例如 BSD sendmail at release
8.8.0 或更高版本)立即打开到您的客户端机器的发件人 SMTP 连接和
开始转发服务器队列中寻址到您的客户端计算机的任何项目
未送达的邮件。 ODMR 模式需要一个支持 ODMR 的服务器,其工作方式类似于
ETRN,除了它不需要客户端机器具有静态 DNS。

-U | --uidl
(关键词:uidl)
强制使用 UIDL(仅对 POP3 有效)。 强制客户端跟踪“新鲜度”
消息(UIDL 代表“唯一 ID 列表”,在 RFC1939 中进行了描述)。 用
使用“keep”将邮箱用作一组用户的婴儿新闻。 事实
所看到的消息被跳过会被记录,除非错误记录是通过
在守护进程模式下运行时的系统日志。 注意 fetchmail 可能会自动启用
此选项取决于上游服务器的功能。 还要注意这个选项
在未来的 fetchmail 版本中可能会被删除并强制启用。 也可以看看:
--id 文件。

- 闲置的 (以来 6.3.3)
(关键字: idle, 从 6.0.0 之前开始)
启用空闲使用(仅对 IMAP 有效)。 请注意,这仅适用于一个
特定时间的文件夹。 虽然空闲 rcfile 关键字已被支持
很长一段时间,6.3.3 版本中添加了 --idle 命令行选项。 空闲使用
表示 fetchmail 告诉 IMAP 服务器发送新消息通知,因此它们
可以比常规民意调查更快地检索到。

-P | - 服务
(关键字:服务)从 6.3.0 版开始。
service 选项允许您指定要连接的服务名称。 你可以
如果您的服务数据库缺少所需的端口号,请在此处指定一个十进制端口号
服务端口分配。 请参阅常见问题解答项目 R12 和 --ssl 文档以了解
细节。 这取代了旧的 --port 选项。

- 港口
(关键词:端口)
不采用服务名称的 --service 的过时版本。 请注意: 这个选项
可能会从未来的版本中删除。

- 主要的
(关键词:校长)
principal 选项允许您为相互指定一个服务主体
验证。 这适用于具有 Kerberos 3 身份验证的 POP4 或 IMAP
只要。 它不适用于 Kerberos 5 或 GS​​SAPI。 此选项可能会在
未来的 fetchmail 版本。

-t | - 暂停
(关键词:超时)
timeout 选项允许您以秒为单位设置服务器无响应超时。 如果一个
邮件服务器不发送问候消息或响应给定的命令
秒数, 取件 将断开与它的连接。 没有这样的
超时 取件 可能会挂起,直到 TCP 连接超时,尝试获取
来自故障主机的邮件,可能很长。 这会特别烦人
查阅 取件 在后台运行。 有一个默认超时
fetchmail -V 将报告。 如果给定的连接在
连续,fetchmail 将认为它已楔入并停止重试。 主叫用户
如果发生这种情况,将通过电子邮件通知。

从 fetchmail 6.3.10 开始,SMTP 客户端使用推荐的最小值
RFC-5321 超时,同时等待它与之通信的 SMTP/LMTP 服务器。
您可以进一步提高超时时间,但不能缩短它们。 这是为了避免
一个痛苦的情况,其中 fetchmail 配置了一个短超时(一个
分钟或更短),将长消息(许多 MBytes)发送到本地 MTA,然后
需要比超时更长的时间来响应“OK”,它最终会; 那会
意味着邮件被正确发送,但 fetchmail 无法注意到它,因此会
一遍又一遍地重新获取这条大消息。

- 插入
(关键词:插件)
插件选项允许您使用外部程序来建立 TCP
联系。 如果您想使用 ssh 或需要一些特殊的
防火墙设置。 该程序将在 $PATH 中查找,并且可以选择
分别使用“%h”和“%p”将主机名和端口作为参数传递(注意
插值逻辑相当原始,这些标记必须是有界的
由空格或字符串开头或字符串结尾)。 Fetchmail 将写入
插件的标准输入并从插件的标准输出中读取。

--插件
(关键词:外挂)
与上面的插件选项相同,但这个用于 SMTP
连接。

-r | - 文件夹
(关键字:文件夹[s])
导致邮件服务器上指定的非默认邮件文件夹(或逗号分隔的
要检索的文件夹列表)。 文件夹名称的语法是 server-
依赖。 此选项在 POP3、ETRN 或 ODMR 下不可用。

--tracepolls
(关键字:tracepolls)
告诉 fetchmail 以“轮询帐户 %s”的形式轮询跟踪信息和
'folder %s' 到它生成的 Received 行,其中 %s 部分被替换为
用户的远程名称、投票标签和可用的文件夹(邮箱)
(Received 标头通常还包括服务器的真实名称)。 这可以
用于根据接收邮件的帐户促进邮件过滤。
文件夹信息仅从版本 6.3.4 开始写入。

--ssl (关键词:ssl)
通过协商使到邮件服务器的连接通过 SSL 加密
连接后直接使用 SSL(SSL 包装模式)。 强烈建议使用
--sslcertck 验证服务器提供的证书。 请参阅
下面对 --sslproto 的描述! 更多信息可在 自述文件
fetchmail 附带的文件。

请注意,即使省略此选项,fetchmail 仍可能会协商 SSL 带内
对于 POP3 或 IMAP,通过 STLS 或 STARTTLS 功能。 您可以使用 --sslproto
选项来修改该行为。

如果未指定端口,则尝试连接到已知端口
基本协议的 SSL 版本。 这通常是与端口不同的端口
由基本协议使用。 对于 IMAP,这是用于 clear 协议的端口 143 和
SSL 安全协议的端口 993; 对于 POP3,明文是 110 端口
和用于加密变体的端口 995。

如果您的系统缺少来自 / etc /服务,见
--service 选项并指定前面给出的数字端口号
段(除非您的 ISP 已将您定向到不同的端口,这是不常见的
然而)。

--sslcert
(关键字:sslcert)
用于基于证书的客户端身份验证。 一些 SSL 加密服务器需要
用于身份验证的客户端密钥和证书。 在大多数情况下,这是
可选的。 这指定了公钥证书的位置
在建立 SSL 会话时呈现给服务器。 它不是
如果服务器不需要,则需要(但可以提供)。 它可能是
与私钥(组合密钥和证书文件)相同的文件,但这不是
受到推崇的。 另请参阅下面的 --sslkey。

注意: 如果您使用客户端身份验证,则从
证书的 CommonName 并覆盖使用 --user 设置的名称。

--sslkey
(关键字:sslkey)
指定客户端私有 SSL 密钥的文件名。 一些 SSL 加密
服务器需要客户端密钥和证书进行身份验证。 多数情况
情况下,这是可选的。 这指定了用于的私钥的位置
在建立 SSL 会话时与服务器签署交易。 它
如果服务器不需要,则不需要(但可以提供)。 它可能是
与公钥(组合密钥和证书文件)相同的文件,但这不是
建议。

如果需要密码来解锁密钥,当时会提示输入
就在与服务器建立会话之前。 这可能会导致一些
守护进程模式下的并发症。

另请参阅上面的 --sslcert。

--ssl协议
(关键字:sslproto,注意:自 v6.4.0 以来的语义变化)
出于历史的 fetchmail 行为,此选项具有双重用途。 它同时控制
SSL/TLS 协议版本,如果未指定 --ssl,则 STARTTLS 行为
(将协议升级到带内 SSL 或 TLS 连接)。 其他一些选择
然而,可能会强制使用 TLS。

只有在轮询中缺少此选项和 ​​--ssl 时,才会出现机会性 TLS
对于 POP3 和 IMAP,fetchmail 将尝试升级到 TLSv1 或更新版本。

下面给出了 --sslproto 的公认值。 您通常应该选择其中之一
自动协商选项,即 '汽车' 或以加号结尾的选项之一 (+)
特点。 请注意,根据 OpenSSL 库版本和配置,一些选项
导致运行时错误,因为请求的 SSL 或 TLS 版本不受支持
特定安装的 OpenSSL 库。

'', 空字符串
禁用 STARTTLS。 如果为同一服务器提供 --ssl,则记录错误并
假装'汽车' 已被使用。

'汽车' (默认)。 从 v6.4.0 开始。 需要 TLS。 自动协商 TLSv1 或更新版本,禁用
SSLv3 降级。 (fetchmail 6.3.26 及更早版本已自动协商所有
他们的 OpenSSL 库支持的协议,包括损坏的 SSLv3)。

'SSL23'
看 '汽车'.

'SSL3' 完全需要 SSLv3。 SSLv3 已损坏,并非所有系统都支持,请避免
如果可能的话。 这将使 fetchmail 仅协商 SSLv3,并且是
除了'SSL3+' 让 fetchmail 6.4.0 或更高版本允许 SSLv3。

'SSL3+'
与...一样 '汽车',但也允许 SSLv3。 这是唯一的办法了
'SSL3' 让 fetchmail 6.4.0 或更高版本允许 SSLv3。

'TLS1' 需要 TLSv1。 这不会协商 TLSv1.1 或更高版本,并且不鼓励这样做。
替换为 TLS1+,除非后者阻塞您的服务器。

'TLS1+'
从 v6.4.0 开始。 参见“fBauto”。

'TLS1.1'
从 v6.4.0 开始。 完全需要 TLS v1.1。

'TLS1.1+'
从 v6.4.0 开始。 需要 TLS。 自动协商 TLSv1.1 或更新版本。

'TLS1.2'
从 v6.4.0 开始。 完全需要 TLS v1.2。

'TLS1.2+'
从 v6.4.0 开始。 需要 TLS。 自动协商 TLSv1.2 或更新版本。

无法识别的参数
被视为与 '汽车'.

注意:您几乎不需要使用除 '' 以外的任何东西(强制
未加密的连接)或“自动”(强制执行 TLS)。

--sslcerck
(关键字:sslcertck)
导致 fetchmail 要求使用 SSL/TLS,如果不能,则断开连接
成功协商 SSL 或 TLS,或者如果无法成功验证和验证
证书并跟随它到信任锚(或受信任的根证书)。 这
信任锚作为一组本地可信证书提供(请参阅 证书文件
证书路径 选项)。 如果无法获取服务器证书或没有
由受信任的人之一(直接或间接)签名,fetchmail 将
断开连接,无论 指纹 选项。

请注意,仅在 OpenSSL 0.9.7 中支持 CRL(证书吊销列表)
和更新! 使用它时,您的系统时钟也应该相当准确
选项。

请注意,此可选行为可能会成为未来 fetchmail 中的默认行为
版本。

--sslcert文件
(关键字:sslcertfile,自 v6.3.17 起)
设置 fetchmail 用于查找本地证书的文件。 默认为空。
这可以给 --sslcertpath 下面,以及指定的证书
--sslcert文件 将在那些之前处理 --sslcertpath. 该选项可以是
除了使用 --sslcertpath.

该文件是一个文本文件。 它包含可信 CA 证书的串联
PEM 格式。

请注意,使用此选项将禁止加载默认的 SSL 可信 CA
除非您设置环境变量,否则证书文件
FETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS 为非空值。

--sslcertpath
(关键字:sslcertpath)
设置 fetchmail 用于查找本地证书的目录。 默认是
您的 OpenSSL 默认目录。 目录必须以 OpenSSL 的方式散列
期望 - 每次在目录中添加或修改证书时,您都需要
使用 c_rehash 工具(在 tools/ 子目录中随 OpenSSL 一起提供)。
此外,在 OpenSSL 升级后,您可能需要运行 c_rehash; 尤其是当
从 0.9.X 升级到 1.0.0。

这可以给 --sslcert文件 以上,请参见优先级
规则。

请注意,使用此选项将禁止添加默认的 SSL 可信 CA
除非您设置环境变量,否则证书目录
FETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS 为非空值。

--ssl 通用名称 <常见 姓名>
(关键字:sslcommonname;自 v6.3.9)
不鼓励使用此选项。 使用前请联系管理员
您的上游服务器并要求使用正确的 SSL 证书。 如果说
无法获得,此选项可用于指定名称 (CommonName)
fetchmail 需要服务器证书。 正确配置的服务器将
将此设置为访问它的主机名,默认情况下 fetchmail 将
期望一样多。 当 CommonName 设置为其他值时使用此选项,以
避免“服务器通用名称不匹配”警告,并且仅当上游服务器
无法使用正确的证书。

--ss指纹
(关键词:sslfingerprint)
以十六进制指定服务器密钥的指纹(密钥的 MD5 哈希)
用冒号分隔两位数字组的符号。 字母十六进制数字必须是
大写。 这是 fetchmail 用来报告指纹的格式
当建立 SSL 连接时。 指定此项后,fetchmail 将
将服务器密钥指纹与给定的指纹进行比较,连接将失败
如果它们不匹配,无论 SSL证书 环境。 连接也会
如果 fetchmail 无法从服务器获取 SSL 证书,则失败。 这可以
用于防止中间人攻击,但来自服务器的指纹
需要通过安全渠道获得或验证,当然不是通过
fetchmail 将使用的相同 Internet 连接。

使用此选项将防止打印证书验证错误,只要
--sslcertck 未设置。

要获取存储在文件 cert.pem 中的证书指纹,请尝试:

openssl x509 -in cert.pem -noout -md5 -指纹

有关详情,请参阅 x509(1ssl)。

寄送地址 通过积极争取让商标与其相匹配的域名优先注册来维护 可选项
-S | --smtphost
(关键字:smtp[host])
指定要将邮件转发到的主机搜索列表(一个或多个主机名,逗号-
分开)。 主机按列表顺序尝试; 第一个上升的成为
当前运行的转发目标。 如果未指定此选项,
'localhost' 用作默认值。 每个主机名后面可能有一个端口号
主机名。 端口号与主机名之间用斜线分隔; 这
默认端口是“smtp”。 如果指定绝对路径名(以 / 开头),
它将被解释为接受 LMTP 连接的 UNIX 套接字的名称
(例如 Cyrus IMAP 守护进程支持的)示例:

--smtphost server1,server2/2525,server3,/var/imap/socket/lmtp

此选项可与 ODMR 一起使用,并使 fetchmail 成为 ODMR 之间的中继
服务器和 SMTP 或 LMTP 接收器。

--fetchdomains
(关键词:fetchdomains)
在 ETRN 或 ODMR 模式下,此选项指定服务器应该使用的域列表
一旦连接被改变,就发送邮件。 默认为 FQDN
机器运行 取件.

-D | --smtp地址
(关键字:smtpaddress)
指定要附加到发送到 SMTP 的 RCPT TO 行中的地址的域。
如果未指定,则 SMTP 服务器的名称(由
--smtphost) 用于 SMTP/LMTP,'localhost' 用于 UNIX 套接字/BSMTP。

--smtp 名称
(关键字:smtpname)
指定要放入发送到 SMTP 的 RCPT TO 行中的域和用户。 这
默认用户是当前本地用户。

-Z | --反垃圾邮件 <nnn[, 嗯]...>
(关键词:反垃圾邮件)
指定将被解释为垃圾邮件的数字 SMTP 错误列表
阻止来自侦听器的响应。 值为 -1 将禁用此选项。 为了
命令行选项,列表值应以逗号分隔。

-m | --mda
(关键词:mda)
这个选项让 取件 使用消息或本地传递代理(MDA 或 LDA)
直接,而不是通过 SMTP 或 LMTP 转发。

为避免丢失邮件,请仅将此选项用于诸如 maildrop 或 MTA 之类的 MDA
在磁盘已满和其他传送错误时以非零状态退出的 sendmail;
非零状态告诉 fetchmail 传递失败并阻止消息
以免在服务器上被删除。

If 取件 以 root 身份运行,它在传递邮件时设置其用户 ID
一个MDA如下: 一、FETCHMAILUSER、LOGNAME和USER环境
变量按此顺序检查。 他的列表中第一个变量的值
在系统用户数据库中查找已定义的(即使它是空的!)。 如果
没有定义任何变量,fetchmail 将使用它的真实用户 ID
开始于。 如果定义了变量之一,但用户声明没有
发现,fetchmail 继续以 root 身份运行,而不检查剩余的变量
列表。 实际上,这意味着如果您以 root 身份运行 fetchmail(而不是
推荐),定义 FETCHMAILUSER 环境变量最有用
设置 MDA 应该运行的用户。 一些 MDA(例如 maildrop)被设计为
将setuid root和setuid设置为收件人的用户id,这样你就不会丢失
即使以非特权用户身份运行 fetchmail 也能以这种方式运行。 检查
MDA 的手册了解详细信息。

一些可能的 MDA 是“/usr/sbin/发送邮件 -i -f %F -- %T" (请注意: 一些
旧的或供应商的 sendmail 版本错误——地址,而不是
标记选项参数结束的指示符)、“/usr/bin/deliver”和
“/usr/bin/maildrop -d %T”。 本地收货地址将被插入到 MDA 中
命令放置在任何地方 %T; 邮件的发件人地址将被插入
放置 %F 的位置。

Do 不是 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 %F or %T 绳子 in 引号! 对于 %T 和 %F,fetchmail
将地址括在单引号 (') 中,在删除任何单引号后,它们
在将 MDA 命令传递给 shell 之前,可能包含。

Do 不是 使用 an MDA 调用 派遣 on 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 Contents of 收件人/抄送/密件抄送, 喜欢
"sendmail -i -t" 或 "qmail-inject",它会创建邮件循环并带来正确的
许多邮政局长的愤怒落在了你的头上。 这是最常见的一种
配置错误!

另外,做 而不去 尝试将 multidrop 模式与 MDA(例如 maildrop)结合起来,它可以
只接受一个地址,除非您的上游存储每个消息的一份副本
收件人并在标题中传输信封收件人; 你会丢失邮件。

众所周知的 程序邮件(1) 包很难正确配置,它有一个
在交付错误(即使
临时的,例如磁盘空间不足,如果另一个用户的邮件守护程序复制
邮箱周围以清除旧邮件),因此您的邮件最终会出现错误
邮箱迟早要。 正确的 procmail 配置超出了范围
这个文件。 使用 信箱(1) 通常要容易得多,许多用户发现
maildrop 使用的过滤器语法更容易理解。

最后,我们强烈建议您这样做 而不去 使用 qmail 注入。 命令行
接口是非标准的,没有为典型使用提供好处,而 fetchmail
没有试图适应 qmail-inject 与标准的偏差。 一些
qmail-inject 的命令行和环境选项实际上是危险的
可能会导致线程中断、未检测到重复消息和转发循环。

--lmtp (关键词:lmtp)
导致通过 LMTP(本地邮件传输协议)传递。 一个服务主机和端口
必须 在 smtphost 搜索列表中的每个主机上明确指定(见上文),如果
这个选项被选中; 默认端口 25 将(根据 RFC 2033)不
被接受。

--bsmtp
(关键词:bsmtp)
将获取的邮件附加到 BSMTP 文件。 这仅包含 SMTP 命令
将邮件传递给 SMTP 侦听器时,通常由 fetchmail 生成
守护进程。

'-' 参数会导致 SMTP 批处理被写入标准输出,即
用途有限:这仅对调试有意义,因为 fetchmail 的常规
输出散布在同一个频道,所以这不适合邮件
送货。 这种特殊模式可能会在以后的版本中删除。

请注意,fetchmail 对 MAIL FROM 和 RCPT TO 行的重构不是
保证正确; 多滴的使用和滥用下讨论的注意事项
以下邮箱适用。 此模式优先于 --mda 和 SMTP/LMTP。

--坏头 {拒绝|接受}
(关键字:bad-header;自 v6.3.15 起)
指定 fetchmail 应该如何处理带有错误标头的邮件,即标头
语法不好。 传统上,fetchmail 会拒绝此类邮件,但有些
分销商修改了 fetchmail 以接受它们。 您现在可以配置 fetchmail 的
每个服务器的行为。

更多相关资源 限制 通过积极争取让商标与其相匹配的域名优先注册来维护 可选项
-l | - 限制
(关键词:限制)
采用最大八位字节大小参数,其中 0 是默认值,也是特殊值
指定“无限制”的值。 如果非零,大于​​此大小的消息将不会
被获取并将留在服务器上(在前台会话中,进度
消息会指出它们“过大”)。 如果获取协议允许(在
特别是在没有 fetchall 选项的 IMAP 或 POP3 下)消息将不会
标记看到。

显式的 --limit 为 0 会覆盖运行控制文件中设置的任何限制。 这个
选项适用于由于以下原因需要严格控制获取时间的人
昂贵且可变的电话费率。

结合--limitflush,可以用来删除等待的超大消息
服务器。 在守护进程模式下,超大通知邮寄给调用用户
(请参阅 --warnings 选项)。 此选项不适用于 ETRN 或 ODMR。

-w | --警告
(关键词:警告)
以秒为单位进行间隔。 你打电话时 取件 带有“限制”选项
守护进程模式,这控制有关超大消息的警告的时间间隔
邮寄给呼叫用户(或由 'postmaster' 选项指定的用户)。
一个这样的通知总是在第一次投票结束时邮寄
检测到超大邮件。 此后,重新通知被抑制,直到
在警告间隔结束后(它将在第一次结束时发生)
以下民意调查)。

-b | --批量限制
(关键字:batchlimit)
指定将发送到 SMTP 侦听器的最大邮件数
在连接被故意拆除和重建之前(默认为 0,表示
没有限制)。 显式的 --batchlimit 为 0 会覆盖运行中设置的任何限制
控制文件。 尽管 发邮件(8) 通常发起消息的传递
收到消息终止符后,有些 SMTP 监听器就不是这样了
迅速的。 MTA 喜欢 斯迈尔(8) 可以等到delivery socket关闭
递送。 这可能会产生烦人的延迟,当 取件 正在处理非常大的
批次。 将批处理限制设置为某个非零大小将防止这些延迟。
此选项不适用于 ETRN 或 ODMR。

-B | --获取限制
(关键字:fetchlimit)
限制在单个轮询中从给定服务器接受的消息数量。 经过
默认没有限制。 显式的 --fetchlimit 为 0 会覆盖设置的任何限制
在您的运行控制文件中。 此选项不适用于 ETRN 或 ODMR。

--fetchsizelimit
(关键字:fetchsizelimit)
限制从给定服务器接受的单个消息的大小数量
交易。 此选项可用于减少下载第一个的延迟
当邮箱中有太多邮件时发送邮件。 默认情况下,限制为 100。
如果设置为 0,则在开始时下载所有消息的大小。 这个选项做
不适用于 ETRN 或 ODMR。 对于 POP3,唯一有效的非零值是 1。

--fastuidl
(关键词:fastuidl)
对第一个看不见的 UID 执行二进制而不是线性搜索。 二分查找避免
下载所有邮件的 UID。 这可以节省时间(尤其是在守护进程模式下)
在每个轮询中下载相同的 UID 集是浪费带宽。 这
数字“n”表示进行线性搜索的频率。 在守护进程模式下,
如果 'n' 为
大于 1; 如果 'n' 为 1,则总是使用二分查找; 线性搜索总是
如果 'n' 为 0,则使用。在非守护进程模式下,如果 'n' 为 1,则使用二分查找; 除此以外
使用线性搜索。 'n' 的默认值为 4。此选项适用于 POP3
只。

-e | --清除
(关键词:清除)
安排在给定数量的消息后进行最终删除。 在下面
POP2 或 POP3,fetchmail 无法在不发送 QUIT 并结束的情况下进行最终删除
会话 -- 启用此选项后,fetchmail 将中断长邮件检索
session 分成多个子会话,在每个子会话后发送 QUIT。 这是一个
对 POP3 服务器上的线路掉线的良好防御。 在 IMAP 下, 取件 通常
每次删除后发出 EXPUNGE 命令以强制删除
立即完成。 当您与服务器的连接不稳定并且
昂贵,因为它避免在线路命中后重新发送重复的邮件。 然而,在
大邮箱 每条消息后重新索引的开销可能会导致服务器崩溃
很难,所以如果您的连接可靠,最好减少删除
频繁地。 另请注意,某些服务器会在几秒钟后强制执行延迟
每次退出,因此 fetchmail 可能无法在删除后立即返回
-- 如果发生这种情况,您可能会看到“lock busy”错误。 如果您将此选项指定给
整数 N,它告诉 取件 仅在每第 N 个删除时发出删除。 一个
零的论点完全抑制了删除(因此根本不会进行删除
直到运行结束)。 此选项不适用于 ETRN 或 ODMR。

认证 可选项
-u | - 用户 | - 用户名
(关键字:用户[姓名])
指定登录邮件服务器时使用的用户标识。
适当的用户标识取决于服务器和用户。 默认的
是您在正在运行的客户端计算机上的登录名 取件. 见用户
下面的认证以获得完整的描述。

-I | - 界面
(关键词:界面)
要求特定的接口设备启动并具有特定的本地或远程
轮询前的 IPv4(此选项尚不支持 IPv6)地址(或范围)。
频繁 取件 用于瞬态点对点 TCP/IP 链接
通过 SLIP 或 PPP 直接建立到邮件服务器。 这是一个相对安全的
渠道。 但是当存在到邮件服务器的其他 TCP/IP 路由时(例如,当链接
连接到备用 ISP),您的用户名和密码可能容易受到攻击
窥探(特别是当守护进程模式自动轮询邮件、发送邮件时
以可预测的时间间隔通过网络清除密码)。 --interface 选项可能
用于防止这种情况。 当指定的链接未启动或未连接到
匹配的 IP 地址,轮询将被跳过。 格式为:

界面/iii.iii.iii.iii[/mmm.mmm.mmm.mmm]

第一个斜杠之前的字段是接口名称(即 sl0、ppp0 等)。 这
第二个斜杠前的字段是可接受的 IP 地址。 之后的领域
第二个斜杠是一个掩码,指定要接受的 IP 地址范围。 如果不
假设存在掩码 255.255.255.255(即完全匹配)。 这个选项是
目前仅支持 Linux 和 FreeBSD。 请参阅 监控 部分
下面是 FreeBSD 的具体信息。

请注意,此选项可能会从未来的 fetchmail 版本中删除。

-M | - 监视器
(关键词:监视器)
守护进程模式可能会导致临时链接,这些链接会在一段时间后自动关闭
不活动期(例如 PPP 链接)无限期地保持。 这个选项
标识要监视活动的系统 TCP/IP 接口。 每次投票后
间隔,如果链接已启动但链接上没有发生其他活动,则
投票将被跳过。 但是,当 fetchmail 被信号唤醒时,
监视器检查被跳过并且轮询无条件地通过。 这个选项是
目前仅支持 Linux 和 FreeBSD。 为了 监控接口
在 FreeBSD 下为非 root 用户工作的选项,fetchmail 二进制文件必须是
安装了 SGID kmem。 这将是一个安全漏洞,但 fetchmail 与
有效 GID 设置为 kmem 组的 GID 仅由 当接口数据被
集。

请注意,此选项可能会从未来的 fetchmail 版本中删除。

--授权
(关键字:auth[enticate])
此选项允许您指定身份验证类型(请参阅 USER AUTHENTICATION
详情见下文)。 可能的值为 任何, 密码, kerberos_v5, Kerberos的
(或者,为了极度精确, kerberos_v4), 格萨皮, 补习MD5, OTP, 网络, MSN
(仅适用于 POP3), 外部 (仅 IMAP)和 SSH。 何时 任何 (默认)是
指定,fetchmail 首先尝试不需要密码的方法(EXTERNAL,
GSSAPI、KERBEROS IV、KERBEROS 5); 然后它会寻找掩盖你密码的方法
(CRAM-MD5、NTLM、X-OTP - 请注意 MSN 仅支持 POP3,但不支持
自动探测); 并且只有当服务器不支持其中任何一个时,它才会发送您的
密码 en clair。 其他值可用于强制各种身份验证
方法(SSH 抑制身份验证,因此对 IMAP PREAUTH 很有用)。
(外部 抑制身份验证,因此对 IMAP EXTERNAL 很有用)。 任何
值以外的 密码, 补习MD5, 网络, MSN or OTP 抑制 fetchmail 的正常
查询密码。 指定 SSH 当您使用端到端安全
连接,例如 ssh 隧道; 指定 外部 当您在客户端使用 TLS 时
身份验证并指定 格萨皮 or kerberos_v4 如果您正在使用协议
使用 GSSAPI 或 K4 的变体。 选择 KPOP 协议会自动选择
Kerberos 身份验证。 此选项不适用于 ETRN。 GSSAPI服务
名称符合 RFC-2743 和 IANA 注册,请参阅通用安全
服务应用程序接口 (GSSAPI)/Kerberos/简单认证和
安全层 (SASL) 服务名称 ⟨http://www.iana.org/assignments/
gssapi-服务名称/⟩。

其他 可选项
-f | --fetchmailrc
指定一个非默认名称 〜/.fetchmailrc 运行控制文件。 路径名
参数必须是“-”(一个破折号,意思是从
标准输入)或文件名。 除非 --version 选项也打开,否则命名
文件参数必须具有不超过 0700 (u=rwx,g=,o=) 的开放权限,否则为
/开发/空。

-i | --id文件
(关键字:idfile)
为用于保存消息 UID 的 .fetchids 文件指定备用名称。 笔记:
从 fetchmail 6.3.0 开始,对包含 idfile 的目录的写访问权限是
需要,因为 fetchmail 会写入一个临时文件并将其重命名为
仅当临时文件已成功写入时,才是真正的 idfile。 这避免了
磁盘空间不足时 idfiles 的截断。

--pid文件
(关键字:pidfile;从 fetchmail v6.3.4 开始)
覆盖 PID 文件的默认位置。 默认值:请参阅下面的“环境”。

-n | --norewrite
(关键词:不可重写)
通常情况下, 取件 编辑 RFC-822 地址标头(To、From、Cc、Bcc 和 Reply-To)
在获取的邮件中,以便将服务器本地的任何邮件 ID 扩展为完整
地址(@ 和邮件服务器主机名被附加)。 这使得回复
正确解决客户的问题(否则您的邮寄者可能会认为他们
应该发送给客户端计算机上的本地用户!)。 此选项禁用
重写。 (提供此选项是为了安抚那些偏执的人
让 MTA 编辑邮件标题并想知道他们可以阻止它,但它是
实际关闭重写通常不是一个好主意。)使用 ETRN 或 ODMR 时,
重写选项无效。

-E | - 信封
(关键字:信封;仅限多点)
在配置文件中,使用了增强的语法:
信封 [ ]

此选项更改标题 取件 假设将携带邮件的副本
信封地址。 通常这是“X-Envelope-To”。 其他常见的标题
携带信封信息是“X-Original-To”和“Delivered-To”。 现在,自从
这些标题不是标准化的,实践各不相同。 见讨论
下面的多点地址处理。 作为一种特殊情况,“信封“收到””使
解析 sendmail 样式的已接收行。 这是默认设置,但不鼓励
因为它并不完全可靠。

请注意,fetchmail 期望 Received-line 为特定格式:它必须
包含“由 主持人 HPMC胶囊 地址“,在哪里 主持人 必须匹配邮件服务器名称之一
该 fetchmail 为相关帐户识别。

可选的 count 参数(仅在配置文件中可用)确定
跳过多少此类标题行。 计数为 1 表示:跳过第一个,
采取第二。 计数 2 表示:跳过第一个和第二个,取第三个,然后
等。

-Q | --q虚拟
(关键字:qvir​​tual;仅限 Multidrop)
分配给此选项的字符串前缀将从找到的用户名中删除
在用 信封 选项 (before 做多点名称
映射或本地域检查(如果适用)。 这个选项很有用,如果
您正在使用 取件 收集整个域和您的 ISP(或
您的邮件重定向提供商)正在使用 qmail。 qmail的基本功能之一
送到了(送去了: 消息头。 每当 qmail 向本地发送邮件时
邮箱 它将信封收件人的用户名和主机名放在这一行。
这样做的主要原因是为了防止邮件循环。 将 qmail 设置为批量邮件
对于断开连接的站点,ISP 邮件主机通常会将该站点放入其
'Virtualhosts' 控制文件,因此它将为此添加一个前缀到所有邮件地址
地点。 这导致邮件发送到“[电子邮件保护]' 有一个
送到了(送去了: 表格行:

送到了(送去了: [电子邮件保护]

ISP 可以将“mbox-userstr-”作为他们选择的任何前缀,但与
可能是用户主机名。 通过使用选项 'envelope Delivered-To:' 你可以
fetchmail 可靠地识别原始信封收件人,但您必须删除
'mbox-userstr-' 前缀以交付给正确的用户。 这就是这个选项的用途。

--配置转储
解析 〜/.fetchmailrc 文件,解释指定的任何命令行选项,以及
将配置报告转储到标准输出。 配置报告是一个数据
语言 Python 中的结构赋值。 此选项旨在与
互动的 〜/.fetchmailrc 编辑喜欢 获取邮件配置,用 Python 编写。

去除 可选项
-T | --netsec
在 6.3.0 版本之前删除,所需的底层 inet6_apps 库已经
已停产,不再可用。

USER 认证 AND 加密


除 ETRN 之外的所有模式都需要客户端向服务器进行身份验证。 普通用户
身份验证 取件 很像的认证机制 FTP(1)。 该
正确的用户 ID 和密码取决于邮件服务器的底层安全系统。

如果邮件服务器是一台您拥有普通用户帐户的 Unix 机器,您的
常规登录名和密码用于 取件. 如果您使用相同的登录名
在服务器和客户端机器上,您无需担心指定用户 ID
-u 选项 -- 默认行为是在客户端计算机上使用您的登录名
作为服务器计算机上的用户 ID。 如果您在服务器上使用不同的登录名
机器,指定登录名 -u 选项。 例如,如果您的登录名是“jsmith”
在名为“mailgrunt”的机器上,您将开始 取件 如下:

fetchmail -u jsmith mailgrunt

的默认行为 取件 是在之前提示您输入邮件服务器密码
连接建立。 这是最安全的使用方式 取件 并确保您的
密码不会被泄露。 您也可以在您的密码中指定您的密码
〜/.fetchmailrc 文件。 这在使用时很方便 取件 在守护进程模式或与
脚本。

运用 网盘
如果您不指定密码,并且 取件 无法从您的
〜/.fetchmailrc 文件,它将寻找一个 〜/.netrc 之前在您的主目录中的文件
以交互方式请求一个; 如果在该文件中找到与邮件服务器匹配的条目,
密码将被使用。 Fetchmail 首先查找投票名称的匹配项; 如果它发现
无,它检查通过名称匹配。 见 FTP(1) 手册页的详细信息
的语法 〜/.netrc 文件。 为了展示一个实际的例子,一个 .netrc 可能看起来像这样:

机器 hermes.example.org
登录乔
密码绝密

如果您需要提供多个用户信息,您可以使用不同的用户信息重复此块
一个密码。

此功能可让您避免在多个文件中重复密码信息
文件中。

在不提供普通用户帐户的邮件服务器上,您的用户名和密码是
通常由服务器管理员在您申请服务器上的邮箱时分配。
如果您不知道正确的用户 ID 和密码,请联系您的服务器管理员
您的邮箱帐户。

POP3 变体


POP3 的早期版本(RFC1081、RFC1225)支持独立的原始形式
使用身份验证 .rhosts 邮件服务器端的文件。 在这个 RPOP 变体下,一个
相当于密码的固定每用户 ID 通过指向保留的链接以明文形式发送
端口,使用命令 RPOP 而不是 PASS 来提醒服务器它应该做特殊的
检查。 RPOP 支持 取件 (您可以指定 'protocol RPOP' 来使
程序发送“RPOP”而不是“PASS”)但强烈不鼓励使用它,并且支持
将从未来的 fetchmail 版本中删除。 该设施容易受到欺骗
并在 RFC1460 中被撤回。

RFC1460 引入了 APOP 身份验证。 在 POP3 的这个变体中,您注册一个 APOP
服务器主机上的密码(在某些服务器上,执行此操作的程序称为
权限(8))。 你把相同的密码放在你的 〜/.fetchmailrc 文件。 每一次 取件
登录后,它会将您的密码和服务器问候时间的 MD5 哈希值发送到服务器,
它可以通过检查其授权数据库来验证它。

备注 载脂蛋白 is 没有 不再 考虑 人在这方面的中间人 攻击。

重试 or TOP
取件 做出一些努力让服务器相信消息没有被检索到,
尽可能使用带有大量行的 TOP 命令。 TOP 是一个命令
检索完整的标题和一个 取件- 指定数量的身体线条。 这是
可选,因此并非所有服务器都实现,并且已知某些服务器会实现它
不当。 然而,在许多服务器上,检索完整消息的 RETR 命令
带有标题和正文,设置“seen”标志(例如,在 Web 界面中),而
TOP 命令不会这样做。

取件 如果设置了“fetchall”,则将始终使用 RETR 命令。 取件 还将使用
如果设置了“keep”且未设置“uidl”,则使用 RETR 命令。 最后, 取件 将使用
Maillennium POP3/PROXY 服务器上的 RETR 命令(由 Comcast 使用)以避免故意的 TOP
此服务器中的错误解释导致消息损坏。

在所有其他情况下, 取件 将使用 TOP 命令。 这意味着在“保持”
设置,如果需要“TOP”,则必须设置“uidl”。

备注 此描述适用于当前版本的 fetchmail,但行为
在未来的版本中可能会发生变化。 特别是,fetchmail 可能更喜欢 RETR 命令
因为 TOP 命令在某些服务器上会引起很多麻烦,并且只是可选的。

ALTERNATE 认证 形式


如果你的 取件 使用 Kerberos 支持构建,并且您指定 Kerberos 身份验证
(使用 --auth 或 .fetchmailrc 选项 认证 kerberos_v4) 它会尝试
在每次查询开始时从邮件服务器获取 Kerberos 票证。 注意:如果
pollname 或 via name 是 'hesiod',fetchmail 将尝试使用 Hesiod 来查找
邮件服务器。

如果您将 POP3 或 IMAP 与 GSSAPI 身份验证一起使用, 取件 将期望服务器
具有符合 RFC1731 或 RFC1734 的 GSSAPI 功能,并将使用它。 目前这
仅在 Kerberos V 上进行过测试,因此您应该已经获得了票证
票。 您可以使用标准传递与您的主体名称不同的用户名
- 用户 命令或由 .fetchmailrc 选项 用户.

如果您的 IMAP 守护进程在其问候行中返回 PREAUTH 响应,则 fetchmail 将
请注意这一点并跳过正常的身份验证步骤。 这可能很有用,例如,如果您
使用 ssh 显式启动 imapd。 在这种情况下,您可以声明身份验证值
该站点条目上的“ssh”停止 .fetchmail 开始时要求您输入密码
向上。

如果您使用客户端身份验证 TLS1 并且您的 IMAP 守护程序返回 授权=外部
响应,fetchmail 会注意到这一点,并将使用身份验证快捷方式,而不会
发送密码。 在这种情况下,您可以声明身份验证值“external”
在那个站点停止 取件 启动时要求您输入密码。

如果您使用 POP3,并且服务器发出符合以下要求的一次性密码质询
RFC1938, 取件 将使用您的密码作为密码来生成所需的
回复。 这避免了通过网络发送未加密的机密。

支持 Compuserve 的 RPA 身份验证。 如果你在支持中编译, 取件
将尝试执行 RPA 密码验证而不是通过密码发送
en clair 如果在主机名中检测到“@compuserve.com”。

如果您使用的是 IMAP,则 Microsoft 的 NTLM 身份验证(由 Microsoft Exchange 使用)是
支持的。 如果你在支持中编译, 取件 将尝试执行 NTLM
每当服务器返回时进行身份验证(而不是通过密码 en clair 发送)
AUTH=NTLM 在其能力响应中。 指定一个看起来像的用户选项值
'user@domain':@ 左边的部分将作为用户名和部分传递
右侧作为 NTLM 域。

安全消息传递 插座 (SSL) Transport / 运输 安全性 (TLS)
运输。 此外,POP3 和 IMAP 检索还可以通过以下方式协商 SSL/TLS
STARTTLS(或 STLS)。

请注意,fetchmail 目前使用 OpenSSL 库,该库的文档严重不足,
所以失败可能只是因为程序员不知道 OpenSSL 的要求
当天。 例如,从 v6.3.16 开始,fetchmail 调用 OpenSSL_add_all_algorithms(),
这是支持在 OpenSSL 256 上使用 SHA0.9.8 的证书所必需的——这
信息深深地隐藏在文档中,一点也不明显。 请不要
犹豫是否报告微妙的 SSL 故障。

您可以通过指定以 --ssl 开头的选项来访问 SSL 加密服务,例如
如--ssl、--sslproto、--sslcertck 等。 您也可以使用
.fetchmailrc 文件中的相应用户选项。 某些服务,例如 POP3 和
IMAP,为 SSL 加密服务定义了不同的众所周知的端口。 这
当启用 SSL 并且没有显式端口时,将自动选择加密端口
指定的。 此外,--sslcertck 命令行或 sslcertck 运行控制文件选项
应该用于强制严格的证书检查 - 见下文。

如果未配置 SSL,fetchmail 通常会随机尝试使用 STARTTLS。
STARTTLS 可以通过使用 --sslproto auto 来强制执行,也可以通过使用 --sslproto '' 来取消。
TLS 连接使用与协议未加密版本相同的端口并协商
TLS 通过特殊命令。 --sslcertck 命令行或 sslcertck 运行控制文件选项
应该用于强制严格的证书检查 - 见下文。

--sslcerck is 推荐的: 当连接到 SSL 或 TLS 加密服务器时,服务器
向客户提供证书以供验证。 检查证书以验证
证书中的通用名称与正在联系的服务器的名称相匹配,并且
证书中的生效日期和到期日期表明它当前是
有效的。 如果这些检查中的任何一个失败,则会打印一条警告消息,但连接
继续。 服务器证书不需要由任何特定的 Certifying
权限并且可能是“自签名”证书。 如果 --sslcertck 命令行选项
或使用 sslcertck 运行控制文件选项,如果其中任何一个,fetchmail 将中止
检查失败,因为它必须假设这里存在中间人攻击
场景,因此 fetchmail 不得公开明文密码。 使用 sslcertck 或
因此建议使用 --sslcertck 选项。

某些 SSL 加密服务器可能会请求客户端证书。 客户端公开
可以指定 SSL 证书和私有 SSL 密钥。 如果服务器请求,
客户端证书被发送到服务器进行验证。 某些服务器可能需要有效的
客户端证书,如果未提供证书或
证书无效。 某些服务器可能需要客户端证书由以下人员签名
认可的核证机关。 密钥文件和证书文件的格式
是底层 SSL 库(一般情况下为 OpenSSL)所要求的。

关于 SSL 使用的注意事项:虽然上面提到了使用自签名服务器的设置
通过电线检索到的证书可以保护您免受被动窃听者的侵害,它
无助于对抗主动攻击者。 这显然比发送
密码清晰,但你应该知道中间人攻击是微不足道的
可能的(特别是使用 dsniff ⟨ 等工具http://monkey.org/~dugsong/dsniff/⟩, )。
使用服务器认可的证书颁发机构进行严格的证书检查和
客户端,或者可能是 SSH 隧道(请参阅下面的一些示例)是更可取的,如果您
认真对待您的邮箱和密码的安全。

ESMTP 认证
取件 还支持对客户端的 ESMTP 服务器进行身份验证,根据
RFC 2554。您可以指定要与关键字“esmtpname”一起使用的名称/密码对
和“esmtppassword”; 前者默认为主叫用户的用户名。

达蒙 MODE


新品发布 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 守护 模式
在守护进程模式下, 取件 将自己置于后台并永远运行,查询每个
指定的主机,然后在给定的轮询间隔内休眠。

开始 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 守护 模式
有几种方法可以使 fetchmail 在守护进程模式下工作。 在命令行中,
--守护进程 or -d 期权运行 取件 在守护进程模式。 你必须
指定一个数字参数,它是轮询间隔(完成一次后等待的时间)
使用最后一个服务器的整个轮询周期,并在开始下一个轮询周期之前使用
第一个服务器)在几秒钟内。

示例:简单地调用

取邮件 -d 900

因此,将轮询您在 〜/.fetchmailrc 文件(除了那些
用“跳过”动词明确排除)比每 15 分钟一次少一点
(确切地说:15 分钟 + 投票所需的时间)。

也可以设置轮询间隔 〜/.fetchmailrc 文件说
'设置守护进程', 在哪里是整数秒。 如果你这样做
这样,fetchmail 将始终以守护程序模式启动,除非您使用以下命令覆盖它-
行选项 --daemon 0 或 -d0。

每个用户只允许一个守护进程; 在守护进程模式下, 取件 建立一个每
用户锁定文件来保证这一点。 (但是,您可以作弊并设置 FETCHMAILHOME
环境变量来克服此设置,但在这种情况下,这是您的责任
以确保您不会同时使用两个进程轮询同一台服务器。)

唤醒 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 背景 守护
通常,在后台使用守护进程调用 fetchmail 会向后台发送唤醒信号
守护进程并退出而不输出。 然后后台守护进程开始它的下一个轮询周期
立即地。 唤醒信号 SIGUSR1 也可以手动发送。 唤醒行动
还清除任何“楔形”标志,表明连接因失败而楔形
身份验证或多次超时。

终止 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 背景 守护
选项 - 退出 将杀死正在运行的守护进程而不是唤醒它(如果有
没有这个过程, 取件 会通知你)。 如果 --quit 选项最后出现在
命令行, 取件 将终止正在运行的守护进程然后退出。 除此以外,
取件 将首先杀死一个正在运行的守护进程,然后继续运行
其他选项。

有用 选项 HPMC胶囊 守护 模式
- -L or --日志文件 选项(关键字:set logfile)才有效
当 fetchmail 被分离并处于守护进程模式时。 注意 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 日志文件 必须 存在 before
fetchmail 运行后,您可以使用 触摸(1) 以文件名作为唯一参数的命令
创造它。
此选项允许您将状态消息重定向到指定的日志文件(遵循
选项与日志文件名)。 日志文件已打开以进行追加,因此以前的消息
不会被删除。 这主要用于调试配置。 注意
fetchmail 不检测日志文件是否被轮换,日志文件只打开一次
fetchmail 启动。 您需要在旋转日志文件之后和之前重新启动 fetchmail
压缩它(如果适用)。

- --系统日志 选项(关键字:set syslog)允许您重定向状态和错误消息
发射到 系统日志(3) 系统守护进程(如果可用)。 消息记录的 id 为
取件, 设施 日志邮件, 和优先事项 日志错误, 日志警报 or 日志信息。 这
选项用于记录指示状态的错误消息
从服务器获取邮件时的守护进程和结果。 命令的错误信息
行选项并解析 .fetchmailrc 文件仍然写入 stderr,或写入
指定的日志文件。 这 --nosyslog 选项关闭使用 系统日志(3),假设它是
〜/.fetchmailrc 文件。 在某些情况下,此选项被覆盖,
by --日志文件 (见)。

- -N or --无分离 选项禁止后台进程和后台进程分离
从其控制终端。 这对于调试或当 fetchmail 作为
主管进程的子进程,例如 初始化(8) 或 Gerrit Pape 的 运行(8). 请注意,这
还会导致日志文件选项被忽略。

请注意,在轮询 POP2 或 IMAP2bis 服务器的守护进程模式下运行时,瞬时错误
(例如 DNS 故障或 sendmail 传递拒绝)可能会强制打开 fetchall 选项
下一个轮询周期的持续时间。 这是一个健壮性特征。 这意味着如果一个
消息被获取(并因此被邮件服务器标记为可见)但由于未在本地传递
对于某些暂时性错误,它将在下一个轮询周期中重新获取。 (IMAP
逻辑不会在消息传递之前删除它们,因此不会出现此问题。)

如果您触摸或更改 〜/.fetchmailrc fetchmail 在守护进程模式下运行时的文件,
这将在下一个轮询周期开始时检测到。 当一个改变
〜/.fetchmailrc 被检测到,fetchmail 重新读取它并从头开始(使用 EXEC(2);
新实例中不保留任何状态信息)。 注意如果fetchmail需要
查询密码,如果你打破了 〜/.fetchmailrc 文件的语法,新的
实例将在启动时轻声无声地消失。

行政 配置


- --邮政局长 选项(关键字:set postmaster)指定最后的手段
如果没有匹配的本地收件人可以将多投邮件转发到的用户名
成立。 如果 'bouncemail' 全局
如果 'bouncemail' 全局选项是关闭的,并且另外用于垃圾邮件阻止的邮件
关闭并且“spambounce”全局选项打开。 此选项默认为调用的用户
取件. 如果调用用户是root,那么这个选项的默认用户是
'邮政局长'。 将 postmaster 设置为空字符串会导致上述邮件
被丢弃 - 然而,这通常是一个坏主意。 另见说明
下面 ENVIRONMENT 部分中的“FETCHMAILUSER”环境变量。

- --nobounce 行为类似于“设置无退回邮件”全局选项,请参见。

- - 无形的 选项(关键字:set invisible)尝试使 fetchmail 不可见。
通常,fetchmail 的行为与任何其他 MTA 一样——它生成一个 Received 标头
进入描述其在传输链中的位置的每条消息,并告诉 MTA
转发到邮件来自机器 fetchmail 本身正在运行。 如果
invisible 选项打开,Received 标头被抑制并且 fetchmail 试图欺骗
MTA 它转发到认为它直接来自邮件服务器主机。

- --showdots 选项(关键字:set showdots)强制 fetchmail 甚至显示进度点
如果输出转到文件或 fetchmail 未处于详细模式。 Fetchmail 显示
在 --verbose 模式下运行时默认为点 输出到控制台。 这个选项是
在 --silent 模式下被忽略。

通过指定 --tracepolls 选项,您可以要求 fetchmail 添加信息到
收到表单“polling {label} account {user}”的标题,其中 {label} 是帐户
标签(来自指定的 rcfile,通常 〜/.fetchmailrc) 和 {user} 是用户名
用于登录邮件服务器。 此标头可用于进行过滤
没有有用的标题信息并且您想要来自不同的邮件的电子邮件
分类到不同邮箱中的帐户(例如,如果您有一个
在运行邮件列表的同一服务器上的帐户,并使用订阅列表
那个帐户)。 默认不添加任何此类标题。 在 .fetchmailrc, 这就是所谓的
'跟踪调查'。

恢复 失败 模式


协议 取件 用于与邮件服务器交谈的用途仅次于防弹。 在正常情况下
操作转发到端口 25,没有消息被删除(甚至标记为删除)
在主机上,直到客户端的 SMTP 侦听器已确认 取件
由于垃圾邮件阻止,邮件已被接受或拒绝。

但是,当转发到 MDA 时,出错的可能性更大。 一些 MDA 是
“安全”并可靠地在任何交付错误时返回非零状态,即使是由于
临时资源限制。 这 信箱(1) 程序是这样的; 大多数程序也是如此
设计为邮件传输代理,例如 发邮件(1),包括sendmail包装器
后缀和 进出口(1). 这些程序会回馈可靠的肯定确认,并且可以
与 mda 选项一起使用,没有邮件丢失的风险。 但是,不安全的 MDA 可能会返回 0
即使交付失败。 如果发生这种情况,您将丢失邮件。

正常模式 取件 是尝试只下载“新”消息,保持原样
(和未删除的)您已经直接在服务器上阅读(或使用
以前 取件 - 保持)。 但是您可能会发现您已经在
即使您没有指定--all,服务器也会被获取(和删除)。 有
这可能发生的几个原因。

一种可能是您使用的是 POP2。 POP2 协议不包括
消息中的“新”或“旧”状态,因此 取件 必须将所有消息视为新消息
时间。 但是 POP2 已经过时了,所以这不太可能。

潜在的 POP3 问题可能是在邮箱中间插入邮件的服务器
(有传言称,邮件的某些 VMS 实现会这样做)。 这 取件 代码假设
将新消息附加到邮箱的末尾; 当这不是真的时,它可能
将一些旧消息视为新消息,反之亦然。 在设置 fastuidl 0 时使用 UIDL 可能
解决这个问题,否则,请考虑切换到 IMAP。

另一个 POP3 问题是,如果他们不能在用户家中制作临时文件
目录,一些 POP3 服务器将交回导致 fetchmail 的未记录响应
虚假报告“无邮件”。

IMAP 代码使用服务器标志\Seen 的存在与否来决定是否
不是消息是新的。 这不是正确的做法,fetchmail 应该检查
UIDVALIDITY 并使用 UID,但它还没有这样做。 在 Unix 下,它依赖于您的 IMAP
服务器注意由邮件用户代理设置的 BSD 样式状态标志并设置 \Seen 标志
在适当的时候从他们那里。 我们知道的所有 Unix IMAP 服务器都这样做,尽管它不是
由 IMAP RFC 指定。 如果你曾经被一个没有的服务器绊倒,症状会
是您已经在主机上阅读的消息对服务器来说是新的。 在这
(不太可能)情况,只有您使用的消息 取件 - 保持 都不会被删除
并标记为旧。

在 ETRN 和 ODMR 模式下, 取件 实际上并不检索消息; 相反,它要求
服务器的 SMTP 侦听器开始通过 SMTP 将队列刷新到客户端。 因此它
只发送未送达的消息。

垃圾邮件 筛选


许多 SMTP 侦听器允许管理员设置“垃圾邮件过滤器”来阻止未经请求的
来自指定域的电子邮件。 触发此功能的 MAIL FROM 或 DATA 行将
引发 SMTP 响应,该响应(不幸的是)因侦听器而异。

较新的版本 发邮件 返回错误代码 571。

根据 RFC2821,在这种情况下返回的正确内容是 550"Requested
未采取行动:邮箱不可用”(草案增加了“[例如,邮箱未找到,没有
访问或命令因政策原因被拒绝]。”)。

旧版本的 进出口 MTA 返回 501“参数或参数中的语法错误”。

- 后缀 MTA 运行 554 作为反垃圾邮件响应。

兹迈勒 可能会拒绝带有 500 响应的代码(后跟增强的状态代码)
包含更多信息)。

返回代码 取件 视为反垃圾邮件响应并丢弃消息
使用“反垃圾邮件”选项设置。 这是其中之一 仅由 三种情况下
fetchmail 会丢弃邮件(其他的是下面描述的 552 和 553 错误,以及
已看到消息 ID 的多丢弃消息的抑制)。

If 取件 正在从 IMAP 服务器获取,反垃圾邮件响应将被检测并
消息在获取标头后立即被拒绝,而没有阅读
邮件正文。 因此,您无需为下载垃圾邮件正文付费。

默认情况下,反垃圾邮件响应列表为空。

如果 垃圾邮件 全局选项打开,被垃圾邮件阻止的邮件会触发
RFC1892/RFC1894 退回邮件通知发件人我们不接受来自
它。 另请参阅错误。

SMTP/ESMTP ERROR 搬运


除了上面描述的垃圾邮件拦截之外,fetchmail 还会采取特殊的措施——这可能是
由 --softbounce 选项修改 - 在以下 SMTP/ESMTP 错误响应代码上

452(系统存储空间不足)
将邮件留在服务器邮箱中以备日后检索。

552(消息超过固定的最大消息大小)
从服务器中删除消息。 向发件人发送退回邮件。

553(无效的发送域)
从服务器中删除消息。 甚至不要尝试将退回邮件发送到
鼻祖。

其他大于或等于 500 的错误会触发退回邮件给发件人,除非
被--softbounce抑制。 另请参阅错误。

CONTROL 文件


设置 fetchmail 的首选方法是编写一个 .fetchmailrc 在你家文件
目录(您可以直接使用文本编辑器或间接通过 获取邮件配置).
当命令行参数和这里的参数有冲突时
文件,命令行参数优先。

为保护您的密码安全,您的 〜/.fetchmailrc 通常不会有更多
比 0700 (u=rwx,g=,o=) 权限; 取件 否则会抱怨并退出(这
当 --version 开启时,检查被抑制)。

您可以阅读 .fetchmailrc 文件作为要执行的命令列表 取件 is
无参数调用。

运行 通过积极争取让商标与其相匹配的域名优先注册来维护 句法
注释以“#”开头并延伸到行尾。 否则文件
由一系列自由格式的服务器条目或全局选项语句组成,
面向令牌的语法。

有四种标记:语法关键字、数字(即十进制数字序列)、
不带引号的字符串和带引号的字符串。 带引号的字符串以双引号为界,并且可能
包含空格(并且带引号的数字被视为字符串)。 注意带引号的字符串
如果它们跨越两行或更多行,也将包含换行符,除非您
使用反斜杠连接行(见下文)。 未加引号的字符串是任何以空格分隔的字符串
既不是数字,也不是字符串引用的标记,也不包含特殊字符 ',', ';',
':' 或 '='。

任意数量的空格分隔服务器条目中的令牌,否则会被忽略。 你
可以使用反斜杠转义序列(\n 表示 LF,\t 表示 HT,\b 表示 BS,\r 表示 CR,\NNN HPMC胶囊
十进制(其中 nnn 不能以 0 开头),\0OOO 对于八进制,和 \xhh 十六进制)嵌入
字符串中的不可打印字符或字符串分隔符。 在带引号的字符串中,反斜杠
在一行的最后会导致反斜杠本身和换行符(LF 或 NL,新的
line) 字符被忽略,以便您可以包装长字符串。 没有反斜杠在
行结束,换行符将成为字符串的一部分。

警告: 虽然这些类似于 C 风格的转义序列,但它们并不相同。 取件
只支持这八种样式。 C 支持更多的转义序列,包括
反斜杠 (\) 和单个字符,但不支持十进制代码且不支持
需要以八进制表示法开头的 0。 示例:fetchmail 将 \233 解释为与
\xE9(带锐角的拉丁小写字母 e),其中 C 会将 \233 解释为八进制 0233 = \x9B
(CSI,控制序列引入器)。

每个服务器条目由关键字“poll”或“skip”之一组成,后跟一个服务器
名称,后跟服务器选项,后跟任意数量的用户(或用户名)
说明,然后是用户选项。 注意:语法错误最常见的原因是
混合用户和服务器选项或将用户选项放在用户描述之前。

为了向后兼容,“服务器”一词是“轮询”的同义词。

您可以在
输入使其类似于英语。 它们被忽略,但可以使输入更容易
一目了然。 标点符号 ':', ';' 和 ',' 也被忽略。

投票 跳至
'poll' 动词告诉 fetchmail 在不带参数运行时查询该主机。 这
“跳过”动词告诉 取件 除非在主机上明确命名,否则不轮询此主机
命令行。 (“跳过”动词允许您安全地试验测试条目,或者
轻松禁用暂时关闭的主机的条目。)

关键字/选项 总结
以下是法律选项。 方括号中的关键字后缀是可选的。
那些对应于短命令行选项的后跟“-”和适当的
选项信。 如果选项仅与单一操作模式相关,则记为
's' 或 'm' 分别表示单点或多点模式。

以下是合法的全局选项:

关键字选择模式功能
────────────────────────────────────────────────────── ────────────────────
set daemon -d 设置后台轮询间隔
秒。
set postmaster 给出最后手段的名称
邮件收件人(默认:用户
运行 fetchmail, "postmaster" 如果
由 root 用户运行)
设置退回邮件 将错误邮件直接发送给发件人
(默认)
设置nobouncemail 直接错误邮件到本地
邮政局长(根据
上面的“postmaster”全局选项)。
设置 no spambounce 不退回被垃圾邮件阻止的邮件
(默认)。
设置 spambounce 退回阻止的垃圾邮件阻止的邮件
(根据“反垃圾邮件”用户
选项)返回目的地作为
由“退回邮件”指示
全局选项。 警告:不要
用它来反弹垃圾邮件
发件人 - 大多数垃圾邮件被发送
使用虚假的发件人地址,因此
这个选项伤害了无辜
旁观者。
set no softbounce 删除永久无法投递
邮件。 建议使用
这个选项如果配置
已经过彻底测试。
设置 softbounce 保持永久无法投递
邮件就像一个临时错误
已经发生(默认)。
set logfile -L 文件名以追加错误和
状态消息。 仅有的
在守护进程模式下有效,如果
fetchmail 分离。 如果有效,
覆盖 系统日志.
set idfile -i 存储UID的文件名
列出。
set syslog 做错误日志记录
系统日志(3). 可能被覆盖
日志文件.

set no syslog 关闭错误日志记录
系统日志(3). (默认)
设置被忽略的属性字符串值
fetchmail(可能被使用
扩展脚本)。

以下是合法的服务器选项:

关键字选择模式功能
────────────────────────────────────────────────────── ──────────────────
通过指定邮件服务器的 DNS 名称,
覆盖投票名称
proto[col] -p 指定协议(大小写
不敏感):POP2、POP3、IMAP、
流行音乐、韩国流行音乐
local[domains] m 指定要考虑的域
作为本地
port 指定 TCP/IP 服务端口
(已过时,请改用“服务”)。
service -P 指定服务名称(一个数字
值也是允许的,并且
视为 TCP/IP 端口号)。
auth[enticate] 设置认证类型(默认
'任何')
timeout -t 服务器不活动超时时间
秒(默认 300)
信封 -E m 指定信封地址头
姓名
没有信封 m 禁用寻找信封
地址
qvirtual -Q m Qmail 虚拟域前缀到
从用户名中删除
又名 m 指定备用 DNS 名称
邮件服务器
interface -I 指定必须的 IP 接口
等待服务器轮询
地方
monitor -M 指定要监控的 IP 地址
活动
plugin 指定命令
建立服务器连接。
plugout 指定命令,通过它
建立侦听器连接。
dns m 为多点启用 DNS 查找
(默认)
no dns m 禁用多点的 DNS 查找
checkalias m 按 IP 地址进行比较
多点
no checkalias m 按名称进行比较
多点(默认)
uidl -U 强制 POP3 使用客户端
UIDL(推荐)
no uidl 关闭客户端的 POP3 使用
UIDL(默认)
间隔每N次轮询仅检查此站点
周期; N 是一个数字参数。
tracepolls 添加轮询跟踪信息到
收到的标头
principal 设置 Kerberos 主体(仅
对 IMAP 和 kerberos 有用)
esmtpname 为 RFC2554 设置名称
ESMTP 认证
服务器。
esmtppassword 为 RFC2554 设置密码
ESMTP 认证
服务器。

bad-header 如何处理带有坏消息的邮件
标题。 可以是拒绝(默认)或
接受。

以下是合法用户描述和选项:

关键字选择模式功能
────────────────────────────────────────────────────── ────────────────────
user[name] -u 这是用户描述和
必须在服务器之后
描述和可能之后
服务器选项,在用户之前
选项​​。
如果通过,它会设置远程用户名
本身或后跟“那里”,或
本地用户名,如果后跟
'这里'。
是连接本地和远程用户
名称
连接本地和远程用户
名称
pass[word] 指定远程账户密码
ssl 通过以下方式连接到服务器
使用 SSL 指定的基本协议
加密
sslcert 指定文件 客户
公共 SSL 证书
sslcertfile 指定具有可信 CA 的文件
证书
sslcertpath 指定 c_rehash-ed 目录
受信任的 CA 证书。
sslkey 指定文件 客户
SSL 私钥
sslproto 强制使用 ssl 协议进行连接
folder -r 指定要查询的远程文件夹
smtphost -S 指定要转发到的 smtp 主机
fetchdomains m 指定邮件的域
应该被提取
smtpaddress -D 指定要放入的域
RCPT TO 线
smtpname 指定用户和域
放入 RCPT TO 线
antispam -Z 指定 SMTP 返回的内容
解释为垃圾邮件策略块
mda -m 指定本地交付的 MDA
bsmtp -o 指定要追加的 BSMTP 批处理文件

preconnect 命令在每次之前执行
地都
postconnect 命令在每次执行后执行
地都
keep -k 不要删除看到的消息
服务器(对于 POP3,uidl 是
推荐的)
flush -F 刷新之前看到的所有消息
查询(危险)
limitflush 刷新所有过大的消息
查询前
fetchall -a 获取所有消息,无论是看到的还是
而不去
重写 重写目标地址
回复(默认)
stripcr 从末端剥离回车
行数
forcecr 在末尾强制回车
生产线

pass8bits 强制 BODY=8BITMIME 到 ESMTP
倾听者
dropstatus Strip Status 和 X-Mozilla-Status
收到的邮件中的行
dropdelivered Strip Delivered-To 线出
接收邮件
mimedecode 将引用打印转换为 8 位
在 MIME 消息中
idle 空闲等待新消息
每次投票后(仅限 IMAP)
no keep -K 从服务器删除看到的消息
(默认)
no flush 不要刷新所有看到的消息
查询前(默认)
no fetchall 只检索新消息
(默认)
不重写 不要重写标题
no stripcr 不要剥离回车
(默认)
no forcecr 不要强制回车
停产(默认)
no pass8bits 不要强制 BODY=8BITMIME 到 ESMTP
监听器(默认)
no dropstatus 不要丢弃状态标头
(默认)
no dropdelivered 不要丢弃 Delivered-To 标头
(默认)
没有 mimedecode 不要将引用的可打印转换为
MIME 消息中的 8 位(默认)
不要闲着 不要闲着 等待新的
每次轮询后的消息 (IMAP
只有)
limit -l 设置消息大小限制
warnings -w 设置消息大小警告间隔
batchlimit -b Max # 要转发的消息
单连接
fetchlimit -B Max # 单个获取的消息
联接
fetchsizelimit Max # 获取的消息大小
单笔交易
fastuidl 对第一个看不见的使用二分查找
消息(仅限 POP3)
expunge -e 每隔 #th 执行一次 expunge
消息(仅限 IMAP 和 POP3)
属性字符串值被忽略
fetchmail(可能被使用
扩展脚本)

所有用户选项都必须以用户描述(用户或用户名选项)开头,并且 遵循
所有服务器描述和选项。

在 .fetchmailrc 文件中,'envelope' 字符串参数前面可能有一个空格 -
分开的号码。 如果指定,此数字是要跳过的此类标题的数量
(即,参数 1 选择给定类型的第二个标头)。 这是某个时候
用于忽略由 ISP 的本地交付代理创建的虚假信封头或
内部转发(例如通过邮件检查系统)。

关键词 相应 附加选项 交换机
'folder' 和 'smtphost' 选项(与它们的命令行等价物不同)可以采用
以空格或逗号分隔的名称列表。

所有选项都对应于明显的命令行参数,除了以下:'via',
'interval', 'aka', 'is', 'to', 'dns'/'no dns', 'checkalias'/'no checkalias', 'password',
'preconnect', 'postconnect', 'localdomains', 'stripcr'/'no stripcr', 'forcecr'/'no
forcecr', 'pass8bits'/'no pass8bits' 'dropstatus/no dropstatus', 'dropdelivered/no
dropdelivered', 'mimedecode/no mimedecode', 'no idle', 和 'no信封'。

'via' 选项用于如果您希望有多个配置指向
同一个网站。 如果存在,字符串参数将被视为实际的 DNS 名称
要查询的邮件服务器主机。 这将覆盖 poll 的参数,然后可以
只需成为配置的不同标签(例如,您将在命令中给出的内容)
行显式查询此主机)。

'interval' 选项(它接受一个数字参数)允许你轮询服务器更少
频率高于基本轮询间隔。 如果您说“间隔 N”,则服务器此选项
将仅在每 N 个轮询间隔查询一次。

单滴 多点 选项
请确保您阅读了标题为 用途 AND 滥用 OF 多滴 邮箱 如果你
打算使用多点模式。

“is”或“to”关键字将以下本地(客户端)名称(或服务器名称
到由 =) 分隔的客户端名称映射,以及条目中的邮件服务器用户名。 如果
is/to list 的姓氏为“*”,无法识别的名称会直接通过。 笔记
直到 取件 版本 6.3.4 包含在内,这些列表只能包含本地部分
用户名(fetchmail 只会查看@ 符号之前的部分)。 取件
6.3.5 和更新版本支持这些映射左侧的完整地址,
并且它们优先于任何“localdomains”、“aka”、“via”或类似的映射。

当您的用户名在
客户端机器与您在邮件服务器上的名字不同。 当只有一个
本地名称,无论消息的接收情况如何,邮件都会转发到该本地用户名,
收件人、抄送和密件抄送标头。 在这种情况下, 取件 从不进行 DNS 查找。

当有多个本地名称(或名称映射)时, 取件 看着信封
标头(如果已配置),否则在检索的 Received、To、Cc 和 Bcc 标头中
邮件(这是“多点模式”)。 它查找主机名部分匹配的地址
您的投票名称或您的“via”、“aka”或“localdomains”选项,通常也用于
DNS 告诉它的主机名部分是邮件服务器的别名。 见讨论
'dns'、'checkalias'、'localdomains' 和 'aka' 了解如何匹配地址的详细信息
处理。

If 取件 无法匹配任何邮件服务器用户名或本地域地址,邮件将
被弹跳。 通常它会被退回给发件人,但如果 'bouncemail' 全局
选项关闭,邮件将转到本地邮局管理员。 (见“邮政局长”
全局选项)。 另请参阅错误。

'dns' 选项(通常打开)控制来自多点邮箱的地址的方式
检查。 打开,它启用逻辑来检查每个与“aka”不匹配的主机地址或
'localdomains' 声明通过使用 DNS 查找。 当邮件服务器用户名是
识别附加到匹配的主机名部分,其本地映射被添加到列表中
本地收件人。

'checkalias' 选项(通常关闭)扩展了由 'dns' 关键字执行的查找
在多点模式下,提供了一种处理远程 MTA 的方法,这些 MTA 使用
他们的规范名称,而他们使用别名轮询。 当轮询这样的服务器时,
检查以提取信封地址失败,并且 取件 使用
To/Cc/Bcc 标头(请参阅下面的“标头与信封地址”)。 指定此选项
指示 取件 检索与轮询名称关联的所有 IP 地址
和远程 MTA 使用的名称并比较 IP 地址。 这个
在远程服务器频繁使用规范名称的情况下派上用场
更改,否则将需要修改 rcfile。 'checkalias' 没有
如果在 rcfile 中指定了“无 dns”,则效果。

'aka' 选项用于多点邮箱。 它允许您预先声明一个列表
服务器的 DNS 别名。 这是一个优化技巧,可让您交易空间
为了速度。 什么时候 取件, 在处理多点邮箱时,通过消息低头
寻找邮件服务器名称的标头,预先声明常见的可以将其从
必须做 DNS 查找。 注意:作为参数给 'aka' 的名称匹配为
后缀——如果你指定(比如)'aka netaxs.com',这将不仅仅匹配主机名
netaxs.com,但任何以“.netaxs.com”结尾的主机名; 例如(比如说)pop3.netaxs.com
和 mail.netaxs.com。

'localdomains' 选项允许您声明 fetchmail 应该使用的域列表
考虑当地。 当 fetchmail 在多点模式下解析地址行时,
主机名的尾随部分与声明的本地域匹配,该地址被传递
通过监听器或 MDA 不变(本地名称映射是 而不去 应用)。

如果您使用的是“localdomains”,您可能还需要指定“无信封”,即
禁用 取件从 Received 行推断信封地址的正常尝试
或 X-Envelope-To 标头或任何先前由 'envelope' 设置的标头。 如果你
在默认条目中设置“无信封”,可以在单个条目中撤消该设置
通过使用'信封'。 作为一种特殊情况,'envelope "Received"' 恢复了
接收行的默认解析。

- 密码 选项需要一个字符串参数,它是要与
入口的服务器。

'preconnect' 关键字允许您指定要在之前执行的 shell 命令
粉末 取件 建立邮件服务器连接。 如果您是,这可能很有用
尝试借助以下工具建立安全的 POP 连接 SSH(1). 如果命令
返回非零状态,该邮件服务器的轮询将被中止。

类似地,'postconnect' 关键字同样允许你指定一个 shell 命令
每次删除邮件服务器连接后立即执行。

'forcecr' 选项控制是否仅由 LF 终止的行被赋予 CRLF
转发前终止。 严格来说 RFC821 需要这个,但很少有 MTA
强制要求它,所以这个选项通常是关闭的(只有一个这样的 MTA,qmail,在
在撰写本文时大量使用)。

'stripcr' 选项控制是否从检索到的邮件中删除回车
在转发之前。 通常不需要设置它,因为它默认为
'on'(启用 CR 剥离)当有 MDA 声明但“关闭”(CR 剥离
禁用)当通过 SMTP 转发时。 如果 'stripcr' 和 'forcecr' 都打开,则 'stripcr'
将覆盖。

'pass8bits' 选项的存在是为了应对 Microsoft 邮件程序愚蠢地拍打
“内容传输编码:7 位”。 关闭此选项(默认)并
存在这样的标题, 取件 向支持 ESMTP 的侦听器声明 BODY=7BIT; 这个
导致实际使用 8 位 ISO 或 KOI-8 字符集的消息出现问题,这将
通过剥离所有字符的高位来乱码。 如果“pass8bits”开启,
取件 强制向任何支持 ESMTP 的侦听器声明 BODY=8BITMIME。 如果
监听器是 8 位干净的(就像现在所有主要的一样)正确的事情可能会
结果。

'dropstatus' 选项控制是否为非空 Status 和 X-Mozilla-Status 行
保留在提取的邮件中(默认)或丢弃。 保留它们可以让您的 MUA
查看服务器上标记了哪些消息(如果有)。 另一方面,它可以
混淆一些新邮件通知程序,它们假设任何带有状态行的东西都有
被看见了。 (注意:一些有问题的 POP 服务器插入的空状态行是
无条件放弃。)

'dropdelivered' 选项控制是否将 Delivered-To 标头保留在 fetched 中
邮件(默认)或丢弃。 这些标题是由 Qmail 和 Postfix 邮件服务器添加的
为了避免邮件循环,但如果您尝试“镜像”邮件服务器,则可能会妨碍您
同域内。 谨慎使用。

'mimedecode' 选项控制是否使用带引号的可打印编码的 MIME 消息
自动转换为纯 8 位数据。 如果您将邮件传送到 ESMTP-
有能力的 8 位干净的侦听器(包括所有主要的 MTA,如 sendmail),然后
这将自动将带引号的可打印消息头和数据转换为 8 位数据,
阅读邮件时更容易理解。 如果您的电子邮件程序知道如何处理
对于 MIME 消息,则不需要此选项。 mimedecode 选项被关闭
默认,因为对标头进行 RFC2047 转换会丢弃字符集信息
如果标头的编码与正文编码不同,则可能会导致不良结果。

'idle' 选项旨在与支持 RFC2177 IDLE 的 IMAP 服务器一起使用
命令扩展名,但并不严格要求它。 如果启用,则 fetchmail
检测到支持 IDLE,将在每次轮询结束时发出 IDLE。 这会
告诉 IMAP 服务器保持连接打开并在有新邮件时通知客户端
可用的。 如果不支持 IDLE,fetchmail 会通过定期发出来模拟它
没有。 如果需要频繁轮询某个链接,IDLE 可以通过消除 TCP/IP 来节省带宽
连接和登录/注销序列。 另一方面,一个空闲连接几乎会吃掉
您所有 fetchmail 的时间,因为它永远不会断开连接并允许其他
除非服务器超时 IDLE,否则轮询会发生。 它也不适用于多个
文件夹; 只会轮询第一个文件夹。

'properties' 选项是一种扩展机制。 它接受一个字符串参数,即
被 fetchmail 本身忽略。 字符串参数可用于存储配置
需要它的脚本的信息。 特别是'--configdump'的输出
选项将使与用户条目关联的属性对 Python 随时可用
脚本。

其他 运行 通过积极争取让商标与其相匹配的域名优先注册来维护 可选项
“这里”和“那里”这两个词具有类似英语的有用意义。 通常'用户 eric
is esr' 意味着远程用户 'eric' 的邮件将被传送到 'esr',但是
您可以通过说“user eric there is esr here”来更清楚地说明这一点,或者说相反
'这里的用户 esr 是那里的 eric'

与“protocol”关键字一起使用的合法协议标识符是:

auto(或 AUTO)(遗留,将从未来版本中删除)
pop2(或 POP2)(遗留,将从未来版本中删除)
pop3(或 POP3)
sdps(或 SDPS)
imap(或 IMAP)
流行音乐(或流行音乐)
韩流(或韩流)

合法的身份验证类型是“any”、“password”、“kerberos”、“kerberos_v4”、“kerberos_v5”
和 'gssapi'、'cram-md5'、'otp'、'msn'(仅适用于 POP3)、'ntlm'、'ssh'、'external'(仅适用于
IMAP)。 'password' 类型指定通过密码的正常传输进行身份验证
(密码可以是纯文本或受协议特定加密的约束,如 CRAM-
MD5); 'kerberos' 告诉 取件 尝试在每个开始时获得 Kerberos 票证
改为查询,并发送任意字符串作为密码; 'gssapi' 告诉 fetchmail
使用 GSSAPI 身份验证。 有关更多信息,请参阅“auth”关键字的说明。

指定“kpop”会通过 Kerberos V3 身份验证通过端口 1109 设置 POP4 协议。
这些默认值可能会被后面的选项覆盖。

有一些全局选项语句: 'set logfile' 后跟一个字符串设置相同
全局由 --logfile 指定。 命令行 --logfile 选项将覆盖它。 笔记
--logfile 仅在 fetchmail 将自身与终端分离并且
logfile 在运行 fetchmail 之前已经存在,在这种情况下它会覆盖 --syslog。
此外,'set daemon' 将轮询间隔设置为 --daemon 所做的。 这可以被覆盖
命令行 --daemon 选项; 特别是 --daemon 0 可用于强制前台
手术。 'set postmaster' 语句设置多投邮件的地址
如果没有本地匹配项,则为默认值。 最后,'set syslog' 将日志消息发送到
syslogd的(8)。

调试 取件


提取邮件 崩溃
fetchmail 可能“崩溃”的方式有很多种,即突然停止运行和
不料。 “崩溃”通常是指软件没有出现的错误情况
自己处理。 众所周知的故障模式是“分段故障”或“信号 11”或
“SIGSEGV”或简称为“segfault”。 这些可能是由硬件或软件引起的
问题。 软件引起的段错误通常可以很容易地复制
位置,而如果计算机重新启动,硬件引起的段错误可能会消失,或者
断电几个小时,即使您使用
软件一样。

解决硬件引起的segfaults,找到故障组件并修复或更换
它。 Sig11 常见问题解答 ⟨http://www.bitwizard.nl/sig11/⟩ 可能会帮助您了解详情。

为了解决软件引起的段错误,开发人员可能需要“堆栈回溯”。

启用 取件 核心 转储
默认情况下,fetchmail 禁止核心转储,因为它们可能包含密码和其他
敏感的信息。 为了调试 fetchmail 崩溃,从
核心转储通常是解决问题的最快方法,并且在发布您的问题时
在邮件列表中,开发人员可能会要求您提供“回溯”。

1. 为了获得有用的回溯,fetchmail 需要安装而不被剥离
它的编译符号。 不幸的是,大多数安装的二进制包都是
剥离,并且来自符号剥离程序的核心文件毫无价值。 所以你可能需要
重新编译fetchmail。 在许多系统上,您可以键入

文件`which fetchmail`

找出 fetchmail 是否被符号剥离。 如果你的没有被剥离,很好,
继续,如果它被剥离,你需要先重新编译源代码。 你不
通常需要安装 fetchmail 才能调试它。

2、启动fetchmail的shell环境需要开启core dumps。 关键是
“最大核心(文件)大小”,通常可以使用名为“limit”的工具进行配置或
“超限”。 有关详细信息,请参阅您的 shell 的文档。 在流行的 bash shell 中,
“ulimit -Sc unlimited”将允许核心转储。

3. 您还需要告诉 fetchmail 允许核心转储。 为此,请运行 fetchmail
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -d0 -v 选项。 添加通常更容易 --nosyslog -N 以及。

最后,您需要重现崩溃。 您可以从目录中启动 fetchmail
你通过键入编译它的地方 ./fetchmail,所以完整的命令行将以
./fetchmail -NVD0 --nosyslog 并可能列出您的其他选项。

崩溃后,运行调试器以获取核心转储。 调试器通常是
GNU GDB,然后您可以键入(根据需要调整路径) GDB ./fetchmail fetchmail.core
然后,在 GDB 启动并读取其所有文件后,键入 回溯 , 保存
输出(复制和粘贴就可以了,回溯将由人类读取)然后输入 退出
离开 gdb。 请注意: 在某些系统上,核心文件有不同的名称,它们可能包含
一个数字而不是程序名称,或数字和名称,但它通常会有“核心”
作为他们名字的一部分。

相互作用 RFC 822


在尝试确定消息的原始地址时,fetchmail 会查看
标题按以下顺序排列:

返回路径:
Resent-Sender:(如果它不包含 @ 或 !)
发件人:(如果它不包含 @ 或 !)
重发自:
起步价
回复:
显然-来自:

原始地址用于日志记录,并在以下情况下设置 MAIL FROM 地址
转发到 SMTP。 此命令旨在优雅地处理接收邮件列表
多点模式下的消息。 目的是,如果本地地址不存在,则
退回邮件不会盲目地返回给作者或列表本身,而是
到列表管理器(不那么烦人)。

在多点模式下,目标头的处理方式如下: 首先,fetchmail 查找
对于由 'envelope' 选项指定的标题,以确定本地
收件人地址。 如果邮件发送给多个收件人,则 Received 行
不会包含任何有关收件人地址的信息。

然后 fetchmail 查找 Resent-To:、Resent-Cc: 和 Resent-Bcc: 行。 如果他们
存在,它们应该包含最终接收者并优先于他们的
收件人:/抄送:/密件抄送:对应方。 如果 Resent-* 行不存在,则 To:、Cc:、Bcc: 和
Apparently-To:正在查找行。 (Resent-To: 的存在意味着
收件人:地址所指的人已经收到了原件
邮件。)

配置 示例


请注意,虽然在下面的许多示例中都有密码声明,
这主要是为了说明目的。 我们建议将帐户/密码对存放在
您的 $HOME/.netrc 文件,它们不仅可以通过 fetchmail 使用,还可以通过 FTP(1)和
其他程序。

基本格式为:

英寸 服务器名称 协议 外交协定 用户名 您的姓名 密码 密码

计费示例:

poll pop.provider.net 协议 pop3 用户名“jsmith” 密码“secret1”

或者,使用一些缩写:

poll pop.provider.net proto pop3 用户“jsmith”密码“secret1”

可能会列出多个服务器:

poll pop.provider.net proto pop3 用户“jsmith”通过“secret1”
轮询 other.provider.net proto pop2 用户“John.Smith”通过“My^Hat”

这是带有更多空格和一些干扰词的相同版本:

投票 pop.provider.net proto pop3
用户“jsmith”,密码为secret1,这里是“jsmith”;
轮询 other.provider.net proto pop2:
用户“John.Smith”,密码“My^Hat”,这里是“John.Smith”;

如果您需要在参数字符串中包含空格或后者以数字开头,
用双引号将字符串括起来。 因此:

使用 proto pop3 轮询 mail.provider.net:
用户“jsmith”有密码“4u但你不能krak这个”
在这里是 jws 并且想要 mda "/bin/mail"

您可能有一个以关键字“defaults”开头的初始服务器描述,而不是
'pol' 后跟一个名字。 这样的记录被解释为所有查询的默认值
用。 它可能会被单个服务器描述覆盖。 所以,你可以写:

默认原型 pop3
用户“jsmith”
民意调查 pop.provider.net
传递“secret1”
投票邮件.provider.net
用户“jjsmith”有密码“secret2”

可以为每台服务器指定多个用户。 “用户”关键字导致
用户描述,并且多用户条目中的每个用户规范都必须包含它。
下面是一个例子:

poll pop.provider.net proto pop3 端口 3111
用户“jsmith”通过“secret1”在这里是“smith”
通过“secret2”的用户琼斯是“jjones”,请保留

这将本地用户名“smith”与 pop.provider.net 用户名“jsmith”相关联,并且
本地用户名“jjones”和 pop.provider.net 用户名“jones”。 给“琼斯”的邮件
下载后保存在服务器上。

多站邮箱的简单检索配置如下所示:

民意调查 pop.provider.net:
用户 maildrop 将 secret1 传递给 golux 'hurkle'='happy' snark

这表示服务器上帐户“maildrop”的邮箱是一个多投箱,并且
其中的消息应该被解析为服务器用户名“golux”、“hurkle”和
'snark'。 它进一步指定“golux”和“snark”在客户端上具有相同的名称
与在服务器上一样,但服务器用户“hurkle”的邮件应发送给客户端用户
'快乐的'。

备注取件, 直到 6.3.4 版本,才允许完整的 user@domain 规范
在这里,这些永远不会匹配。 提取邮件 6.3.5 及更新版本支持 user@domain
用户映射左侧的规范。

这是另一种多点连接的示例:

民意调查 pop.provider.net localdomains loonytoons.org toons.org
信封 X-Envelope-To
用户 maildrop 将 secret1 传递给 * 这里

这也说明服务器上帐户“maildrop”的邮箱是一个多投箱。
它告诉 fetchmail loonytoons.org 或 toons.org 域中的任何地址(包括
子域地址,如“[电子邮件保护]') 应该传递给
本地 SMTP 侦听器,无需修改。 如果您这样做,请小心邮件循环!

这是使用 ssh 和插件选项的示例配置。 进行了查询
通过 ssh 直接在 imapd 的标准输入和标准输出上。 请注意,在此设置中,IMAP
可以跳过身份验证。

使用 proto imap 轮询 mailhost.net:
插件 "ssh %h /usr/sbin/imapd" auth ssh;
用户 esr 是这里的 esr

用途 AND 滥用 OF 多滴 邮箱


谨慎使用多个本地收件人功能 - 它可能会咬人。 所有多点
功能在 ETRN 和 ODMR 模式下无效。

另请注意,在多投模式下,重复邮件会被抑制。 一封邮件是
如果它与紧接在前面的消息具有相同的消息 ID,则认为是重复的
和不止一个收件人。 此类消息运行可能会在
发送给多个用户的消息被传送到多投箱。

标题 信封 地址
根本问题是,通过让您的邮件服务器将几个人的邮件扔到一个
单个邮箱,您可能已经丢弃了有关每个人的潜在重要信息
邮件实际上是寄往(“信封地址”,而不是标题
RFC822 To/Cc 标头中的地址 - Bcc 在接收端不可用)。
这个“信封地址”是您正确重新路由邮件所需的地址。

有时 取件 可以推导出信封地址。 如果邮件服务器 MTA 是 发邮件
并且邮件只有一个收件人,MTA 会写一个“by/for”条款
将信封收件人放入其 Received 标头中。 但这并不可靠
对于其他 MTA,如果收件人不止一个。 默认情况下, 取件 寻找
这些行中的信封地址; 您可以使用 -E "Received" 或
'收到信封'。

As a 更好 另类 一些 SMTP 侦听器和/或邮件服务器在每个
包含信封地址副本的消息。 这个标题(当它存在时)是
通常是“X-Original-To”、“Delivered-To”或“X-Envelope-To”。 Fetchmail 的假设
这可以用 -E 或 'envelope' 选项改变。 注意写信封
这种标题将收件人(包括密件收件人)的姓名暴露给
消息的所有接收者,因此上游必须存储每个消息的一个副本
收件人以避免成为隐私问题。

从 2.0 版开始,Postfix 会写入一个 X-Original-To: 标头,其中包含
收到的信封。

Qmail 和 Postfix 通常在将邮件发送至
邮件假脱机并使用它来避免邮件循环。 Qmail 虚拟域但是将前缀
带有通常与用户域匹配的字符串的用户名。 删除此前缀
您可以使用 -Q 或 'qvirtual' 选项。

有时,不幸的是,这两种方法都不起作用。 这就是当你
应该联系您的 ISP 并要求他们提供这样的信封头,您应该
在这种情况下不要使用多点。 当它们都失败时,fetchmail 必须依靠
To/Cc 标头的内容(密件抄送标头不可用 - 见下文)以尝试确定
收件人——这些是不可靠的。 特别是邮件列表软件
通常发送的邮件在 To 标头中只包含列表广播地址。

备注 a 未来 版本 of 取件 五月 去掉 收件人/抄送 解析!

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 取件 无法推断出本地收件人地址和预期收件人
地址是 fetchmail 的调用用户以外的任何人, mail 得到 丢失。 这是什么
如果没有正确的包络信息,使多点功能具有风险。

一个相关的问题是,当您对邮件消息进行盲抄时,密件抄送信息是
进行 仅由 作为信封地址(它通过发送邮件从标题中删除
服务器,因此 fetchmail 只有在有 X-Envelope-To 标头时才能看到它)。 于是,盲——
复制给通过 fetchmail multidrop 链接接收邮件的人将失败,除非
邮件服务器主机通常将 X-Envelope-To 或等效标头写入
你的邮箱。

In 结论, 邮件 名单 密送 mail 能够 仅由 工作 if 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 服务器 你是 正在取得


(1) 商店 一种 复制 of 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 消息 接受者 in 您的

(2) 记录 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 信封 信息 in a 特别 (X-原始到, 送到了(送去了,
X-信封到)。

方法 使用 VHDL 语言编写 多点 邮箱
多个本地名称可用于从客户端管理邮件列表
取件 收藏。 假设您的名字是“esr”,并且您想同时拿起自己的名字
邮件并维护一个名为(例如)“fetchmail-friends”的邮件列表,并且您希望保留
客户端计算机上的别名列表。

在您的服务器上,您可以将“fetchmail-friends”别名为“esr”; 那么,在你的 .fetchmailrc,
在这里声明“到 esr fetchmail-friends”。 然后,当邮件包含 'fetchmail-friends' 作为
获取本地地址,列表名称将附加到收件人列表
您的 SMTP 侦听器可以看到。 因此,它将在本地进行别名扩展。 务必
在 fetchmail-friends 的本地别名扩展中包含 'esr',否则你将永远看不到邮件
只发送到列表。 还要确保您的听众设置了“我也是”选项
(sendmail 的 -oXm 命令行选项或 OXm 声明)所以您的名字不会从
您发送的消息中的别名扩展。

然而,这个技巧并非没有问题。 当一条消息时,您将开始看到这一点
进来的是只针对你做的邮件列表 而不去 已宣布为本地
姓名。 每条此类消息都将包含一个生成的“X-Fetchmail-Warning”标头
因为 fetchmail 在收件人地址中找不到有效的本地名称。 这样的
消息默认(如上所述)被发送到本地用户运行
取件,但程序无法知道这实际上是正确的。

方法 滥用 多点 邮箱
多点邮箱和 取件 在守护进程模式下为多个用户提供服务不要混用。 这
问题又是来自邮件列表的邮件,通常没有个人
收件人地址就可以了。 除非 取件 可以推断出一个信封地址,这样的邮件会
只转到运行 fetchmail 的帐户(可能是 root)。 此外,盲抄用户
很可能根本就看不到他们的邮件。

如果你想使用 取件 从单个邮件中检索多个用户的邮件
通过 POP 或 IMAP 删除,再想一想(并重新阅读有关标题和信封地址的部分
以上)。 让邮件坐在邮件服务器的队列中并使用会更聪明
fetchmail 的 ETRN 或 ODMR 模式来触发 SMTP 定期发送(当然,这意味着
您必须比邮件服务器的到期时间更频繁地轮询)。 如果你不能
安排一下,尝试设置一个 UUCP 提要。

如果绝对 必须 为此目的使用 multidrop,请确保您的邮件服务器写入
fetchmail 可以看到的信封地址标头。 否则你 丢失邮件和它
回来缠着你。

超速 Up 多点 检查
通常,当声明多个用户时 取件 提取收件人地址为
如上所述并使用 DNS 检查每个主机部分以查看它是否是
邮件服务器。 如果是这样,则完成“to ... here”声明中描述的名称映射
并在本地交付邮件。

这是一种方便但也很慢的方法。 为了加快速度,预先声明邮件服务器别名
用'又名'; 在完成 DNS 查找之前检查这些。 如果你确定你的 aka
列表包含 所有 邮件服务器的 DNS 别名(以及指向它的所有 MX 名称 - 注意
这可能会在未来版本中改变)您可以声明“无 dns”来抑制 DNS 查找
完全和 仅由 匹配 aka 列表。

袜子


对socks4/5 的支持是 配置选项。 编译后,fetchmail
将始终使用系统上的袜子库和配置,没有运行-
fetchmail 中的时间切换 - 但您仍然可以配置 SOCKS:您可以指定哪个
SOCKS 配置文件用于 SOCKS_CONF 环境变量。

例如,如果您想完全绕过 SOCKS 代理并使用 fetchmail
直接连接,你可以只在环境中传递 SOCKS_CONF=/dev/null ,例如
(将您常用的命令行选项 - 如果有 - 添加到此行的末尾):

环境 SOCKS_CONF=/dev/null fetchmail

退出 编码


为了方便使用 取件 在 shell 脚本中,退出状态代码返回到
给出在给定连接期间发生了什么的指示。

返回的退出代码 取件 如下面所述:

0 成功检索到一条或多条消息(或者,如果 -c 选项是
选择,发现等待但未检索)。

1 没有等待检索的邮件。 (可能有旧邮件仍在
服务器但未选择检索。)如果您不希望“无邮件”成为错误
条件(例如,对于 cron 作业),使用符合 POSIX 的 shell 并添加

|| [$? -eq 1]

到 fetchmail 命令行的末尾,注意这会留下 0 不变,映射 1
到 0,并将所有其他代码映射到 1。另见常见问题解答中的 #C8 项。

2 尝试打开套接字以检索邮件时遇到错误。 如果你
不知道套接字是什么,别担心——只要把它当作一个
'不可恢复的错误'。 这个错误也可能是因为协议 fetchmail 想要
/etc/services 中未列出要使用的内容。

3 用户认证步骤失败。 这通常意味着错误的用户 ID,
密码,或指定了 APOP id。 或者这可能意味着您尝试运行 fetchmail
在它没有连接到终端的标准输入的情况下
无法提示丢失密码。

4 检测到某种致命的协议错误。

5 参数中有语法错误 取件,或连接前或连接后
命令失败。

6 运行控制文件有错误的权限。

7 服务器报告了错误情况。 也可以开火 取件
等待服务器时超时。

8 客户端排除错误。 这意味着 取件 要么找到了另一个副本
本身已经在运行,或者以某种方式失败,以至于不确定另一个
副本正在运行。

9 用户验证步骤失败,因为服务器响应“lock busy”。 尝试
短暂的停顿后再次! 并非所有协议都实现此错误,也不
对于所有服务器。 如果没有为您的服务器实现,则将返回“3”,
看上面。 与 qpopper 或其他可以的服务器交谈时可能会返回
回复“lock busy”或一些包含“lock”一词的类似文本。

该10 取件 尝试打开 SMTP 端口或进行事务时运行失败。

11 致命的 DNS 错误。 Fetchmail 在执行 DNS 查找时遇到错误
启动,无法继续。

12 无法打开 BSMTP 批处理文件。

13 轮询因获取限制而终止(请参阅 --fetchlimit 选项)。

14 服务器忙指示。

23 内部错误。 您应该会看到有关标准错误的详细信息。

24 - 26、28、29
这些是内部代码,不应出现在外部。

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 取件 查询多个主机,如果返回状态为 0 任何 查询成功
取回的邮件。 否则返回的错误状态是最后查询的主机的错误状态。

使用 onworks.net 服务在线使用 fetchmailconf


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。