我需要将本地 MTA 收到的邮件投递到(远程)IMAP 邮箱。有没有什么工具可以做到这一点?
我无法通过 SMTP 传递邮件,因为远程系统的垃圾邮件过滤器等限制太严格,并且不可靠地允许“简单”邮件转发。
本地 MTA 是 exim4。这不太可能改变,但我愿意听取建议(这是我的个人服务器)。除了 IMAP 帐户之外,我没有其他远程系统的访问权限。
我知道 offlineimap 和类似的程序;但我的目标是不是将邮件存储在本地。
答案1
最直接的方法可能是使用ssh
当地的送货代理。
您必须通过以下方式修改路由器以进行本地传送:
begin routers
. . . . .
local:
driver = accept
domains = +local_domains
transport = remote_delivery
. . . . .
和运输:
begin transports
. . . . .
remote_delivery:
driver = pipe
command = /path/to/ssh -i /path/rsa_key [email protected] \
deliver -d \$local_part@\$domain -f \$sender_address
. . . . .
每次本地 MTA 想要在本地传递邮件时,remote_delivery
传输都会被激活。ssh
将与远程主机建立密钥文件授权的连接,然后调用该deliver
实用程序,然后将邮件传递给其stdin
。然后该deliver
实用程序将完成所有其余工作。