我有一个可以通过 POP3 访问的电子邮件地址,但我很少使用。尽管它收到了相当多的电子邮件。我无法使用此帐户的转发功能。
但我想将收到的邮件转发到我的 iCloud 帐户。
我确实在某处运行了一个专用根服务器,例如,它可以运行 fetchmail 从 POP3 服务器收集邮件并对其执行某些操作。问题是,fetchmail(或其他程序)可以直接将该电子邮件转发到我的 iCloud 帐户吗?
答案1
我让它与fetch mail
和 一起工作msmtp
。我的目标是iCloud,所以我将留在iCloud的MX中。首先是.fetchmailrc
:
poll pop.gmx.net
with proto POP3
user "user@pop-server"
there with password "secretpassword"
mda "/usr/bin/msmtp -- [email protected]"
options
no keep
ssl
sslcertck
sslcertpath /etc/ssl/certs
set daemon 300
然后.msmtprc
:
account default
host mx6.mail.icloud.com
port 25
auto_from off
from "user@localdomain"
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
domain mx.of.localdomain
显然,只有当您拥有自己的域(在我的示例中称为本地域)的 MX 时,这才有效。此外,如果您的目标不是 iCloud,则需要查找其 MX。
我尝试在 iCloud 中使用经过身份验证的 SMTP,这样我就不需要使用自己的域及其 MX,但这不起作用。 iCloud 将拒绝邮件并显示 550 5.7.0 错误:发件人邮件地址不匹配(对于我从其他人收到的邮件来说当然也是如此)。
此外,上面的示例在 Debian 稳定版上运行,假设 SSL 证书位于某些位置。您可能需要调整这一点以及一般 TLS 和 SSL 行为。
然而,这个设置运行得足够好,对我来说很有用。投票有 5 分钟的延迟fetchmail
,但没关系。
答案2
如果您运行本地 smtp 服务器,这非常有效:
set daemon 300
poll pop.remote.tld tracepolls proto pop3 uidl auth password port 110 timeout 60
user "your_username" keep pass "youpassword" smtpname [email protected]