Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

ShriEkeR (16-05-2011 18:50): FAQ по Exim MTA #2  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Текущая версия Exim 4.72

   Home page Автор Philip Hazel, University of Cambridge.
Exim - чертовски быстр, отличный выбор для загруженных систем. Свободно распространяемый Mail Transport Agent (MTA, лицензия GPL), обладающий возможностью очень гибкой и тонкой настройки, включая поиск конфигурационной информации в базах данных - mySQL, PostgresQL, Oracle, SQLite.., а также LDAP.  В Exim встроена поддержка Maildir (quota), SMTP-аутентификация, TLS/SSL, SpamAssassin, сканирование на лету антивирусом(ами), ACL, системные фильтры... Сомневающимся.
На многие вопросы помогут найти ответы рассылки: На русском + На английском
Документация на русском по Exim + много полезной инфы на www.lissyara.su

Установка почтового сервера на базе Exim с поддержкой виртуальный аккаунтов (MySQL).
Подробное руководство состоит из двух связанных частей:
   1. Установка и настройка Exim 4.20.
   2. Установка  и настройка Tpop3d с поддержкой виртуальных аккаунтов.
Внимательно читаем здесь © ginger
-=-=-=-
Улучшенный вариант части 1: Exim-4.50 + MySQL © ginger
-=-=-=-
Так как Tpop3d не совместим с MS Outlook Express 6, а также не поддерживает IMAP, автор рекомендует его заменить на Dovecot. Изменения, которые нужно сделать cмотрим здесь © ginger
-=-=-=-
Еще один вариант установки © Wombat
-=-=-=-
Exim+Courier-Imap+MySQL+ClamAV+DSPAM+SquirrelMail © Павел Семенец Искать по ctrl+F=Павел Семенец
-=-=-=-
Опции для сборки exim из портов (FreeBSD) © tankistua
 
Уважаемые коллеги!
 
