exim + courier

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

exim + courier

Непрочитанное сообщение DarkLord » 2006-10-27 10:42:37

Установил почтовик по статье:
http://www.lissyara.su/?id=1175
Но не ставил postfixadmin.
Добавляю пользователей вручную:

Код: Выделить всё

INSERT INTO mailbox (username,password,name,maildir,domain)
VALUES ('user1','12345','user1','user1','mafserver.telefonet.ru');
VALUES ('user2','12345','user2','user2','mafserver.telefonet.ru');
VALUES ('admin','12345','admin','admin','mafserver.telefonet.ru');
Пробую получить почту с помощью TheBat 2.00.6 - не получается:
/var/log/maillog

Код: Выделить всё

Oct 27 11:18:53 mafserver pop3d: LOGIN FAILED, user=user2, ip=[172.16.10.203]
Oct 27 11:18:53 mafserver pop3d: authentication error: Input/output error
/usr/local/etc/authlib/authmysqlrc

Код: Выделить всё

MYSQL_SERVER            localhost
MYSQL_USERNAME          exim
MYSQL_PASSWORD          exim
MYSQL_PORT              3306
MYSQL_OPT               0
MYSQL_DATABASE          exim
MYSQL_USER_TABLE        `mailbox`
MYSQL_CRYPT_PWFIELD     crypt
MYSQL_CLEAR_PWFIELD    `password`
DEFAULT_DOMAIN         mafserver.telefonet.ru
MYSQL_UID_FIELD         88
MYSQL_GID_FIELD         88
MYSQL_LOGIN_FIELD       `username`
MYSQL_HOME_FIELD        CONCAT('/var/mail/exim/', `maildir`)
MYSQL_NAME_FIELD        `name`
MYSQL_MAILDIR_FIELD    CONCAT('/var/mail/exim/', `maildir`)
И непонятно где смотреть файлы пользователей.
В /var/mail/exim ничего нет.

Где я ошибся?


ЗЫ FreeBSD 6.1 порты свежие
ЗЗЫ Правильно ли я отредактировал базу данных с пользователями?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 10:53:51

Пошли от рута письмо:

Код: Выделить всё

Echo "Привет" | mail -s "Моя первое письмо" user1
Echo "Привет" | mail -s "Моя первое письмо" user2
Echo "Привет" | mail -s "Моя первое письмо" user3
Потом смотришь логи Exim и кидаешь сюда, если не разберёшься сам.

И не забывай про /, если делаешь MAILDIR
VALUES ('admin','12345','admin','admin','mafserver.telefonet.ru/');

P.S. Курьер нормально соединится, только при наличии созданных папок пользователя (cur,tmp и т.п.)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Гость
проходил мимо

Непрочитанное сообщение Гость » 2006-10-27 12:18:57

Добавил пользователя user2:

Код: Выделить всё

INSERT INTO mailbox (username,password,name,maildir,domain)
VALUES ('user2','12345','user2','user2','mafserver.telefonet.ru');
Отсылаю письмо:

Код: Выделить всё

echo "privett" | mail -s "my first lettter" user2
/var/log/maillog

Код: Выделить всё

Oct 27 13:13:02 mafserver exim[41972]: 2006-10-27 13:13:02 1GdNlu-000Auy-Fo <= root@mafserver.telefonet.ru U=root P=local S=430 from <root@mafserver.telefonet.ru> for user2
Oct 27 13:13:02 mafserver exim[41973]: 2006-10-27 13:13:02 1GdNlu-000Auy-Fo remote host address is the local host: mafserver.telefonet.ru
Oct 27 13:13:02 mafserver exim[41973]: 2006-10-27 13:13:02 1GdNlu-000Auy-Fo == user2@mafserver.telefonet.ru R=dnslookup defer (-1): remote host address is the local host
Oct 27 13:13:02 mafserver exim[41974]: 2006-10-27 13:13:02 1GdNlu-000Av0-MM <= <> R=1GdNlu-000Auy-Fo U=mailnull P=local S=633 from <> for admin@mafserver.telefonet.su
Oct 27 13:13:02 mafserver exim[41973]: 2006-10-27 13:13:02 1GdNlu-000Auy-Fo Frozen
Oct 27 13:13:02 mafserver exim[41975]: 2006-10-27 13:13:02 1GdNlu-000Av0-MM ** admin@mafserver.telefonet.su: Unrouteable address
Oct 27 13:13:02 mafserver exim[41975]: 2006-10-27 13:13:02 1GdNlu-000Av0-MM Frozen (delivery error message)
Добавил пользователя user3:

