Я настраиваю postfix и dovecot на своем сервере, но по какой-то причине не могу получать почту. Я следил эти инструкция по настройке почтового сервера. Я проверил с помощью pingability.com, что порт 25 открыт (не было ошибок для почты), и я могу отправлять письма. Я просто не могу их получить, я не вижу их в мейлдире и не вижу в белках.
Я не особо разбираюсь в Linux, может ли кто-нибудь помочь мне решить эту проблему?
Моя ОС - CentOS 5.5
edit1: Согласно лог-файлу / var / log / maillog почта получена, но, вероятно, не доставлена. Если я проверю файл журнала сразу после отправки электронного письма, последние строки файла журнала будут выглядеть так:
Mar 27 23:59:24 vps4195 postfix/smtpd[15822]: connect from mailserver[ip]
Mar 27 23:59:25 vps4195 postfix/smtpd[15822]: 01EE0AD18170: client=server[ip]
Mar 27 23:59:25 vps4195 postfix/cleanup[15826]: 01EE0AD18170: message-id=<someid>
Mar 27 23:59:25 vps4195 postfix/qmgr[7544]: 01EE0AD18170: from=<emailaddress>, size=1980, nrcpt=1 (queue active)
Mar 27 23:59:55 vps4195 postfix/smtpd[15822]: disconnect from server[ip]
edit2: файл журнала также содержит многие из этих записей, но я действительно не знаю, что с ними делать:
Mar 28 00:00:16 vps4195 postfix/virtual[17954]: fatal: bad string length 0 < 1: virtual_mailbox_base =
Mar 28 00:00:17 vps4195 postfix/master[7538]: warning: process /usr/libexec/postfix/virtual pid 17954 exit status 1
Mar 28 00:00:17 vps4195 postfix/master[7538]: warning: /usr/libexec/postfix/virtual: bad command startup -- throttling
edit3: я исправил предыдущую ошибку (добавил virtual_mailbox_base в файл main.cf), но теперь файл журнала выдает мне эту ошибку, когда пытается получить электронное письмо:
Mar 28 00:11:33 vps4195 postfix/virtual[3089]: E8025AD180BB: to=<email>, relay=virtual, delay=0, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "email")
Mar 28 00:11:33 vps4195 postfix/qmgr[3077]: E8025AD180BB: removed
edit4: на этот раз пошел немного дальше, похоже, я пропустил строку в main.cf, но затем я получил эту ошибку:
Mar 28 00:36:15 vps4195 postfix/qmgr[30545]: D7E6DAD18077: from=<mail>, size=755, nrcpt=1 (queue active)
Mar 28 00:36:15 vps4195 postfix/virtual[30610]: warning: recipient mail: not found in virtual_uid_maps
Mar 28 00:36:15 vps4195 postfix/virtual[30610]: D7E6DAD18077: to=<maill>, relay=virtual, delay=0.07, delays=0.05/0/0/0.01, dsn=4.3.5, status=deferred (mail system configuration error)
Итак, я создал записи virtual_uid_maps и virtual_gid_maps в файле main.cf, и теперь все работает!
Если я правильно помню, простая установка postfix RPM на ящик CentOS дает вам почтовый сервер, который слушает только на localhost. Если вы нажмете «netstat -ltnp», у вас должна появиться такая строка:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2182/master
Убедитесь, что написано «0.0.0.0» (а не «127.0.0.1»). Если нет, добавьте что-нибудь вроде:
inet_interfaces = all
в main.cf.
Если ваш сервер прослушивал все интерфейсы, вашей следующей остановкой, вероятно, должен стать / var / log / maillog (по крайней мере, я думаю, что это то место, где находится журнал в CentOS). Посмотрите, есть ли там какие-нибудь соответствующие строки, в которых говорится о почте, которую вы ожидаете получить. Это должно выглядеть примерно так:
Mar 27 23:14:39 whisper postfix/smtpd[19351]: connect from remote.mailserver.com[A.B.C.D]
Mar 27 23:14:39 whisper postfix/smtpd[19351]: 5E007301D: client=remote.mailserver.com[A.B.C.D]
Mar 27 23:14:39 whisper postfix/cleanup[19355]: 5E007301D: message-id=<his-message-id>
Mar 27 23:14:39 whisper postfix/qmgr[2579]: 5E007301D: from=<sender@example.com>, size=3190, nrcpt=1 (queue active)
Mar 27 23:14:39 whisper postfix/smtpd[19351]: disconnect from remote.mailserver.com[A.B.C.D]
Это говорит о том, что письмо было успешно получено. На моем сервере следующий шаг - очистка от спама. Затем идет доставка:
Mar 27 23:14:40 whisper postfix/pickup[19293]: 3C05785C0: uid=65534 from=<sender@example.com>
Mar 27 23:14:40 whisper postfix/cleanup[19355]: 3C05785C0: message-id=<his-message-id>
Mar 27 23:14:40 whisper postfix/qmgr[2579]: 3C05785C0: from=<sender@example.com>, size=3286, nrcpt=1 (queue active)
Mar 27 23:14:40 whisper postfix/local[19363]: 3C05785C0: to=<recipient@example.com>, relay=local, delay=0.06, delays=0.03/0.02/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Mar 27 23:14:40 whisper postfix/qmgr[2579]: 3C05785C0: removed
Если у вас есть строка вроде предпоследней, почта должна быть доставлена в dovecot, и вам нужно отследить проблему там.