1

Добрый день , поставил себе задачу , сделать связку Debian+Postfix+Kerberos+Samba+Winbind. Ввел Debiand домен , установил и настроил Postfix для одного домена , через telnet шлю пробное письмо , доменный пользователь определился и как бы все хорошо. Запарился на моменте , а как почту раскладывать? Нужно же создать всем пользователям домена ящики и что прописать в Postfix , что все раскладывалось по ящикам?

2

ну нужен как минимум LDA (procmail, dovecot etc.)
когда определитесь - virtual_transport/local_transport в конфигах постфикса.
т.к про авторизацию dovecot в AD мы уже беседовали то я подозреваю что у вас именно он. Суть такова: postfix получает вдящее smtp соединение обрабатывает его и если пользователь (почтовый ящик) существует в virtual_mailbox_maps то письмо передается LDA который кидает его в хранилище указанное в конфигах postfix (virtual_mailbox_base помоему). если папки/файла-хранилища кореспонденции нет то она будет создана автоматом.

Heresy grow from the idleness

3

Благодарю вас osorkon. Я сделал ставку на Dovecot , а вот как в  virtual_mailbox_maps указать , что пользователи в системе ? Машина у меня в домене , и соответственно каким-то образом можно заставить Postfix брать пользователей из системы ,  Читал руководство по Postfix Ральфа Гильдебранта , но там рассказывается как указать в virtual_mailbox_maps путь к файлу с пользователями.

4

Ввел машину в Домен , Postfix прекрасно распознает доменных пользователей и при первичной настройке. Видимо мой путь лежит к Dovecot 

l_cho пишет:

Благодарю вас osorkon. Я сделал ставку на Dovecot , а вот как в  virtual_mailbox_maps указать , что пользователи в системе ? Машина у меня в домене , и соответственно каким-то образом можно заставить Postfix брать пользователей из системы ,  Читал руководство по Postfix Ральфа Гильдебранта , но там рассказывается как указать в virtual_mailbox_maps путь к файлу с пользователями.

5 (18.09.2012 11:34:24 отредактировано l_cho)

Закончил связку , а толку мало , telnet -ом слушаются и Dovecot и Postfix  , а если отсылаю сообщение пользователю с другой почты , то оно не приходит , прошу помочь найти ошибку. 

Настроил POSTFIX
postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = domen.ru, postman.domen.ru, localhost.domen.ru, localhost
myhostname = postman.domen.ru
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_mailbox_base = /var/mail
virtual_mailbox_domains = domain.ru
virtual_transport = dovecot


Подогнал Dovecot

cat /etc/dovecot/dovecot.conf | grep -v '^#' | sed '/^$/d' | more
base_dir = /var/run/dovecot
protocols = imap imaps
listen = *
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = mailuser
login_processes_count = 128
login_greeting = GoogDay.
login_log_format = %$: %s
mail_location = maildir:/var/mail/%d/%n
   
 
mail_uid = mailuser
mail_gid = mail
mail_privileged_group = mail
protocol imap {
 
  login_executable = /usr/lib/dovecot/imap-login
 
