我正在尝试在我的 OSX 10.5.6 机器上配置 fetchmail。我已将 .fetchmailrc 设置如下:
poll my.mailserver.com with proto IMAP
timeout 30
user "username" is "username" here options ssl keep
我正在使用 .netrc 文件来存储我的用户名/密码,如下所示:
machine my.mailserver.com
login username
password secret
但是,当我运行 fetchmail 时出现以下错误:
reading message [email protected]:1 of 458 (4436 octets)
fetchmail: timeout after 30 seconds waiting for listener to respond.
fetchmail: socket error while fetching from [email protected] and delivering to SMTP host localhost
fetchmail: Query status=2 (SOCKET)
fetchmail: Server certificate verification error: unable to get local issuer certificate
fetchmail: Server certificate verification error: certificate not trusted
fetchmail: Server certificate verification error: unable to verify the first certificate
fetchmail: Error exchanging credentials
看来 fetchmail 可以正常登录,但是无法向 postfix 传送任何内容(我已通过 telnet 到 localhost:25 验证它已启动并正在运行)。
接下来,我使用 -vv 标志调用 fetchmail 来获取有关正在发生的事情的一些额外信息。我注意到以下奇怪的消息:
Trying to connect to 208.97.132.126/25...fetchmail: timeout after 5 seconds waiting for listener to respond.
fetchmail: 6.3.8 querying my.mailserver.com (protocol POP3) at Tue, 14 Jul 2009 18:20:09 +1000 (EST): poll completed
fetchmail: discarding new UID list
fetchmail: Query status=2 (SOCKET)
该 IP 地址非常奇怪。fetchmail 难道不应该只尝试连接到本地主机来传递消息吗?快速 nslookup 显示目标主机域是 jankymail-mx1.g.dreamhost.com。这是什么鬼?
顺便说一下,这一切都是通过开箱即用的 fetchmail 安装实现的——这是一台全新的 iMac!有人知道发生了什么或者我做错了什么吗?
答案1
添加选项:smtphost localhost
或者甚至smtphost 127.0.0.1
告诉它发送到本地主机。我不知道为什么它默认为其他选项(这是您的整个 fetchmail 配置吗?)。
实际上,这可能是它试图使用 ETRN 或其他东西;该 IP 解析为 jankymail-mx1.g.dreamhost.com......这是您的邮件服务器吗?
此外,如果证书是自签名的或者与主机名不匹配,则可能需要sslcommonname
或选项。sslfingerprint