在家庭服务器上使用本地 Postfix 获取邮件

在家庭服务器上使用本地 Postfix 获取邮件

一个小问题...我有一个完全配置的 postfix 服务器,它有几个域、几个用户等等。

然后我有一个智能主机,它接收所有邮件并发送所有邮件。例如 1and1.com 或类似的托管服务商。

HomeServer postfix 将此托管配置为 SmartHost (= RelayHost)。这样所有外发邮件都将通过此托管发送。

对于传入邮件,我有一个用于此托管的外部 POP3 帐户。就像是[电子邮件受保护]

通过 fetchmail,我想检索所有邮件,并通过 POSTFIX 发送给本地用户。 (或者直接用鸽子!?)

因此 POP3 帐户包含如下邮件:“FROM:[电子邮件受保护]\n RCPT 至:[电子邮件受保护]

fetchmail 应检索此邮件并“发送”/转发/将邮件保存在具有邮件地址的用户的收件箱中”[电子邮件受保护]”。

fetchmail的配置:

set daemon        300                # Pool every 5 minutes
set syslog                        # log through syslog facility
set postmaster  root

set no bouncemail                # avoid loss on 4xx errors
defaults:
timeout 300
antispam -1
batchlimit 100

poll pop.1and1.com protocol POP3 user "*@example.org" there with password "Passw0rd!" ssl fetchall

日志说:

Nov 16 18:20:23 core fetchmail[61595]: 3 Messages for *@example.org on pop.1and1.com (21260 Bytes).
Nov 16 18:20:23 core fetchmail[61595]: Message *@[email protected]:1 of 3 (3907 Bytes) deleted
Nov 16 18:20:23 core postfix/local[56731]: 294BE15C0866: to=<fetchmail@localhost>, relay=local, delay=0.42, delays=0.27/0/0/0.15, dsn=2.0.0, status=sent (delivered to mailbox)
Nov 16 18:20:23 core fetchmail[61595]: Message *@[email protected]:2 of 3 (4516 Bytes) deleted
Nov 16 18:20:23 core postfix/local[56575]: 7496F15C0876: to=<fetchmail@localhost>, relay=local, delay=0.3, delays=0.27/0/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)
Nov 16 18:20:23 core fetchmail[61595]: Message *@[email protected]:3 of 3 (12837 Bytes) deleted
Nov 16 18:20:24 core postfix/local[56731]: C11DC15C0866: to=<fetchmail@localhost>, relay=local, delay=0.24, delays=0.2/0/0/0.04, dsn=2.0.0, status=sent (delivered to mailbox)

预先感谢您的任何想法!

答案1

以此解决。

poll pop.1and1.com
  protocol POP3
  envelope "Delivered-To:"
  localdomains example.org
  user "*@example.org" there
  with password "Passw0rd!"
  is * here
  smtpaddress localhost
  ssl
  fetchall

然后postfix接收所有邮件并处理正确的邮箱。 (有趣的是:您可以将获取的邮件重定向到互联网:D:D)

但感谢@Lambert 的想法。我读到了有关 mda 的内容,不知道它是否有用,而且“这里是本地用户”也不起作用。

答案2

您可以fetchmail通过以下方式指示哪个是远程用户,哪个是本地用户:

poll pop.1and1.com protocol POP3:
    user "[email protected]" there with password "Passw0rd!" ssl fetchall
    is local-user here

也可以使用另一个 mda:

poll pop.1and1.com protocol POP3:
    user "[email protected]" there with password "Passw0rd!" ssl fetchall
    is local-user here and wants mda /path/to/mda

相关内容