我有一个名为 user/nrahl 的 cyrus 邮箱。如果我从服务器本身使用“邮件”命令,然后键入:
mail nrahl
要发送消息,消息会神奇地出现在我的 Thunderbird IMAP 收件箱中。但是我需要将来自 POP3 帐户的消息发送到 Cyrus 以进行传递,并且传入的消息会发送到“[email protected]”。
我已经设置并运行了 fetchmail,它正在从 POP3 帐户下载邮件,并将它们传递到 Postfix。Postfix(现在我已经在 /etc/alias 中设置了别名)正在接受消息,并将其传递给 Cyrus 套接字。
但问题是:Cyrus 拒绝了带有 550 - 邮箱未知错误的消息。
/var/log/mail.log 中的实际消息是:
Apr 17 16:56:57 IMAP cyrus/lmtpunix[5640]: verify_user(user.fetchmail) failed: 邮箱不存在 Apr 17 16:56:57 IMAP postfix/lmtp[5561]: CFFD61556BD: to=, relay=localhost[/var/run/cyrus/socket/lmtp], delay=0.08, delays=0.07/0/0/0.01, dsn=5.1.1, status=bounced (host localhost[/var/run/cyrus/socket/lmtp] said: 550-Mailbox unknown. 要么没有与这个 550-name 关联的邮箱,要么你没有权限查看550 5.1.1 用户未知(回复 RCPT TO 命令))
看起来它正在尝试将 nrahl 的所有邮件转发到 postfix@localhost,而不是 nrahl@localhost,我不知道为什么。我需要它将发往 [email protected] 的邮件转发到 Cyrus 的“nrahl”邮箱。
去吧!
好的,所以当您使用 fetchmail 时,您在 fetchmail 配置 (/etc/fetchmailrc) 中定义“别名”(本地用户名),而不是在 /etc/aliases 中。使用 smtpname 指令。
例子: