我有一个名为user / nrahl的cyrus邮箱。 如果我使用“邮件”命令,从服务器本身,然后键入:
mail nrahl
发送邮件,这个消息神奇地出现在我的Thunderbird IMAP收件箱中。 但是我需要从一个POP3账户中将消息发送到Cyrus才能发送,并且发送消息的地址是“[email protected]”。
我有fetchmail安装并运行,它从POP3帐户下载邮件,并将它们传递到Postfix。 Postfix(现在我已经在/ etc / alias中设置了别名)接受消息,并将消息传递给Cyrus套接字。
但是问题在于:赛勒斯正在拒绝带有550个邮箱未知错误的邮件。
/var/log/mail.log中的实际消息是:
Apr 17 16:56:57 IMAP cyrus / lmtpunix [5640]:verify_user(user.fetchmail)失败:邮箱不存在 Apr 17 16:56:57 IMAP postfix / lmtp [5561]:CFFD61556BD:to =,relay = localhost [/ var / run / cyrus / socket / lmtp],delay = 0.08,delay = 0.07 / 0 / dsn = 5.1.1,status = bounced(host localhost [/ var / run / cyrus / socket / lmtp]表示:550-Mailbox unknown。或者没有与这个550-name关联的邮箱,或者你没有权限查看550 5.1.1用户未知(回复RCPT TO命令))
它看起来像试图将所有nrahl的邮件转发到postfix @ localhost,而不是nrahl @ localhost,我不知道为什么。 我需要它将发送到[email protected]的邮件转发到Cyrus的“nrahl”邮箱。
去吧!
好的,当你使用fetchmail的时候,你在fetchmailconfiguration(/ etc / fetchmailrc)中定义了“别名”(本地用户名)而不是在/ etc / aliases中。 使用smtpname指令。
例:
设置syslog; 设置守护进程60; 轮询“mail.server.com” 与协议pop3 用户“nrahl @ mydomain”密码“12345”是“nrahl @ localhost” 使用fetchall smtpname“nrahl @ localhost”