  mail_executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap

6

добавте в конфиг debug_peer_list = <адрес отправителя/получателя> и давайте логи смотреть

Heresy grow from the idleness

7

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = domain.ru
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = domain.ru, postman.domain.ru, localhost.domain.ru, localhost
myhostname = postman.domain.ru
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_mailbox_base = /var/mail
virtual_mailbox_domains = domain.ru
virtual_transport = dovecot


Dovecot
2012-09-18 14:47:06 dovecot: Warning: Killed with signal 15 (by pid=3406 uid=0 code=kill)
2012-09-18 14:47:06 dovecot: Info: Dovecot v1.2.15 starting up (core dumps disabled)

Postfix
2012-09-18 14:47:06 dovecot: Warning: Killed with signal 15 (by pid=3406 uid=0 code=kill)
2012-09-18 14:47:06 dovecot: Info: Dovecot v1.2.15 starting up (core dumps disabled)

8 (18.09.2012 17:19:33 отредактировано osorkon)

ну очевидно что падает dovecot поэтому письма не доходят. возможно они все в очереди (postqueue -p).
попробуйте запустить dovecot c опцией -F, добавте в конфиг info_log_path = <путь_к_логу>, auth_debug = <путь_к_логу>, mail_debug=yes и давайте выхлоп
офтоп: что такое включить аллерты вверху страницы?

Heresy grow from the idleness

9

Привел Dovecot к такому виду :
protocols = imap imaps
listen = *
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/mail/%u
   

 
mail_privileged_group = mail
mail_debug = yes
protocol imap {

В логах пусто
А  при перезагрузке пишет:
Restarting IMAP/POP3 mail server: dovecotIf you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.
.
Запускаю как Dovecot -F
If you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.

Postfix на всякий случай , он работает нормально письма при телент раскладывает по Maildir
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mail_spool_directory = /var/mail/
mailbox_command =
mailbox_size_limit = 0
mydestination = domen.ru,domen.domen.ru, localhost.domen.ru, localhost
myhostname = postman.domen.ru
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_mailbox_base = /var/mail/

10

osorkon пишет:

auth_debug = <путь_к_логу>, mail_debug=yes

и

l_cho пишет:

enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork

вы игнорируете или просто упускаете эту часть конфига в посте?

Heresy grow from the idleness

11

protocols = imap imaps
listen = *
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/mail/%u


mail_privileged_group = mail
auth_debug = yes
mail_debug = yes
protocol imap {
}

log:
2012-09-19 11:30:16 dovecot: Warning: Killed with signal 15 (by pid=8241 uid=0 code=kill)
2012-09-19 11:30:16 dovecot: Info: Dovecot v1.2.15 starting up (core dumps disabled)
2012-09-19 11:30:17 auth(default): Info: new auth connection: pid=8256
2012-09-19 11:30:17 auth(default): Info: new auth connection: pid=8255
2012-09-19 11:30:17 auth(default): Info: new auth connection: pid=8254
У меня в конфиге достаточно указать  auth_debug = yes и он все в логи кидает , это булевый параметр (вовсяком случае у меня)

12 (19.09.2012 12:26:03 отредактировано osorkon)

l_cho пишет:

auth_debug = yes и он все в логи кидает , это булевый параметр (вовсяком случае у меня)

ваша правла, затупил
давайте тогда вывод doveconf -nm auth, doveconf -nm imap, doveconf -nm imap-login
ps: кстати на вики рекомендуют еще auth_debug_passwords=yes

First of all enable auth_debug_passwords=yes and see if the logs show what the problem is. For non-PAM setups it should contain all the information needed to solve the problem. If it's trying to use a wrong password scheme, you can change that. See Authentication/PasswordSchemes.

Heresy grow from the idleness

13

давайте тогда вывод doveconf -nm auth, doveconf -nm imap, doveconf -nm imap-login

Oscor нет у меня такого пакета ....(

14

версия dovecot <2 ?
тогда давайте dovecot.conf полностью
возможно есть смысл поставить dovecot2 ?

Heresy grow from the idleness

15

Не хотелось бы dovecot2 ставить пока этот толком не освоил
Вот мой конфиг:

protocols = imap imaps
listen = *
log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/mail/%u
   # Hierarchy separator to use. You should use the same separator for all
   # namespaces or some clients get confused. '/' is usually a good one.
   # The default however depends on the underlying mail storage format.
   #separator =
   # Prefix required to access this namespace. This needs to be different for
   # all namespaces. For example "Public/".
   #prefix =
   # Physical location of the mailbox. This is in same format as
   # mail_location, which is also the default for it.
   #location =
   # There can be only one INBOX, and this setting defines which namespace
   # has it.
   #inbox = no
   # If namespace is hidden, it's not advertised to clients via NAMESPACE
   # extension. You'll most likely also want to set list=no. This is mostly
   # useful when converting from another server with different namespaces which
   # you want to deprecate but still keep working. For example you can create
   # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
   #hidden = yes
   # Show the mailboxes under this namespace with LIST command. This makes the
   # namespace visible for clients that don't support NAMESPACE extension.
   # "children" value lists child mailboxes, but hides the namespace prefix.
   #list = yes
   # Namespace handles its own subscriptions. If set to "no", the parent
   # namespace handles them (empty prefix should always have this as "yes")
   #subscriptions = yes
   #separator = /
   # Mailboxes are visible under "shared/user@domain/"
   # %%n, %%d and %%u are expanded to the destination user.
   #prefix = shared/%%u/
   # Mail location for other users' mailboxes. Note that %variables and ~/
   # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the
   # destination user's data.
   #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
   # Use the default namespace for saving subscriptions.
   #subscriptions = no
   # List the shared/ namespace only if there are visible shared mailboxes.
   #list = children
mail_privileged_group = mail
mail_debug = yes
protocol imap {
  # Login executable location.
  #login_executable = /usr/lib/dovecot/imap-login
  # IMAP executable location. Changing this allows you to execute other
  # binaries before the imap process is executed.
  #
  # This would write rawlogs into user's ~/dovecot.rawlog/, if it exists:
  #   mail_executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
  # </usr/doc/dovecot-common/wiki/Debugging.Rawlog.txt>
  #
  # This would attach gdb into the imap process and write backtraces into
  # /tmp/gdbhelper.* files:

16

и все? у вас не полный конфиг. уж не знаю по какому howto вы делали, но должны быть еще секции описывающие протоколы (imap.pop3), механизмы аутентификации (palain? md5 etc) и аутентификации как таковой. откуда dovecot знает где брать пользователей? pam? mysql? или ldap?

Heresy grow from the idleness

17 (19.09.2012 14:42:46 отредактировано l_cho)

Я так понимаю если пользователи у меня локальные так как Машина в Домене ,то и авторизация должна быть PAM ?
Уважаемый osorkon целиком dovecot.conf сюда не влезет

18

l_cho пишет:

Я так понимаю если пользователи у меня локальные так как Машина в Домене ,то и авторизация должна быть PAM ?

или LDAP

l_cho пишет:

Уважаемый osorkon целиком dovecot.conf сюда не влезет

тогда как вам помочь? я надеюсь вы понимаете что для диагностики проблемы просто строчки из лога

l_cho пишет:

2012-09-19 11:30:16 dovecot: Warning: Killed with signal 15 (by pid=8241 uid=0 code=kill)

не достачтоно.
Косяк почти наверняка в конфиге. Банальное misconfigured либо опечатка.

Heresy grow from the idleness

19

попробуйте в сполер запихнуть, может влезет. если нет тогда не знаю

Heresy grow from the idleness

20

l_cho пишет:

dovecot.conf сюда не влезет

на pastebin.org выкладывай

It is good day to die ...
MS Windows 10
Заметки о главном...

21

http://pastebin.com/VDStk2z9  тут он

22

повторюсь еще раз. у вас АБСОЛЮТНО не настроена авторизация. поэтому dovecot и отваливается. настройте (читай опишите) механизм авторизации пользователей так что бы он работал. поэксперементируйте между pam  и ldap. просто protocol imap {} и passdb pam {} не достаточно

Heresy grow from the idleness

23

l_cho не надоело сообщения без тегов писать? Многие такие посты просто не читают...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

24

Учту