Код: Выделить всё

INSERT INTO mailbox (username,password,name,maildir,domain)
VALUES ('user3','12345','user3','/user3','mafserver.telefonet.ru');
Отсылаю письмо:

Код: Выделить всё

echo "privett" | mail -s "my first lettter" user3
/var/log/maillog

Код: Выделить всё

Oct 27 13:15:34 mafserver exim[41981]: 2006-10-27 13:15:34 1GdNoM-000Av7-4N <= root@mafserver.telefonet.ru U=root P=local S=430 from <root@mafserver.telefonet.ru> for user3
Oct 27 13:15:34 mafserver exim[41982]: 2006-10-27 13:15:34 1GdNoM-000Av7-4N remote host address is the local host: mafserver.telefonet.ru
Oct 27 13:15:34 mafserver exim[41982]: 2006-10-27 13:15:34 1GdNoM-000Av7-4N == user3@mafserver.telefonet.ru R=dnslookup defer (-1): remote host address is the local host
Oct 27 13:15:34 mafserver exim[41983]: 2006-10-27 13:15:34 1GdNoM-000Av9-Av <= <> R=1GdNoM-000Av7-4N U=mailnull P=local S=633 from <> for admin@mafserver.telefonet.su
Oct 27 13:15:34 mafserver exim[41982]: 2006-10-27 13:15:34 1GdNoM-000Av7-4N Frozen
Oct 27 13:15:34 mafserver exim[41984]: 2006-10-27 13:15:34 1GdNoM-000Av9-Av ** admin@mafserver.telefonet.su: Unrouteable address
Oct 27 13:15:34 mafserver exim[41984]: 2006-10-27 13:15:34 1GdNoM-000Av9-Av Frozen (delivery error message)
Добавил пользователя user3:

Код: Выделить всё

INSERT INTO mailbox (username,password,name,maildir,domain)
VALUES ('user4','12345','user4','user4','mafserver.telefonet.ru/');
Отсылаю письмо:

Код: Выделить всё

echo "privett" | mail -s "my first lettter" user4
/var/log/maillog

Код: Выделить всё

Oct 27 13:16:34 mafserver exim[41987]: 2006-10-27 13:16:34 1GdNpK-000AvD-KL <= root@mafserver.telefonet.ru U=root P=local S=430 from <root@mafserver.telefonet.ru> for user4
Oct 27 13:16:34 mafserver exim[41988]: 2006-10-27 13:16:34 1GdNpK-000AvD-KL remote host address is the local host: mafserver.telefonet.ru
Oct 27 13:16:34 mafserver exim[41988]: 2006-10-27 13:16:34 1GdNpK-000AvD-KL == user4@mafserver.telefonet.ru R=dnslookup defer (-1): remote host address is the local host
Oct 27 13:16:34 mafserver exim[41989]: 2006-10-27 13:16:34 1GdNpK-000AvF-Qw <= <> R=1GdNpK-000AvD-KL U=mailnull P=local S=633 from <> for admin@mafserver.telefonet.su
Oct 27 13:16:34 mafserver exim[41988]: 2006-10-27 13:16:34 1GdNpK-000AvD-KL Frozen
Oct 27 13:16:34 mafserver exim[41990]: 2006-10-27 13:16:34 1GdNpK-000AvF-Qw ** admin@mafserver.telefonet.su: Unrouteable address
Oct 27 13:16:34 mafserver exim[41990]: 2006-10-27 13:16:34 1GdNpK-000AvF-Qw Frozen (delivery error message)

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-27 12:20:55

Наверное отлогинился по таймауту.
Предыдущее сообщение тоже мое.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 13:02:00

Код: Выделить всё

распознование сообщений для локальных пользователей, для этого выполним: 
 
su-2.05a# exim -bt postmaster 

Код:postmaster@example.ru 
  router = mysqluser, transport = mysql_delivery 
  

Если ошибок не обнаружено, идем дальше... теперь требуется проверить будет ли осуществляться распознование сообщений для внешних пользователей, для этого выполним: 
 
su-2.05a# exim -bt someuser@msn.com 

Код:someuser@msn.com 
  router = dnslookup, transport = remote_smtp 
  

Если ошибок не обнаружено, идем дальше... теперь требуется проверить будет ли осуществляться доставка сообщений локальным пользователям, для этого выполним: 
 
su-2.05a# exim -v postmaster@example.ru 

Код:From: ginger@example.ru 
To: postmaster@example.ru 
Subject: Testing Exim 
  
This is a test message. 
^D 
LOG: MAIN 
  <= root@example.ru U=root P=local S=303 
su-2.05a# LOG: MAIN 
  => ginger <postmaster@example.ru> R=mysqluser T=mysql_delivery 
LOG: MAIN 
  Completed 
^C 
  

Если ошибок не обнаружено, идем дальше... теперь требуется проверить будет ли осуществляться доставка сообщений внешним пользователям, для этого выполним: 
 
su-2.05a# exim -v someuser@msn.com 

Код:From: ginger@example.ru 
To: someuser@msn.com 
Subject: Testing Exim 
  
This is a test message. 
^D 
LOG: MAIN 
  <= root@example.ru U=root P=local S=303 
su-2.05a# LOG: MAIN 
  => someuser <someuser@msn.com> R=dnslookup T=remote_smtp 
LOG: MAIN 
  Completed 
^C 
 
Проверяй доставку. Конфигу Exim будут все рады. :-)

Взято тут:
http://forum.ru-board.com/topic.cgi?for ... it=1&m=1#1
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 13:11:21

Код: Выделить всё

 exim -bt postmaster

dik@domain.ru
    <-- postmaster@domain.ru
  router = virtual_localuser, transport = local_delivery

Код: Выделить всё

exim -bt postmaster@mail.ru
postmaster@mail.ru
  router = dnslookup, transport = remote_smtp
  host mxs.mail.ru [194.67.23.20] MX=10

Код: Выделить всё

exim -v postmaster@domain.ru
From: root
To: postmaster@domain.ru
Subject: Test

This is a text message.
LOG: MAIN
  <= root@domain.ru U=root P=local S=424
Логи exim для этого действия:

Код: Выделить всё

2006-10-27 14:06:38 1GdObM-000GCo-I2 <= root@domain.ru U=root P=local S=424 from <root@domain.ru> for postmaster@domain.ru
2006-10-27 14:06:38 1GdObM-000GCo-I2 => dik <postmaster@domain.ru> R=virtual_localuser T=local_delivery
2006-10-27 14:06:38 1GdObM-000GCo-I2 Completed

Код: Выделить всё

exim -v user@mail.nnov.ru
From: postmaster@domain.ru
To: user@mail.nnov.ru
Subject: Test

This is a text message.
LOG: MAIN
  <= root@domain.ru U=root P=local S=395
www2# delivering 1GdOds-000GCy-JO
Connecting to real.ip-center.ru [213.177.107.2]:25 ... connected
  SMTP<< 220 real.ip-center.ru ESMTP cololo v1.08.108
  SMTP>> EHLO mail.domain.ru
  SMTP<< 250-real.ip-center.ru
         250-PIPELINING
         250-SIZE 10000000
         250-ETRN
         250-AUTH NTLM LOGIN PLAIN OTP DIGEST-MD5 CRAM-MD5
         250-AUTH=NTLM LOGIN PLAIN OTP DIGEST-MD5 CRAM-MD5
         250 8BITMIME
  SMTP>> MAIL FROM:<root@domain.ru> SIZE=1429
  SMTP>> RCPT TO:<user@mail.nnov.ru>
  SMTP>> DATA
  SMTP<< 250 Ok
  SMTP<< 250 Ok
  SMTP<< 354 End data with <CR><LF>.<CR><LF>
  SMTP>> writing message and terminating "."
  SMTP<< 250 Ok: queued as 09B6BD72B2
  SMTP>> QUIT
LOG: MAIN
  => user@mail.nnov.ru R=dnslookup T=remote_smtp H=real.ip-center.ru [213.177.107.2] C="250 Ok: queued as 09B6BD72B2"
LOG: MAIN
  Completed

Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-27 15:28:58

Вроде чего-то не работает, только что именно не разберусь.

А конфиг Exim такой же, что и в статье. Только домен мой.

Код: Выделить всё

mafserver# exim -bt postmaster
LOG: MAIN
  remote host address is the local host: mafserver.telefonet.ru (while routing <postmaster@mafserver.telefonet.ru>)
postmaster@mafserver.telefonet.ru cannot be resolved at this time:
  remote host address is the local host


