exim + dovecot +mysql

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-23 12:23:08

вроде как тема пережовывалась кучу раз, но не_могу_настроить ... ткните в нужное место пожалуйста.
cat /etc/dovecot/dovecot.conf

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

base_dir = /var/run/dovecot/
protocols = pop3
listen = *
disable_plaintext_auth = no
shutdown_clients = yes

log_path = /var/log/dovecot/dovecot.log
info_log_path = /var/log/dovecot/dovecot.log
log_timestamp = "%b %d %H:%M:%S "

ssl_disable = yes

login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 5
login_max_processes_count = 64
login_max_connections = 256
login_greeting = nani desu ka! >_<
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s

mail_location = maildir: /var/spool/mail/%d/%n
mail_uid = 501
mail_gid = 501
mail_full_filesystem_access = no
mail_debug = yes
mail_log_prefix = "%Us(%u): "
mail_log_max_lines_per_sec = 10

mmap_disable = no
dotlock_use_excl = yes
fsync_disable = no
mail_nfs_storage = no
mail_nfs_index = no
lock_method = flock
mail_drop_priv_before_exec = no
verbose_proctitle = yes

first_valid_uid = 501
last_valid_uid = 501

first_valid_gid = 501
last_valid_gid = 501

max_mail_processes = 512
mail_process_size = 256
mail_max_keyword_length = 50
mail_cache_min_mail_count = 0
mailbox_idle_check_interval = 30
mail_save_crlf = no

maildir_stat_dirs = yes
maildir_copy_with_hardlinks = yes
maildir_copy_preserve_filename = no

protocol pop3 {
login_executable = /usr/libexec/dovecot/pop3-login
mail_executable = /usr/libexec/dovecot/pop3
pop3_no_flag_updates = no
pop3_enable_last = no
pop3_reuse_xuidl = no
pop3_lock_session = no
pop3_uidl_format = %08Xu%08Xv
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
mail_max_userip_connections = 32
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
log_path = /var/log/dovecot/dovecot-pop3.log
info_log_path = /var/log/dovecot/dovecot-pop3.log

}

protocol lda {
postmaster_address =
deliver_log_format = msgid=%m: %$
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
log_path = /var/log/dovecot/dovecot-lda.log
info_log_path = /var/log/dovecot/dovecot-lda.log
}

auth_executable = /usr/libexec/dovecot/dovecot-auth
auth_process_size = 256
auth_cache_size = 0
auth_cache_size = 0


auth_default_realm = example.com
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
auth_worker_max_count = 30
auth_worker_max_request_count = 64
auth_failure_delay = 1

auth default {
mechanisms = plain login cram-md5
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = vmail
count = 1
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/run/dovecot/auth-client
mode = 0600
user = vmail
}
}
}
plugin {
}
cat /etc/dovecot/dovecot-sql.conf

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

driver = mysql
connect = host=localhost dbname=maildb user=dovecot password=010203
default_pass_scheme = CRAM-MD5
password_query = SELECT username, password FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT maildir AS home, 501 AS uid, 501 AS gid FROM mailbox WHERE username = '%u'
Транспорт Exim'a расписан как:

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

dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $local_part@$domain -f $sender_address -a original_local_part@$original_domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = vmail

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

id vmail
uid=501(vmail) gid=501(vmail) группы=501(vmail)

ls -l /var/spool/
drwxrwxr-x 2 vmail mail 6 Июн 22 14:20 mail

ls -l /usr/libexec/dovecot/deliver
-rwxr-x--- 1 root vmail 697608 Июн 22 14:54 /usr/libexec/dovecot/deliver
tail /var/log/exim/exim_main.log

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

2009-06-23 11:49:22 no IP address found for host myworld (during SMTP connection from ([192.168.21.50]) [192.168.21.50] I=[192.168.21.5]:25)
2009-06-23 11:49:22 Delay 0s for [192.168.21.50] with HELO=[192.168.21.50]. Mail from to .
2009-06-23 11:49:22 1MJ0ks-0001Sg-8o <= H=([192.168.21.50]) [192.168.21.50] I=[192.168.21.5]:25 P=esmtp S=667 id=4A408A1D.6070609@example.com from for
2009-06-23 11:49:22 1MJ0ks-0001Sg-8o == R=dovecot_user T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/libexec/dovecot/deliver
tail /var/log/dovecot/dovecot-lda.log

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

