Имеется сервер FreeBSD 10.2. Нужно настроить простой POP3-сервер. Установил popa3d, запустил. Если файл пользователя пустой (нулевой длины), то авторизация проходит без ошибок. Если же файл не пустой (достаточно добавить символ перевода строки), то вот что пишет:
fw# telnet 10.1.1.120 110
Trying 10.1.1.120...
Connected to 10.1.1.120.
Escape character is '^]'.
+OK
user sysadmin
+OK
pass 12345
-ERR
Connection closed by foreign host.При этом в логах появляется ошибка:
popa3d[32863]: Failed or refused to load /var/mail/sysadminУстановка разрешений не помогает (даже chmod 777).
Что за хрень, не пойму.
При попытке установить cucipop пишет, что cucipop-1.31_4 is marked as broken: Dead patch site.
Dovecot не хочу ставить: получится из пушки по воробьям.
>[оверквотинг удален]
> Connected to 10.1.1.120.
> Escape character is '^]'.
> +OK
> user sysadmin
> +OK
> pass 12345
> -ERR
> Connection closed by foreign host.
> При этом в логах появляется ошибка:
> popa3d[32863]: Failed or refused to load /var/mail/sysadminВы полагаете, что в mailbox можно писать всякую БЕЗформатную
ерунду?> Установка разрешений не помогает (даже chmod 777).
это такой неудачный стиль -> chmod 777 на все случаи жизни?
> Что за хрень, не пойму.
с таким подходом, неудивительно.
Формат ни при чём. Копировал файл почты с письмом из другого FreeBSD-сервера и подставлял вместо sysadmin. Результат тот же.
Пробовал chmod 660, chown sysadmin:mail - результат тот же.
> Формат ни при чём. Копировал файл почты с письмом из другого FreeBSD-сервера
> и подставлял вместо sysadmin. Результат тот же.да ну...
> Пробовал chmod 660, chown sysadmin:mail - результат тот же.
- install popa3d as standalone
[joker]~ > pkg info popa3d-standalone | grep -A4 -i option
Options :
DOCS : on
SETPROCTITLE : off
SMTP_AFTER_POP3: off
STANDALONE_POP3: on
[joker]~ >- create user test
[joker]~ > grep test /etc/passwd
test:*:1002:1000:test:/home/test:/usr/sbin/nologin
[joker]~ >mailbox:
[joker]~ > ls -la /var/mail/test
-rw------- 1 test users 0 Aug 23 19:33 /var/mail/test
[joker]~ >- start popa3d
[joker]~ > /usr/local/etc/rc.d/popa3d onestart
Starting popa3d.
[joker]~ > /usr/local/etc/rc.d/popa3d onestatus
popa3d is running as pid 83177.
[joker]~ >- test popa3d
[joker]~ > telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK
user test
+OK
pass test123
+OK
list
+OK
.
quit
+OK
Connection closed by foreign host.
[joker]~ >- change /var/mail/test
[joker]~ > echo "" >> /var/mail/test
[joker]~ > ls -la /var/mail/test
-rw------- 1 test users 1 Aug 23 19:36 /var/mail/test
[joker]~ > hd -c /var/mail/test
00000000 0a |.|
0000000 \n
0000001
[joker]~ >- test popa3d
[joker]~ > telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK
user test
+OK
pass test123
-ERR
Connection closed by foreign host.
[joker]~ >- change mailbox
[joker]~ > cat > /var/mail/test
[joker]~ > ls -la /var/mail/test
-rw------- 1 test users 0 Aug 23 19:38 /var/mail/test
[joker]~ ># for i in '1111111 22222222 33333333'; do echo "sdfjhjksfhjk" | mail -s $i test; done
[joker]~ > head -n 2 /var/mail/test
From lavr@joker.jinr.ru Tue Aug 23 19:39:56 2016
Return-Path: <lavr@joker.jinr.ru>
[joker]~ >- check popa3d with good mbox format
[joker]~ > telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK
user test
+OK
pass test123
+OK
list
+OK
1 715
.
quit
+OK
Connection closed by foreign host.
[joker]~ >Верхнее понятно?
Действительно, проблема была в формате. На старом сервере почтовый файл начинается с пустой строки (не знаю, почему), и она не мешает (там работает cupipop). Не знал, что пустая строка может создать проблему.
Спасибо за помощь!