如何将电子邮件从 POP3 帐户转发到另一个 SMTP 或 IMAP 帐户?

如何将电子邮件从 POP3 帐户转发到另一个 SMTP 或 IMAP 帐户?

我有一个可以通过 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]

相关内容