Нам очень дороги ваши конфиги и логи на несколько страниц, но, поверьте, их гораздо приятнее читать когда они заключены в тэг more.

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 10:58 29-08-2003 | Исправлено: hoochie, 22:55 16-12-2010
alexpogodin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения за навязчивость, но все еще живу с нерешенной проблемой (см. http://forum.ru-board.com/topic.cgi?forum=8&topic=4514&start=160#12)
Вкратце: хочу ВСЮ почту пришедшую адресатам <any_local_part>@domain.com складывать в один mailbox.  
 
Ткните, пожалуйста, в решение. Очинно надо!
 
С уважением!

Всего записей: 35 | Зарегистр. 28-06-2004 | Отправлено: 00:24 20-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexpogodin

Цитата:
Вкратце: хочу ВСЮ почту пришедшую адресатам <any_local_part>@domain.com складывать в один mailbox.  
 
Ткните, пожалуйста, в решение. Очинно надо!

Файл aliases должен быть следующего содержания:
*@domain.com : user@example.net
 
Вообще желательно хотя бы иногда использовать man aliases, а так же читать документацию по Exim.

----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 09:19 20-12-2005
DarkHost



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:

Цитата:
Вкратце: хочу ВСЮ почту пришедшую адресатам <any_local_part>@domain.com складывать в один mailbox.    
   
Ткните, пожалуйста, в решение. Очинно надо!  

Файл aliases должен быть следующего содержания:  
*@domain.com : user@example.net  
 
Вообще желательно хотя бы иногда использовать man aliases, а так же читать документацию по Exim.

 
Согласен, это простейший способ. От себя хочу добавить, что практически все проблемы с перенаправлением почты можно решить при помощи redirect router. Например для данного случая:
 
user_redirect:
no_verify
driver=redirect
condition=${if eq{$local_part}{any_local_part}{1}{0}}
data=куда пересылать(это может быть имя пользователя или полный адрес)
 
Но это так сказать решение "через задницу", у меня подобный роутер используется для пересылки писем, помеченных, как спам, на другой ящик; ginger  описала более правильный и простой подход: использовать таблицу aliases.

Всего записей: 189 | Зарегистр. 01-08-2005 | Отправлено: 10:20 20-12-2005 | Исправлено: DarkHost, 10:22 20-12-2005
alexpogodin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ginger

Цитата:
Файл aliases должен быть следующего содержания:  
*@domain.com : user@example.net  

Это я понимаю. Так я делал в sendmail (вернее там я использовал для этого virtusertable), но тут мы вроде обсуждаем решение с использованием MySQL. Вот около этого метода и хотелось бы решение. Я же не думаю что у Вас эта задача решается именно так
 
DarkHost

Цитата:
user_redirect:  
no_verify  
driver=redirect  
condition=${if eq{$local_part}{any_local_part}{1}{0}}  
data=куда пересылать(это может быть имя пользователя или полный адрес)

Э-эх... Знай я как записать any_local_part в condition наверное задал бы другой вопрос Вы правильно поняли мой вопрос?

Всего записей: 35 | Зарегистр. 28-06-2004 | Отправлено: 12:34 20-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexpogodin

Цитата:
Это я понимаю. Так я делал в sendmail (вернее там я использовал для этого virtusertable), но тут мы вроде обсуждаем решение с использованием MySQL. Вот около этого метода и хотелось бы решение. Я же не думаю что у Вас эта задача решается именно так  

INSERT INTO aliases VALUES ('*','domain.com','user@example.net');
 
Помоему все предельно ясно и каких либо вопросов возникнуть не должно.

----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 13:19 20-12-2005
DarkHost



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:

Цитата:
 
Цитата:
user_redirect:  
no_verify  
driver=redirect  
condition=${if eq{$local_part}{any_local_part}{1}{0}}  
data=куда пересылать(это может быть имя пользователя или полный адрес)  

Э-эх... Знай я как записать any_local_part в condition наверное задал бы другой вопрос  Вы правильно поняли мой вопрос?

Фи! Немного мануала и можно превратить мой роутер в то, что требуется:
user_redirect:  
no_verify  
driver=redirect  
condition=${if eq{$domain}{domain.com}{1}{0}}  
data=куда пересылать(это может быть имя пользователя или полный адрес)
 
Я все правильно понял, я лишь описал другой подход.

Всего записей: 189 | Зарегистр. 01-08-2005 | Отправлено: 13:41 20-12-2005
tankistua

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkHost

Цитата:
Фи! Немного мануала и можно превратить мой роутер в то, что требуется:

пальцы разбрасывать тут не стоит - это не то место. Здесь не тот контингент.

Всего записей: 9572 | Зарегистр. 15-01-2002 | Отправлено: 14:25 20-12-2005
cdrom88

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <f669b9a4f55074eb7e42b4356f3d9e04@host.dom.ru>
user name.last@domen
+OK Tell me your password.
pass pass
-ERR Lies! Try again

собственно вот такая проблема
в логах tpop3d это:

Код:
Dec 21 10:31:31 gw tpop3d[74199]: auth_mysql_new_user_pass: unix user `maildir' for [name.last@domen; name.last@nerud] does not make sense
Dec 21 10:31:31 gw tpop3d[74199]: connection_do: client `[6]192.168.0.251/host.dom.ru': username `name.last@domen': 1 authentication failures

вот конфик tpop3d

Код:
 
listen-address:         0.0.0.0:110
                        max-children:           1024
                        log-facility:          mail
                        auth-mysql-enable:      yes
                        auth-mysql-mail-group:  mail
                        auth-mysql-hostname:    localhost
                        auth-mysql-database:    exim
                        auth-mysql-username:    sqlmail
                        auth-mysql-password:    12345
                        auth-mysql-pass-query:  SELECT CONCAT(home, '/Maildir/'), \
                        CONCAT('{crypt}',crypt),'mail', 'maildir' FROM users \
                        WHERE id = '$(local_part)' AND mbox_host = '$(domain)'   \
                        AND active = 'Y'

вообще понять не могу почему такой лог. такое ощущение что поддерживаются mailbox, а не maildir, но

Код:
exim -bV
Exim version 4.60 #0 (FreeBSD 5.3) built 20-Dec-2005 17:58:45
Copyright (c) University of Cambridge 2005
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() PAM Perl OpenSSL Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Configuration file is /usr/local/etc/exim/configure
 


Всего записей: 7 | Зарегистр. 21-12-2005 | Отправлено: 08:50 21-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cdrom88

Цитата:
auth-mysql-pass-query:  SELECT CONCAT(home, '/Maildir/'), \  
CONCAT('{crypt}',crypt),'mail', 'maildir' FROM users \  
WHERE id = '$(local_part)' AND mbox_host = '$(domain)'   \  
AND active = 'Y'

Покажите пожалуйста структуру таблицы users (команда DESCRIBE users;) и запись пользователя в ней.
Так же выполните запрос:  
SELECT(home,'/Maildir/'), CONCAT('{crypt}',crypt),'mail', 'maildir' FROM users \
WHERE id = 'имя_пользователя' AND mbox_host = 'домен' AND active = 'Y';
Покажите результат.
Поле 'crypt' содержит ENCRYPT('пароль') да или нет?


----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 10:21 21-12-2005
DarkHost



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
cdrom88
Сделай select * from user where user='имя одного из пользователей'
и результат в студию.

Всего записей: 189 | Зарегистр. 01-08-2005 | Отправлено: 10:26 21-12-2005
cdrom88

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот:

Код:
 
mysql> describe users;
+-----------+------------------+------+-----+---------------------+-------+
| Field     | Type             | Null | Key | Default             | Extra |
+-----------+------------------+------+-----+---------------------+-------+
| id        | varchar(64)      |      | PRI |                     |       |
| crypt     | varchar(64)      |      |     |                     |       |
| passwd    | varchar(64)      |      |     |                     |       |
| uid       | int(10) unsigned | YES  |     | 26                  |       |
| gid       | int(10) unsigned | YES  |     | 6                   |       |
| mbox_host | varchar(128)     |      | PRI | nerud               |       |
| shell     | varchar(32)      | YES  |     | /sbin/nologin       |       |
| home      | varchar(128)     | YES  |     | /home/vmail/domains |       |
| quota     | tinyint(4)       | YES  |     | 50                  |       |
| active    | enum('Y','N')    | YES  |     | Y                   |       |
+-----------+------------------+------+-----+---------------------+-------+

 

Код:
 
mysql>  SELECT CONCAT(home,'/Maildir/'), CONCAT('{crypt}',crypt),'mail','maildir' FROM users where id="andrey" and mbox_host="nerud";
+-------------------------------------------+-------------------------+------+---------+
| CONCAT(home,'/Maildir/')                  | CONCAT('{crypt}',crypt) | mail | maildir |
+-------------------------------------------+-------------------------+------+---------+
| /home/vmail/domains/nerud/andrey/Maildir/ | {crypt}JgfEfT5OoAfFA    | mail | maildir |
+-------------------------------------------+-------------------------+------+---------+

 

Код:
 
mysql> select * from users;
+--------------------+---------------+--------+------+------+-----------+---------------+----------------------------------------------+-------+--------+
| id                 | crypt         | passwd | uid  | gid  | mbox_host | shell         | home                                         | quota | active |
+--------------------+---------------+--------+------+------+-----------+---------------+----------------------------------------------+-------+--------+
| andrey             | JgfEfT5OoAfFA | 1q2w3e |   26 |    6 | nerud     | /sbin/nologin | /home/vmail/domains/nerud/andrey             |    15 | Y      |
+--------------------+---------------+--------+------+------+-----------+---------------+----------------------------------------------+-------+--------+
 

 
crypt = ENCRYPT('pass')

Всего записей: 7 | Зарегистр. 21-12-2005 | Отправлено: 10:41 21-12-2005 | Исправлено: cdrom88, 10:43 21-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cdrom88
Меняем запрос "auth-mysql-pass-query:" на приведенный ниже:
 
SELECT CONCAT('/home/vmail', '$(domain)', '/', '$(local_part)'), \
CONCAT('{crypt}', crypt), 'mail', 'maildir' FROM users \
WHERE id = '$(local_part)' AND mbox_host = '$(domain)' AND active = 'Y'
 
Сообщите пожалуйста о результате.

----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 11:31 21-12-2005
cdrom88

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Меняем запрос "auth-mysql-pass-query:" на приведенный ниже:
 SELECT CONCAT('/home/vmail', '$(domain)', '/', '$(local_part)'), \
CONCAT('{crypt}', crypt), 'mail', 'maildir' FROM users \
WHERE id = '$(local_part)' AND mbox_host = '$(domain)' AND active = 'Y'  

не помогло. дело думаю не в этом. запрос ведь нормально формируется.
может необходимо содержание других таблиц? (aliases и userforward пустые)
 
Добавлено:
мне не понятны эти строчки лога. можешь объяснить?

Код:
auth_mysql_new_user_pass: unix user `maildir' for [andrey@nerud; andrey@nerud] does not make sense

Всего записей: 7 | Зарегистр. 21-12-2005 | Отправлено: 12:18 21-12-2005 | Исправлено: cdrom88, 12:39 21-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cdrom88

Цитата:
не помогло. дело думаю не в этом. запрос ведь нормально формируется.

Рестарт Tpop3d после изменений сделан?
 

Цитата:
мне не понятны эти строчки лога. можешь объяснить?
auth_mysql_new_user_pass: unix user `maildir' for [andrey@nerud; andrey@nerud] does not make sense

В сообщении говорится о том, что при выполнении запроса от имени maildir для пользователя andrey@nerud не получено должного результата.
Это сообщение относится к предыдущему не измененному запросу в "auth_mysql_new_user_pass", поэтому давайте вернемся к
 
SELECT CONCAT('/home/vmail', '$(domain)', '/', '$(local_part)'), \  
CONCAT('{crypt}', crypt), 'mail', 'maildir' FROM users \  
WHERE id = '$(local_part)' AND mbox_host = '$(domain)' AND active = 'Y'
 
После чего не забываем перезапустить Tpop3d.

----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 13:44 21-12-2005
cdrom88

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сервер был перезапущен и в логах такие же сообщения.
 
Пс. только правильней писать:
SELECT CONCAT('/home/vmail/domains/', '$(domain)', '/'...
 
Добавлено:
проблема решилась
у меня вместо пользователя mail заведен mailnull.
извиняюсь что так долго голову морочил.
но теперь другая ошибка

Код:
 
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <ce750f98639fad1cac0a321aed4ae6c9@gw.dom.ru>
user andrey@nerud
+OK Tell me your password.
pass 1q2w3e
-ERR Unable to open mailbox; it may be locked by another concurrent session.
Connection closed by foreign host.

 
 
Добавлено:
и эта проблема решилась как только вернулся к старым настройкам tpop3d.
спасибо что потратила столько времени на меня

Всего записей: 7 | Зарегистр. 21-12-2005 | Отправлено: 14:33 21-12-2005
sandro2k5

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема с Dovecot
FreeBSD 6.0-RELEASE
Exim 4.60
MySQL 5.0.16
Dovecot 0.99.14
 
Настроил exim + dovecot с аутентификацией юзеров через mysql. Все работает отлично - днем. Ночью почту никто не проверяет, и на утро dovecot теряет связь с mysql.
В логах висит вот такое:

Код:
 
Dec 23 09:23:15 relay dovecot-auth: MySQL: Error executing query "SELECT password FROM users WHERE login = '*****' AND domain = '*****.com' AND status = '1'": MySQL server has gone away
Dec 23 09:23:15 relay pop3-login: Disconnected [192.168.0.12]

 
При этом exim почту отправляет - а у него аутентификация тоже через mysql в том числе и для локальных юзеров, так что проблема не в mysql. mysql на всякий случай тоже проверял - работает.
 
После перезапуска dovecot начинает работать нормально и в крайнем случае можно выставить в крон его периодический перезапуск
Такое ощущение, что он засыпает, если им не пользуются. Или так и должно быть?

Всего записей: 2 | Зарегистр. 23-12-2005 | Отправлено: 11:37 23-12-2005
ginger



Рыжик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sandro2k5
Проблема в настройке MySQL, читаем документацию и правим.
http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

----------
Кто людям помогает, тот тратит время зря... Хорошими делами прославиться нельзя...

Всего записей: 854 | Зарегистр. 03-09-2001 | Отправлено: 17:38 23-12-2005
sandro2k5

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ginger
Спасибо

Всего записей: 2 | Зарегистр. 23-12-2005 | Отправлено: 17:57 23-12-2005
Saint_Bes

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я видел уже подобное сообщение, но оно без ответа....
Вопрос такой - Конект телнетом на localhost 110, ввожу имя пользователя(соответственно с доменом), пишет - всё ОК, а вот при вводе пароля выдаёт - -ERR Lies! Try again!, хотя пароль правильный(SMTP авторизацию проходит)... Собственно интересуюсь - почему...? И как это решить, в мнете решений не нашёл. Заранее благодарю за помощь.
ЗЫ о/с - FreeBSD 5.2, MySQL 5.02.

Всего записей: 5 | Зарегистр. 29-12-2005 | Отправлено: 18:20 29-12-2005
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Saint_Bes
Так а exim тут не при чем. Это ковыряй свой pop3 сервер.

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 18:33 29-12-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA
ShriEkeR (16-05-2011 18:50): FAQ по Exim MTA #2


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru