Exim + dovecot + win2003ad
Добавлено: 2008-12-29 12:15:29
Продолжается обсуждение.
что имеем:
конфиг exim local_delivery:
debug exim в случае ошибки:
debug exim без ошибки
исходя из этого вижу, что defer вываливается еще до попытки создать директорию
1 случай (папка /usr/home/temp не существует):
2 случай (папка /usr/home/maxrad существует)
во втором случае только потом идет appendfile и т.д. то есть в 1 случае exim не доходит до строчки create_directory и вываливает ошибку.
Думаю так: exim зачем то ищет рабочую папку пользователя. Если отослать письмо руту - то он ищет папку пользователя root, находит ее - /root
а потом создает директории согласно правилу в /usr/home/. Папки пользователей AD прописаны в smb.conf параметр template_dir и именно в этой папке и пытается че-то найти exim. Что - не известно. Помогите обойти эту ошибку - или придется создавать все дерево домена в usr/home?
что имеем:
конфиг exim local_delivery:
Код: Выделить всё
local_delivery:
driver = appendfile
check_string = ""
delivery_date_add
create_directory
directory = /usr/home/${local_part}/Maildir
directory_mode = 770
envelope_to_add
user = mailnull
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
Код: Выделить всё
20:21:14 1294 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
20:21:14 1294 --------> test@beer.saratov.ru <--------
20:21:14 1294 locking /var/spool/exim/db/retry.lockfile
20:21:14 1294 locked /var/spool/exim/db/retry.lockfile
20:21:14 1294 EXIM_DBOPEN(/var/spool/exim/db/retry)
20:21:14 1294 returned from EXIM_DBOPEN
20:21:14 1294 opened hints database /var/spool/exim/db/retry: flags=O_RDONLY
20:21:14 1294 dbfn_read: key=T:test@beer.saratov.ru
20:21:14 1294 retry record exists: age=4m18s (max 1w)
20:21:14 1294 time to retry = 10m42s expired = 0
20:21:14 1294 search_tidyup called
20:21:14 1295 changed uid/gid: local delivery to test <test@beer.saratov.ru> transport=local_delivery
20:21:14 1295 uid=26 gid=6 pid=1295
20:21:14 1295 auxiliary group list: 6
20:21:14 1295 home=/usr/home/test current=/usr/home/test
20:21:14 1295 search_tidyup called
20:21:14 1294 local_delivery transport returned DEFER for test@beer.saratov.ru
20:21:14 1294 added retry item for T:test@beer.saratov.ru: errno=2 more_errno=0 flags=0
20:21:14 1294 post-process test@beer.saratov.ru (1)
20:21:14 1294 LOG: MAIN
20:21:14 1294 == test@beer.saratov.ru R=localuser T=local_delivery defer (2): No such file or directory: failed to chdir to /usr/home/test
Код: Выделить всё
--20:22:02 1310 >>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
20:22:02 1310 --------> maxrad@beer.saratov.ru <--------
20:22:02 1310 locking /var/spool/exim/db/retry.lockfile
20:22:02 1310 locked /var/spool/exim/db/retry.lockfile
20:22:02 1310 EXIM_DBOPEN(/var/spool/exim/db/retry)
20:22:02 1310 returned from EXIM_DBOPEN
20:22:02 1310 opened hints database /var/spool/exim/db/retry: flags=O_RDONLY
20:22:02 1310 dbfn_read: key=T:maxrad@beer.saratov.ru
20:22:02 1310 no retry record exists
20:22:02 1310 search_tidyup called
20:22:02 1311 changed uid/gid: local delivery to maxrad <maxrad@beer.saratov.ru> transport=local_delivery
20:22:02 1311 uid=26 gid=6 pid=1311
20:22:02 1311 auxiliary group list: 6
20:22:02 1311 home=/usr/home/maxrad current=/usr/home/maxrad
20:22:02 1311 set_process_info: 1311 delivering 1LGGNu-0000L7-K5 to maxrad using local_delivery
20:22:02 1311 appendfile transport entered
20:22:02 1311 expanding: /usr/home/${local_part}/Maildir
20:22:02 1311 result: /usr/home/maxrad/Maildir
20:22:02 1311 appendfile: mode=600 notify_comsat=0 quota=0 warning=0
20:22:02 1311 directory=/usr/home/maxrad/Maildir format=maildir
20:22:02 1311 message_prefix=
20:22:02 1311 message_suffix=
20:22:02 1311 maildir_use_size_file=no
20:22:02 1311 ensuring maildir directories exist in /usr/home/maxrad/Maildir
20:22:02 1311 delivering in maildir format in /usr/home/maxrad/Maildir
20:22:02 1311 expanding: ,S=$message_size
20:22:02 1311 result: ,S=600
20:22:02 1311 writing to file tmp/1230312122.H672694P1311.fs3.beer.saratov.ru
20:22:02 1311 writing data block fd=6 size=683 timeout=0
20:22:02 1311 renaming temporary file
20:22:02 1311 expanding: ,S=$message_size
20:22:02 1311 result: ,S=683
20:22:02 1311 renamed tmp/1230312122.H672694P1311.fs3.beer.saratov.ru as new/1230312122.H672694P1311.fs3.beer.saratov.ru,S=683
20:22:02 1311 appendfile yields 0 with errno=0 more_errno=0
20:22:02 1311 search_tidyup called
20:22:02 1310 journalling maxrad@beer.saratov.ru
20:22:02 1310 local_delivery transport returned OK for maxrad@beer.saratov.ru
20:22:02 1310 post-process maxrad@beer.saratov.ru (0)
20:22:02 1310 maxrad@beer.saratov.ru delivered
20:22:02 1310 LOG: MAIN
20:22:02 1310 => maxrad <maxrad@beer.saratov.ru> R=localuser T=local_delivery
20:22:02 1310 >>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
1 случай (папка /usr/home/temp не существует):
Код: Выделить всё
20:21:14 1295 home=/usr/home/test current=/usr/home/test
20:21:14 1295 search_tidyup called
20:21:14 1294 local_delivery transport returned DEFER for test@beer.saratov.ru
Код: Выделить всё
20:22:02 1311 uid=26 gid=6 pid=1311
20:22:02 1311 auxiliary group list: 6
20:22:02 1311 home=/usr/home/maxrad current=/usr/home/maxrad
20:22:02 1311 set_process_info: 1311 delivering 1LGGNu-0000L7-K5 to maxrad using local_delivery
Думаю так: exim зачем то ищет рабочую папку пользователя. Если отослать письмо руту - то он ищет папку пользователя root, находит ее - /root
а потом создает директории согласно правилу в /usr/home/. Папки пользователей AD прописаны в smb.conf параметр template_dir и именно в этой папке и пытается че-то найти exim. Что - не известно. Помогите обойти эту ошибку - или придется создавать все дерево домена в usr/home?