deliver(alfa@example.com): Jun 23 11:49:22 Info: auth input:
deliver(alfa@example.com): Jun 23 11:49:22 Info: auth input: home=example.com/alfa/
deliver(alfa@example.com): Jun 23 11:49:22 Info: auth input: uid=501
deliver(alfa@example.com): Jun 23 11:49:22 Info: auth input: gid=501
deliver(alfa@example.com): Jun 23 11:49:22 Info: Home dir not found: example.com/alfa/
deliver(alfa@example.com): Jun 23 11:49:22 Info: maildir: data= /var/spool//mail/example.com/alfa
deliver(alfa@example.com): Jun 23 11:49:22 Info: maildir++: root= /var/spool/mail/example.com/alfa, index=, control=, inbox= /var/spool/mail/example.com/alfa
deliver(alfa@example.com): Jun 23 11:49:22 Error: mkdir( /var/spool/mail/example.com/alfa/cur) failed: Permission denied
deliver(alfa@example.com): Jun 23 11:49:22 Info: msgid=<4A408A1D.6070609@example.com>: save failed to INBOX: Internal error occurred. Refer to server log for more information. [2009-06-23 11:49:22]

Хостинговая компания 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/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: exim + dovecot +mysql

Непрочитанное сообщение Laa » 2009-06-23 17:48:06

Ну похоже ошибка в правах:

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

Error: mkdir( /var/spool/mail/example.com/alfa/cur) failed: Permission denied
Посмотрите права и поправьте!
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

Re: exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-24 8:55:11

в листинге указаны права на папку mail

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

drwxrwxr-x 2 vmail  mail  6 Июн 22 14:20 mail
если все так просто было ...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: exim + dovecot +mysql

Непрочитанное сообщение hizel » 2009-06-24 9:15:48

501 это чей uid ?

моя конфигурация из значимого:

dovecot.conf

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

mail_location = maildir:/var/mail/exim/%d/%n
mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail

auth default {
  mechanisms = plain login
  passdb sql {
    args = /usr/local/etc/dovecot-sql.conf
  }
  userdb sql {
    args = /usr/local/etc/dovecot-sql.conf
  }
  user = root
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail 
    }
  }
}
dovecot-sql.conf

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

password_query = SELECT password FROM mailboxs,domains \
 WHERE mailboxs.name = '%n' AND domains.name = '%d' AND domain_id = domains.id AND domains.active='1' AND mailboxs.active='1';

user_query = SELECT '/var/mail/exim/%d/%n' AS home FROM mailboxs,domains \
 WHERE mailboxs.name = '%n' AND domains.name = '%d' AND mailboxs.domain_id = domains.id AND domains.active='1' AND mailboxs.active='1';

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

>ls -l /var/mail/ | grep exim
drwxr-xr-x  14 vmail       mail          512 Jun 15 15:57 exim
процесы адентификатра под рутом
сокет для доступа под vmail

из базы я никаких uid gid не возращаю, берутся mail_uid и mail_gid из основной секции

когда проснусь сгенерирую теоретическое обоснование :-)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

Re: exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-24 10:41:07

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

id vmail
uid=501(vmail) gid=501(vmail) группы=501(vmail)
Последний раз редактировалось Laa 2009-06-25 10:04:19, всего редактировалось 1 раз.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.

alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

Re: exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-24 10:49:30

добавил mail_uid и mail_gid
убрал запрос из базы на uid|gid ...
проблема осталось -_-

##
даже если поставить права на папку chmod 777, то все равно ругается на пермишн ... вот что меня как то слегка удручает ...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: exim + dovecot +mysql

Непрочитанное сообщение hizel » 2009-06-24 12:57:25

в auth{
user = root

внедрите, и не ставьте 777 это не путь джедая
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

Re: exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-24 13:04:24

а дк мы давно на истинном пути ... внедренно еще с утра на работоспособность не повлияло =(

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: exim + dovecot +mysql

Непрочитанное сообщение hizel » 2009-06-24 14:46:52

ну так а текущие права на все дерево там норма?
у меня везде vmail:mail
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

alec
рядовой
Сообщения: 10
Зарегистрирован: 2009-06-23 12:13:05
Контактная информация:

Re: exim + dovecot +mysql

Непрочитанное сообщение alec » 2009-06-25 6:37:34

везде
дома собралось нормально, заменил конфиг на работе -- заработало ... не знаю где была загвоздка ... буду разбиратся