Обсуждение статьи Exim&Dovecot + fetchmail

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
nick_f
рядовой
Сообщения: 48
Зарегистрирован: 2008-07-10 11:56:28

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение nick_f » 2008-12-03 21:05:12

Вопрос:
Судя по

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

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT `password` FROM \
                        `mailbox` WHERE `username` \
                        = '${quote_mysql:$auth1}'}{$value}fail}
  server_set_id = $auth2
Во-первых: В последней строчке правильнее было бы указать не $auth2 а $auth1?
Во-вторых - судя по запросу, у клиента в качестве имени пользователя должно быть username@domainname. Но при этом в логе появляются записи такого типа:

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

.........
2008-12-03 19:57:37 1L7vyi-000027-Tc "postmaster@domainname" from env-from rewritten as ""postmaster@domainname"@domainname" by submission mode
2008-12-03 19:57:37 1L7vyi-000027-Tc <= "postmaster@domainname"@domainname H=(localhost.localdomain) [192.168.2.18]:48115 I=[10.2.2.1]:25 P=esmtpa A=auth_cram_md5:postmaster@domainname S=736 id=4936C892.8060008@domainname T="test" from <postmaster@domainname> for othuser@domainname
...............
т.е. имя пользователя подменяется на postmaster@domainname@domainname.
И как следствие, в письме некоторые поля получают значение postmaster@domainname@domainname, и эти письма отбиваются следующими релеями...

Интересно, как все-таки правильно? Изменить server_set_id на server_set_id = ${local_part:$auth2}? Работает, конечно но некрасиво...

Да, кстати, при server_set_id = $auth2 адрес подменяется на @domainname. И в итоге письма опять же не уходят
Изображение

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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение dikens3 » 2008-12-03 22:05:39

Используйте аутентификацию dovecot и будет вам счастье.

http://www.lissyara.su/?id=1173
Хотел на FreeBSD 7 поднять все это дело, но не сложилось с рейдом: адаптековский asr падал поcтоянно, аналогично как и gmirror. Времени думать долго не было и пришлось лепить с г..на конфту (железо старое) в ускоренном темпе. Поставил Debian etch - и сконфигуировал там md. Пока вроде держится. Но я не об этом...
Поскольку постфиксадмин хранить данные в $CONF['encrypt'] = 'md5crypt'; а хранить в открытом виде как бы не особо и хотелось бы, плюс ко всему проверка логина/пароля на поп3 идет через dovecot, то почему бы не попользоваться им и для smtp auth ?

вот что получается у меня.
postfixadmin/config.inc.php
...
$CONF['encrypt'] = 'md5crypt';
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';

/etc/dovecot/dovecot-sql.conf
...
default_pass_scheme = MD5
password_query = SELECT `username` as `user`,`password` FROM `mailbox` WHERE `username`='%n@%d' AND `active`='1'

user_query = SELECT `maildir` AS `home`, 102 AS `uid`, 104 AS `gid` FROM `mailbox` WHERE `username`='%n@%d' AND `active`='1'

102,104 - это дефолтный дебиановские Debian-exim. решил поставить их т.к. после апдейта или других манипуляций оно все права на спул и логи exim'a ставит в Debian-exim, вобщем не удобно что-то другое ставить.
соответсвенно, меняем чуток /etc/dovecot/dovecot.conf
...
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = Debian-exim
#group = Debian-exim
}
client {
path = /var/run/dovecot/auth-client
mode = 0660
user = Debian-exim
#group = Debian-exim
}
}

ну и exim4.conf:
exim_user = Debian-exim
exim_group = Debian-exim
...
dovecot_delivery:
driver = pipe
command = /usr/lib/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = Debian-exim
...
auth_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1

auth_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1

отмечу также что для нормальной работы dovecot_delivery мне пришлось на dovecot.conf и dovecot-sql.conf поставить группой Debian-exim и дать право на чтение, а то по-дефолту шло -rw-----— 1 root root и доставка не работала а в логе exim'a шли матюки на пермишены файла dovecot.conf
Также нужно поставить права на mail_location как Debian-exim:Debian-exim ну или какие там у вас узеры и группы.

Надеюсь, кому-то это будет полезным. Если что не так (может где глупости делаю) - поправьте меня плиз.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
nick_f
рядовой
Сообщения: 48
Зарегистрирован: 2008-07-10 11:56:28

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение nick_f » 2008-12-04 10:20:19

dikens3 писал(а):Используйте аутентификацию dovecot и будет вам счастье.
Не вариант. так как не факт что довекот останется жить на этой машине.
Изображение

Аватара пользователя
ruslan
рядовой
Сообщения: 33
Зарегистрирован: 2008-08-05 11:54:25
Откуда: Dnepropetrovsk, UA
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение ruslan » 2008-12-05 18:00:51

При попытке авторизованного релея на сервек прова - в логах такая ругань.

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

authentication required but server did not advertise AUTH support
И действительно:

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

telnet ***.***.** 25
Trying 111.11.11.11...
Connected to ***.***.***.
Escape character is '^]'.
220 ***.***.*** ESMTP CommuniGate Pro 5.2.10 is glad to see you!
EHLO
250-***.***.*** we trust you
250-DSN
250-SIZE 10485760
250-STARTTLS
250-ETRN
250-TURN
250-ATRN
250-NO-SOLICITING
250-HELP
250-PIPELINING
250 EHLO
AUTH как не бывало((((
но...
после

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

AUTH PLAIN
Запрашивает таки авторизацию.Значит авторизацию он поддерживает - ибо mdaemon пашет с авторизацией.
как бы сказать екзиму, чтоб он авторизовался, кладя на то, что комунгейт не показывает, что умеет таки авторизовывать
FreeBSD 6.4-STABLE

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение dikens3 » 2008-12-05 19:36:50

ruslan писал(а):При попытке авторизованного релея на сервек прова - в логах такая ругань.

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

authentication required but server did not advertise AUTH support
И действительно:

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

telnet ***.***.** 25
Trying 111.11.11.11...
Connected to ***.***.***.
Escape character is '^]'.
220 ***.***.*** ESMTP CommuniGate Pro 5.2.10 is glad to see you!
EHLO
250-***.***.*** we trust you
250-DSN
250-SIZE 10485760
250-STARTTLS
250-ETRN
250-TURN
250-ATRN
250-NO-SOLICITING
250-HELP
250-PIPELINING
250 EHLO
AUTH как не бывало((((
но...
после

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

AUTH PLAIN
Запрашивает таки авторизацию.Значит авторизацию он поддерживает - ибо mdaemon пашет с авторизацией.
как бы сказать екзиму, чтоб он авторизовался, кладя на то, что комунгейт не показывает, что умеет таки авторизовывать
1. Чё здесь делает твой вопрос?
2. Декларируемый AUTH - это кому можно производить аутентификацию.
Как думаешь тебе можно?
3. Не сомневаюсь что почтовый сервер умеет аутентифицировать кого-либо.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
ruslan
рядовой
Сообщения: 33
Зарегистрирован: 2008-08-05 11:54:25
Откуда: Dnepropetrovsk, UA
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение ruslan » 2008-12-08 10:08:48

Глумление завершено?
FreeBSD 6.4-STABLE

Аватара пользователя
ruslan
рядовой
Сообщения: 33
Зарегистрирован: 2008-08-05 11:54:25
Откуда: Dnepropetrovsk, UA
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение ruslan » 2008-12-11 17:16:43

Вот моя секция с авторизацией.

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

driver = plaintext
  public_name = PLAIN
  client_send = : name@prov.com : pass
  server_condition = ${lookup mysql{SELECT `username` FROM \
                     `mailbox` WHERE `username` = \
                     '${quote_mysql:$auth2}' AND `password` = \
                     '${quote_mysql:$auth3}'}{yes}{no}}
  server_prompts = : Username:: : Password::
  server_set_id = $auth2
Подскажите че делать? Или я сделал неправильный вывод из логов?
FreeBSD 6.4-STABLE

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение dikens3 » 2008-12-11 22:15:39

Создайте свою тему, там опишите ситуацию, имеющееся ПО,ОС и т.д.
Если вы использовали для настройки какую-либо статью с сайта www.lissyara.su - укажите её.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-03 18:21:53

При попытке создать пользователя в postfixadmin выводет вот такое:

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

Postfix Admin Setup Checker
Running software:
    * PHP version 5.2.10
    * Apache/2.0.63 (FreeBSD) PHP/5.2.10 with Suhosin-Patch
Checking for dependencies:
    * Warning: Magic Quotes: ON (internal workaround used)
    * Depends on: presence config.inc.php - OK
    * Depends on: MySQL 3.23, 4.0 - OK
    * Depends on: MySQL 4.1 - OK
    * Testing database connection - OK - mysqli://exim:xxxxx@localhost/exim
    * Depends on: session - OK
    * Depends on: pcre - OK
    * Depends on: multibyte string - OK
    * Depends on: IMAP functions - OK
Everything seems fine... attempting to create/update database structure
Warning: preg_replace() [function.preg-replace]: Internal pcre_fullinfo() error -3 in /usr/local/www/postfixadmin/upgrade.php on line 98
Database is up to date 
Подскажите пожалуйста как это лечить.

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-05 12:15:00

Пользователю exim в БД MySQL, дайте права бога на Базу exim

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-05 13:26:59

Права "Бога" пользователю exim для базы exim установлены, так как все делал по статье:

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

GRANT ALL PRIVILEGES ON *.* TO exim@localhost IDENTIFIED BY 'exim' WITH GRANT OPTION;
Единственное что было сделано не по статье так это дополнительно установил:

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

php5-mbstring-5.2.10 The mbstring shared extension for php
При попытке завести админ пользователя (если проигнорировать на то что ругаеться postfixadmin) выдает такое:

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

Warning: preg_match() [function.preg-match]: Internal pcre_fullinfo() error -3 in /usr/local/www/postfixadmin/functions.inc.php on line 298
но пользователя так и не создает:

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

Admin is not a valid email address!
пользователя ввожу так: admin@domain_name. Подскажите пожалуйста в чем может быть загвоздка? С почтой разбираюсь впервые, так что не пинайте сильно...

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-05 15:21:10

Покажи скрин!

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-05 15:30:00

Собственно вот.
Вложения
123.GIF

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-07 17:24:28

Я уже даже не знаю что делать... Пробывал ткатывать пхп до 5.9, базу в мускуле пересоздать - та же ситуация.

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-07 22:40:09

Archy писал(а):Я уже даже не знаю что делать... Пробывал ткатывать пхп до 5.9, базу в мускуле пересоздать - та же ситуация.

Блин емае

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

Admin is not a valid email address
Админ не является действительным адресом электронной почты

как админа вводишь?
admin@yourdomain.ru так ????
или еще как нить типа admin@yourdomain без .ru | .com | .net | .ua итд итп уй вам и показывать будет....

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-08 9:35:28

Cancer писал(а): Админ не является действительным адресом электронной почты

как админа вводишь?
admin@yourdomain.ru так ????
или еще как нить типа admin@yourdomain без .ru | .com | .net | .ua итд итп уй вам и показывать будет....
Ввожу как полагается admin@mydomain.ru и после этого вижу второй Warning:

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

Warning: preg_match() [function.preg-match]: Internal pcre_fullinfo() error -3 in /usr/local/www/postfixadmin/functions.inc.php on line 298
Но при первоначальном запуске setup.php (без ввода админа), выдает:

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

Warning: preg_replace() [function.preg-replace]: Internal pcre_fullinfo() error -3 in /usr/local/www/postfixadmin/upgrade.php on line 98

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-08 11:45:26

Всем спасибо, проблему решил пресборкой php5-pcre.

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-12 20:33:22

Столкнулся еще с одной проблемой. При переходи в postfixadmin на вкладочку обзор выдает вот такое сообщение:

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

DEBUG INFORMATION:
Invalid query: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

Please check the documentation and website for more information. 

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-13 15:37:15

Archy писал(а):Столкнулся еще с одной проблемой. При переходи в postfixadmin на вкладочку обзор выдает вот такое сообщение:

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

DEBUG INFORMATION:
Invalid query: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

Please check the documentation and website for more information. 
сноси БД exim и заного создавай новые таблицы и по новой...

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-15 13:55:22

Cancer писал(а):
Archy писал(а):Столкнулся еще с одной проблемой. При переходи в postfixadmin на вкладочку обзор выдает вот такое сообщение:

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

DEBUG INFORMATION:
Invalid query: Illegal mix of collations (cp1251_bin,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='

Please check the documentation and website for more information. 
сноси БД exim и заного создавай новые таблицы и по новой...
Сделал все как ты сказал, но результат тот-же. Postfixadmin при создании таблиц кодировку меняет... в таблицах создает поля с кодировкой utf8_unicode_ci и latin1_swedish_ci. Хотя после создания базы exim и таблиц вручную, кодировка везде нормальная: cp1251_bin.
Вложения
exim.JPG

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-15 22:54:38

Смотри как должно быть, подумай сам немного что не так сделал!
Вложения
exim_db.png

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-16 12:18:04

Большое спасибо. Поменял всю кодировку в базе exim на latin1_swedish_ci и все заработало. Только вот при попытке зайти в Бэкап в Postfixadmin, пишет что нет такой таблицы:

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

Invalid query: Table 'exim.alias_domain' doesn't exist 
Реально настроить бэкап или не заморачиваться?

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-16 12:24:33

Archy писал(а):Большое спасибо. Поменял всю кодировку в базе exim на latin1_swedish_ci и все заработало. Только вот при попытке зайти в Бэкап в Postfixadmin, пишет что нет такой таблицы:

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

Invalid query: Table 'exim.alias_domain' doesn't exist 
Реально настроить бэкап или не заморачиваться?

Поищи на форуме там есть исправление этой траблы =)!

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Cancer » 2009-07-16 12:32:31

Вот решение проблемы =)!

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

Закоментить тут
/usr/local/www/postfixadmin/backup.php
Вот эту строку

      $tables = array(
         'admin',
         'alias',
//         'alias_domain',
         'config',
         'domain',
         'domain_admins',
         'fetchmail',
         'log',
         'mailbox',
         'vacation',
         'vacation_notification'
      );
Последний раз редактировалось Cancer 2009-07-16 12:41:04, всего редактировалось 2 раза.

Archy
рядовой
Сообщения: 21
Зарегистрирован: 2008-03-15 12:26:48

Re: Обсуждение статьи Exim&Dovecot + fetchmail

Непрочитанное сообщение Archy » 2009-07-16 12:34:11

Еще один вопросик, ты мускул с какой кодировкой собирал? Я с cp1251, может в этом проблемка?