mafserver# exim -bt someuser@msn.com
someuser@msn.com
  router = dnslookup, transport = remote_smtp
  host mx1.hotmail.com [65.54.245.8]   MX=5
  host mx1.hotmail.com [65.54.244.136] MX=5
  host mx1.hotmail.com [64.4.50.50]    MX=5
  host mx1.hotmail.com [65.54.244.8]   MX=5
  host mx4.hotmail.com [65.54.244.104] MX=5
  host mx4.hotmail.com [65.54.244.232] MX=5
  host mx4.hotmail.com [65.54.245.104] MX=5
  host mx4.hotmail.com [65.54.190.179] MX=5
  host mx3.hotmail.com [65.54.245.72]  MX=5
  host mx3.hotmail.com [64.4.50.179]   MX=5
  host mx3.hotmail.com [65.54.244.72]  MX=5
  host mx3.hotmail.com [65.54.244.200] MX=5
  host mx2.hotmail.com [65.54.244.168] MX=5
  host mx2.hotmail.com [65.54.190.50]  MX=5
  host mx2.hotmail.com [65.54.244.40]  MX=5
  host mx2.hotmail.com [65.54.245.40]  MX=5


mafserver# exim -v user1@mafserver.telefonet.ru
From: user2@mafserver.telefonet.ru
To: user1@mafserver.telefonet.ru
Subject: Testing Exim

This is a test message.
LOG: MAIN
  <= root@mafserver.telefonet.ru U=root P=local S=428
mafserver# delivering 1GdQbu-000B5d-Jp
LOG: MAIN
  remote host address is the local host: mafserver.telefonet.ru
LOG: MAIN
  == user1@mafserver.telefonet.ru R=dnslookup defer (-1): remote host address is
 the local host
LOG: MAIN
  <= <> R=1GdQbu-000B5d-Jp U=mailnull P=local S=633
LOG: MAIN
  Frozen
delivering 1GdQd8-000B5i-AJ
LOG: MAIN
  ** admin@mafserver.telefonet.su: Unrouteable address
LOG: MAIN
  Frozen (delivery error message)


mafserver# exim -v someuser@msn.com
From: user2@mafserver.telefonet.ru
To: someuser@msn.com
Subject: Testing Exim

This is a test message 2.
LOG: MAIN
  <= root@mafserver.telefonet.ru U=root P=local S=406
mafserver# delivering 1GdQfO-000B6O-Tu
Connecting to mx2.hotmail.com [65.54.245.40]:25 ... connected
  SMTP<< 220 bay0-mc10-f18.bay0.hotmail.com Sending unsolicited commercial or bu
lk e-mail to Microsoft's computer network is prohibited. Other restrictions are
found at http://privacy.msn.com/Anti-spam/. Violations will result in use of equ
ipment located in California and other states. Fri, 27 Oct 2006 05:19:34 -0700
  SMTP>> EHLO mx.mafserver.telefonet.ru
  SMTP<< 250-bay0-mc10-f18.bay0.hotmail.com (3.2.0.9) Hello [217.28.208.42]
         250-SIZE 29696000
         250-PIPELINING
         250-8bitmime
         250-BINARYMIME
         250-CHUNKING
         250-AUTH LOGIN
         250-AUTH=LOGIN
         250 OK
  SMTP>> MAIL FROM:<root@mafserver.telefonet.ru> SIZE=1440
  SMTP>> RCPT TO:<someuser@msn.com>
  SMTP>> DATA
  SMTP<< 250 root@mafserver.telefonet.ru....Sender OK
  SMTP<< 550 Requested action not taken: mailbox unavailable
  SMTP<< 503 Need Rcpt command.
  SMTP>> QUIT
LOG: MAIN
  ** someuser@msn.com R=dnslookup T=remote_smtp: SMTP error from remote mail ser
ver after RCPT TO:<someuser@msn.com>: host mx2.hotmail.com [65.54.245.40]: 550 R
equested action not taken: mailbox unavailable
LOG: MAIN
  <= <> R=1GdQfO-000B6O-Tu U=mailnull P=local S=1416
LOG: MAIN
  Completed
delivering 1GdQgR-000B6R-9k
LOG: MAIN
  remote host address is the local host: mafserver.telefonet.ru
LOG: MAIN
  == root@mafserver.telefonet.ru R=dnslookup defer (-1): remote host address is
the local host
LOG: MAIN
  Frozen

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 16:09:43

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

Выделенное у тебя такое?

Если всё так, что нужно смотреть почему у тебя exim определяет user1@mafserver.telefonet.ru удалённым хостом? Почему не может понять, что домен твой, а не удалённый?

