我有一个名为 user/nrahl 的 cyrus 邮箱。如果我使用“mail”命令,从服务器本身输入:
mail nrahl
发送消息时,消息会神奇地出现在我的 Thunderbird IMAP 收件箱中。但我需要将消息从 POP3 帐户发送到 Cyrus 进行传送,而收到的消息的地址是“[电子邮件保护]“。
我已经设置并运行了 fetchmail,它正在从 POP3 帐户下载消息,并将它们传递到 Postfix。Postfix(现在我已经在 /etc/alias 中设置了别名)正在接受该消息,并将其传递到 Cyrus 套接字。
但问题是:Cyrus 以 550(邮箱未知错误)拒绝了该消息。
/var/log/mail.log 中的实际消息是:
4 月 17 日 16:56:57 IMAP cyrus/lmtpunix[5640]: verify_user(user.fetchmail) 失败:邮箱不存在 4 月 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(主机 localhost[/var/run/cyrus/socket/lmtp] 表示:550-邮箱未知。要么没有与此 550 名称关联的邮箱,要么您无权查看它。550 5.1.1 用户未知(回复 RCPT TO 命令))
它似乎试图将 nrahl 的所有邮件转发到 postfix@localhost,而不是 nrahl@localhost,我不知道为什么。我需要它将邮件转发到[电子邮件保护]进入赛勒斯 (Cyrus) 的“nrahl”邮箱。
答案1
加油!
好的,因此当您使用 fetchmail 时,您可以在 fetchmail 配置 (/etc/fetchmailrc) 中定义“别名”(本地用户名),而不是在 /etc/aliases 中。使用 smtpname 指令。
例子:
设置系统日志; 设置守护进程60; 民意调查“mail.server.com” 使用 pop3 协议 用户“nrahl@mydomain”密码“12345”是“nrahl@localhost” 全部获取 smtp 名称“nrahl@localhost”