POP3経由でアクセスできるメールアドレスを持っていますが、めったに使用しません。かなりのメールを受信しますが。このアカウントに転送機能を使用できません。
それでも、受信メールをiCloudアカウントに転送したい。
私はどこかで専用のルートサーバーを実行しています。たとえば、fetchmailを実行してPOP3サーバーからメールを収集し、それを使って何かを行うことができます。問題は、fetchmail(または他のプログラム)がそのメールを私のiCloudアカウントに直接転送できるかということです。
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を調べる必要があります。
認証されたSMTPをiCloudで使用しようとしたので、MXで自分のドメインを使用する必要はありませんが、それは機能しませんでした。 iCloudは5505.7.0エラーでメールを拒否しました:差出人メールアドレスが一致しませんでした(もちろん、私が他の人から受け取ったメールにも当てはまります)。
また、上記の例は、SSL証明書の場所を想定して、Debian安定版で実行されます。これと、一般的なTLSおよびSSLの動作を微調整する必要がある場合があります。
ただし、このセットアップは、私が役立つのに十分に実行されます。 fetchmail
ポーリングには5分の遅延がありますが、それは問題ありません。
ローカルの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]