Exim+courier-imap, Mailbox и Maildir

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
aler
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-04-04 5:27:30
Откуда: Красноярск

Exim+courier-imap, Mailbox и Maildir

Непрочитанное сообщение aler » 2007-04-04 5:45:37

FreeBSD 6.2
Exim+courier-imap+clamav
Базы данных не используются

Начал знакомиться с Exim по статье "exim + saslauthd + courier-imap + ClamAV + системные пользователи - из /etc/passwd" (http://www.lissyara.su/?id=1181). У меня пошло не всё гладко и courier-imap так и не работает...

Пользователи хранятся в файле (файл системных пользователей), есть пользователи шелл у которых /usr/sbin/nologin и есть, которые могут входить в систему. Те, которые могут входить в систему - имеют домашнюю папку; те, которые не могут не имеют домашней папки:
aler:*:1001:0:russian:0:0:Aler:/home/aler:/bin/sh
и
mailuser:*:1002:6::0:0:mail user:/nonexistent:/usr/sbin/nologin

Запутался с Mailbox и Maildir. Вообще Maildir меня интересует больше, отсюда вопросы:
1) как заводить Maildir для таких пользователей и где?
2) courier-imap - требует ли дополнительной настройки для работы с Maildir (pop3)?
3) умеет ли courier-imap работать с Mailbox, если да, то как это настроить? (mailbox находится в /var/mail)

и вопрос по Exim: можно в лог записывать имена фалов прикреплённых к письму?
"Хомяк" - это Maildir?

Спасибо.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-04 8:04:58

1. В /var/mail разумеется.
2. нет
3. невкурсе...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
aler
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-04-04 5:27:30
Откуда: Красноярск

Непрочитанное сообщение aler » 2007-04-04 11:36:04

да...
чтобы работать с Mailbox надо "руками" создавать папку с именем пользователя в /var/mail
, выставлять права, писать на этот "новый" адрес письмо (что бы создался Mailbox с вложенными каталогами)... а если пользователь имеет домашнюю директорию, то для него надо из /var/mail делать symlink в домашнюю папку

и теперь у меня всё заработало

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35426
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-04-04 12:11:16

однако, dovecot сам умеет всё делать...
сам создаст нужную структуру директорий...
=====
чтоб диру не создавать - дай mailnull права на /var/mail - но письмо всё равно надо бцудет слать
Убей их всех! Бог потом рассортирует...

Аватара пользователя
aler
проходил мимо
Сообщения: 3
Зарегистрирован: 2007-04-04 5:27:30
Откуда: Красноярск

Непрочитанное сообщение aler » 2007-04-06 4:47:05

Вот составил небольшой скриптик на перле, чтобы "автоматизировать" заведение пользователя с Mailbox... скрипт добавляет пользователя в систему, заводит нужные папки, шлёт письмо. можно его использовать в интерактивном режиме и пакетном:

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

#! perl
;
sub namez
{
print "Введи username:";$username=<>;chomp($username);
print "Введи full name:";$fullname=<>;chomp($fullname);
print "Введи password:";$password=<>;chomp($password);
print "\n";print "_" x 50;print "\n";
print "Username=[$username]\nFull name=[$fullname]\nPassword=[$password]\n";
print "Правильно{y/n}? [y]:";$answer=<>;chomp($answer);
print "\n";print "_" x 50;print "\n";
if ($answer eq 'n') {&namez};
};

print "\n";print "#" x 50;print "\n\n";
print "Привет!\n";

$ret='y';
while ($ret eq 'y')
{
 &namez;
 `echo $password | pw useradd -n $username -g mail -d /var/mail/$username -s /usr/sbin/nologin -c $fullname -h 0`;
 `rm -f /var/mail/$username`;`mkdir /var/mail/$username`;`chown $username:mail /var/mail/$username`;
 `echo "Welcome to Mail Server" | mail -s 'new user' $username`;
 print "\nПользователь добавлен. Ещё{y/n}? [n]:";$ret=<>;chomp($ret);
};
print "Пока!\n";
print "*" x 50;print "\n";

exit 0;
к примеру, этот файл называется makemailbox.pl
запуск: perl makemailbox.pl

Пакетный режим:
подготавливаем файл data.txt такого содержания (ответы на вопросы скрипта):

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

user1
Test user 1
password1
y
y
user2
Test user 2
password2
y
y
user3
Test user 3
password3
y
y
user4
Test user 4
password4
y
n
запуск:
perl makemailbox.pl < data.txt