У меня есть почтовый ящик cyrus с именем user / nrahl. Если я использую команду mail с самого сервера и набираю:
mail nrahl
чтобы отправить сообщение, оно волшебным образом появляется в моем почтовом ящике Thunderbird IMAP. Но мне нужно получить сообщение из учетной записи POP3 в Cyrus для доставки, а входящие сообщения адресованы на «nrahl@mydomain.com».
У меня установлен и запущен fetchmail, он загружает сообщения из учетной записи POP3 и передает их в Postfix. Postfix (теперь, когда у меня настроены псевдонимы в / etc / alias) принимает сообщение и передает его сокету Cyrus.
Но вот проблема: Сайрус отклоняет сообщение с ошибкой 550 - mailbox unknown.
Фактическое сообщение в /var/log/mail.log:
Apr 17 16:56:57 IMAP cyrus/lmtpunix[5640]: verify_user(user.fetchmail) failed: Mailbox does not exist 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. Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command))
Похоже, он пытается переслать всю почту nrahl на postfix @ localhost вместо nrahl @ localhost, и я не знаю почему. Он мне нужен для пересылки почты, адресованной nrahl@mydomain.com, в почтовый ящик Сайруса "nrahl".
Давай!
Итак, когда вы используете fetchmail, вы определяете «псевдоним» (имя локального пользователя) в конфигурации fetchmail (/ etc / fetchmailrc), а не в / etc / aliases. Используйте директиву smtpname.
Пример:
set syslog; set daemon 60; poll "mail.server.com" with protocol pop3 user "nrahl@mydomain" password "12345" is "nrahl@localhost" fetchall smtpname "nrahl@localhost"