Вот твой запрос, что в таблице domain?

Код: Выделить всё

domainlist local_domains = ${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1'}}
Можешь не создавать таблицу а написать что-нибудь типа

Код: Выделить всё

domainlist local_domains = @ : mafserver.telefonet.ru
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-27 16:42:06

В конфигурационном файле все тоже самое.
В таблице доменов у меня ничего не было, а после добавления записи:
INSERT INTO domain (domain,description) VALUES ('mafserver.telefonet.ru','mafserver');
стал локальные распознавать

Код: Выделить всё

mysql> exit
Bye
mafserver# exim -v user1@mafserver.telefonet.ru
From: user2@mafserver.telefonet.ru
To: user1@mafserver.telefonet.ru
Subject: Testing Exim

This is a test message.
LOG: MAIN
  <= root@mafserver.telefonet.ru U=root P=local S=428
С локальным доменом вопрос решил,
но получать почту так и не получается.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 16:53:01

По крайней мере Exim нормально заработал. Пол дела сделал.

authdaemonrc:
DEBUG_LOGIN=2 - Включай отладку
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 16:58:40

Комментируй всё, что не пригодится.

Код: Выделить всё

/usr/local/etc/authlib/authmysqlrc
#MYSQL_OPT               0
#MYSQL_CRYPT_PWFIELD     crypt
#DEFAULT_DOMAIN         mafserver.telefonet.ru
Courier должен получить полный путь к папке, в которой находятся каталоги cur, new и tmp. На конце обязательно должен быть / в базе mysql.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-27 17:05:46

Мой debug.log

Код: Выделить всё

Oct 27 17:41:43 www2 pop3d: Connection, ip=[192.168.2.4]
Oct 27 17:41:43 www2 authdaemond: received auth request, service=pop3, authtype=login
Oct 27 17:41:43 www2 authdaemond: authpgsql: trying this module
Oct 27 17:41:43 www2 authdaemond: SQL query: SELECT login, '', password, 26, 6, '/mnt/tmp/', maildir, quota, name, '' FROM users WHERE login = 'dik' AND (status = '1')
Oct 27 17:41:43 www2 authdaemond: authpgsql: sysusername=<null>, sysuserid=26, sysgroupid=6, homedir=/mnt/tmp/, address=dik, fullname=Дмитрий, maildir=domain.ru/dik/, quota=20, options=<null>
Oct 27 17:41:43 www2 authdaemond: authpgsql: clearpasswd=xxxxxx, passwd=<null>
В моём случае courier получает всё что нужно. Путь к папкам cur, new, tmp будет /mnt/tmp/domain.ru/dik/
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-30 11:51:06

Что-то я запутался в данных, которые должны быть в базе.
Если можно разобрать пример:

Директория где будут храниться файлы:
/var/mail/exim
Домен:
mafserver.telefonet.ru
И два тестовых пользователя:
user1 и user2
Соответственно в данных условиях их файлы должны располагаться:
/var/mail/exim/mafserver.telefonet.ru/user1
/var/mail/exim/mafserver.telefonet.ru/user2

Какие данные нужно добавить в MySQL для нормальной работы?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-30 12:11:18

DarkLord писал(а):Что-то я запутался в данных, которые должны быть в базе.
Если можно разобрать пример:

Директория где будут храниться файлы:
/var/mail/exim
Домен:
mafserver.telefonet.ru
И два тестовых пользователя:
user1 и user2
Соответственно в данных условиях их файлы должны располагаться:
/var/mail/exim/mafserver.telefonet.ru/user1
/var/mail/exim/mafserver.telefonet.ru/user2

Какие данные нужно добавить в MySQL для нормальной работы?
Нормально ты всё создал, должно работать.
Если ты посылал письма свои пользователям, у тебя должны быть папки:
/var/mail/exim/mafserver.telefonet.ru/user1/cur
/var/mail/exim/mafserver.telefonet.ru/user1/new
/var/mail/exim/mafserver.telefonet.ru/user1/tmp
Папки создались?

Если есть, включай DEBUG_LOGIN=2 в authdaemonrc и логи покажи

P.S. Попробуй вместо этого:

Код: Выделить всё

MYSQL_HOME_FIELD        CONCAT('/var/mail/exim/', `maildir`)
MYSQL_MAILDIR_FIELD    CONCAT('/var/mail/exim/', `maildir`)
Написать вот это: (У меня по статье не заработало на FreeeBSD 5.5)

Код: Выделить всё

MYSQL_HOME_FIELD        '/var/mail/exim/'
MYSQL_MAILDIR_FIELD    maildir
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-30 12:35:20

В том то и дело, что письма не отправляются.

Код: Выделить всё

echo "privett" | mail -s "my first lettter" user1

Код: Выделить всё

Oct 30 12:29:27 mafserver exim[607]: 2006-10-30 12:29:27 1GeTSR-00009n-3Q <= root@mafserver.telefonet.ru U=root P=local S=430 from <root@mafserver.telefonet.ru> for user1
Oct 30 12:29:27 mafserver exim[608]: 2006-10-30 12:29:27 1GeTSR-00009n-3Q ** user1@mafserver.telefonet.ru: Unrouteable address
Oct 30 12:29:27 mafserver exim[609]: 2006-10-30 12:29:27 1GeTSR-00009p-G2 <= <> R=1GeTSR-00009n-3Q U=mailnull P=local S=1318 from <> for root@mafserver.telefonet.ru
Oct 30 12:29:27 mafserver exim[608]: 2006-10-30 12:29:27 1GeTSR-00009n-3Q Completed
Oct 30 12:29:27 mafserver exim[610]: 2006-10-30 12:29:27 1GeTSR-00009p-G2 ** root@mafserver.telefonet.ru: Unrouteable address
Oct 30 12:29:27 mafserver exim[610]: 2006-10-30 12:29:27 1GeTSR-00009p-G2 Frozen (delivery error message)
и папки не создаются.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-30 12:39:44

Покажи базу:

Код: Выделить всё

SELECT * FROM mailbox;
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-30 12:45:39

Код: Выделить всё

local_delivery:
  driver = appendfile
  check_string = ""
  create_directory
  delivery_date_add
  directory = /mnt/tmp/$domain/$local_part
  directory_mode = 770
  envelope_to_add
  group = mail
  maildir_format
  maildir_tag = ,S=$message_size
  message_prefix = ""
  message_suffix = ""
  mode = 0660
  quota = ${lookup pgsql{SELECT quota FROM users WHERE login='${local_part}' AND domain='${domain}'}{${value}M}}
  quota_size_regex = S=(\d+)$
  quota_warn_threshold = 75%
  return_path_add
directory = /var/mail/exim/$domain/$local_part
Что-нибудь такое замути.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-30 13:37:26

Код: Выделить всё

+----------+----------+-------+---------------------+-------+-------------------------+---------------------+---------------------+--------+
| username | password | name  | maildir             | quota | domain                  | created             | modified            | active |
+----------+----------+-------+---------------------+-------+-------------------------+---------------------+---------------------+--------+
| user1    | 12345    | user1 | user1/              |     0 | mafserver.telefonet.ru/ | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |      1 |
| user2    | 12345    | user2 | user2/              |     0 | mafserver.telefonet.ru  | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |      1 |
При попытке послать письма обоим пользователям - одинаковый результат.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-30 14:07:52

DarkLord писал(а):

Код: Выделить всё

+----------+----------+-------+---------------------+-------+-------------------------+---------------------+---------------------+--------+
| username | password | name  | maildir             | quota | domain                  | created             | modified            | active |
+----------+----------+-------+---------------------+-------+-------------------------+---------------------+---------------------+--------+
| user1    | 12345    | user1 | user1/              |     0 | mafserver.telefonet.ru/ | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |      1 |
| user2    | 12345    | user2 | user2/              |     0 | mafserver.telefonet.ru  | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |      1 |
При попытке послать письма обоим пользователям - одинаковый результат.
В домене / не нужен.(mafserver.telefonet.ru/) Убери.
username должен иметь вид user1@mafserver.telefonet.ru

Код: Выделить всё

Твой запрос mysql выглядит так: (Данные я написал те, которые у тебя)
SELECT CONCAT('/var/mail/exim/', `maildir`) FROM `mailbox` WHERE username`='user1@mafserver.telefonet.ru'
Неправильно заполненное поле username. Оно должно содержать домен.
или исправляй запрос на:

Код: Выделить всё

directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`) \
                FROM `mailbox` WHERE `username`='${local_part}'}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DarkLord
проходил мимо
Сообщения: 8
Зарегистрирован: 2006-10-27 10:12:21

Непрочитанное сообщение DarkLord » 2006-10-30 14:18:59

Спасибо, отправка заработала и папки создались.
Дальше видно куда копать.