Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA

Автор: ginger
Дата сообщения: 17.04.2006 07:53
Ilya98
Спасибо за то что Вы, найдя решение своей проблемы описали ее решение для других.
Из вариантов могу только продемонстрировать свой файл конфигурации, правда для связки с LDAP.

# sed '/ *#/d; /^ *$/d' /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
imap_listen = [::]
pop3_listen = [::]
ssl_disable = no
ssl_cert_file = /usr/share/ssl/example.org/cert.pem
ssl_key_file = /usr/share/ssl/example.org/key.pem
disable_plaintext_auth = no
login_dir = /var/run/dovecot-login
login = imap
login_user = dovecot
login = pop3
first_valid_uid = 8
last_valid_uid = 8
first_valid_gid = 12
last_valid_gid = 12
valid_chroot_dirs = /home/vmail/domains
default_mail_env = maildir:/home/vmail/domains/%d/%n/Maildir
mbox_locks = fcntl
auth = default
auth_mechanisms = plain
auth_userdb = ldap /etc/dovecot-ldap.conf
auth_passdb = ldap /etc/dovecot-ldap.conf
auth_user = dovecot


# sed '/ *#/d; /^ *$/d' /etc/dovecot-ldap.conf
hosts = localhost
dn = uid=dovecot,ou=auth,dc=example,dc=org
dnpass = my-secret-pass
ldap_version = 3
base = ou=domains,o=MailServer,dc=example,dc=org
deref = never
scope = subtree
user_attrs = mail,homeDirectory,,,,
user_filter = (&(objectClass=VirtualMailAccount)(mail=%u)(accountActive=TRUE))
pass_attrs = mail,userPassword
pass_filter = (&(objectClass=VirtualMailAccount)(mail=%u)(accountActive=TRUE))
default_pass_scheme = CRYPT
user_global_uid = 8
user_global_gid = 12


# rpm -qa|grep dovecot
dovecot-0.99.11-2.EL4.1
Автор: Ilya98
Дата сообщения: 17.04.2006 12:05
To Ginger:
Доброе слово и кошке приятно.

To Pleshkov:
пересобрать с нормальной libmysql.so
Что и как пересобрать? Нормальная libmysql.so - это какая? Можно ссылкой...

To All:
1) Все письма созданные dovecot пишуться с правами rwx для пользователя news, при этом группа exim. ?!!
Нет такого в настройках dovecot.conf Где копать?

2) Маленькие изменения в exim.conf:
- для работы с сокетом (найти можно, но здесь не видел)
hide mysql_servers = localhost:/temp/mysql.sock)/БД/user/login
- для исправления ситуации предыдущего п. настоящего письма в
mysql_delivery
mode=660

С уважением, Илья






Добавлено:
hide mysql_servers = localhost:/temp/mysql.sock)/БД/user/login

И зачем они, эти смайлики
Автор: Pleshkov
Дата сообщения: 17.04.2006 13:44

Цитата:
To Pleshkov:
пересобрать с нормальной libmysql.so
Что и как пересобрать? Нормальная libmysql.so - это какая? Можно ссылкой...

взять например из установленного мускула ... .но проблемы такого типа описаны в документации по мускулу. Я ставил exim 4.61 + dovecot + MySQL 4.1 и проблем почему-то не возникало
Автор: Ilya98
Дата сообщения: 17.04.2006 19:39
To Pleshkov:
Если можно дайте знать, какой mysql у Вас.
Я ставил в другом порядке и переставить не могу.
Apache, PHP, Mysql 4.1.15, exim 4.6, dovecot 1.0.beta5.

To All:
Ткните лицом, есть ли тема о WM (web mail) пакетах и их связках с exim и dovecot?

Спасибо, Илья
Автор: Pleshkov
Дата сообщения: 17.04.2006 19:46
Ilya98

Цитата:
Ткните лицом, есть ли тема о WM (web mail)

немного отдалюсь от темы, но пользую roundcube
Глюков пока что незамечено.

Цитата:
Если можно дайте знать, какой mysql у Вас.

Доберусь до ssh дам знать.
Автор: Ilya98
Дата сообщения: 17.04.2006 20:44
Вопрос по пользователю news решился
uid + gid должны быть в MySQL базе для пользователя exim и группы exim

Илья

Автор: Ilya98
Дата сообщения: 19.04.2006 11:41
To Ginger:
Спасибо за все
Вопрос: Можно ли здесь обсудить тему WM(webmail)?

To All:
1) Переставил dovecot 1.0.beta7.
Проблема connecta dovecot с MySQL осталась. Уважаемый Pleshkov прав надо копать мускул.
2) При установке mysql.sock в директорию отличную от умолчания каждая программа (которая работает с базами MySQL) требует своего синтаксиса:
- exim см ранее,
- dovecot 1.0.xxx (файл dovecot-mysql.conf)
connect = host=/temp/mysql.sock dbname=exim user=... password=...
- roundcube (файл db.inc.php)
$rcmail_config['db_dsnw'] = 'mysql://имя:пароль@127.0.0.1/имя базы roundcube';
- phpMyAdmin (config.inc.php)
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
и т.д. Не работа, а сплошные эксперименты...

С уважением, Илья
Автор: ginger
Дата сообщения: 19.04.2006 15:14
Ilya98

Цитата:
Вопрос: Можно ли здесь обсудить тему WM(webmail)?

На мой взгляд, если, речь пойдет о связке webmail+exim, то наверное многим присутсвующим здесь это будет интересно.
Лично я до сего момента не использовала webmail, но в ближайшее время хочу попробовать RoundCube.
Буду рада если кто-нибудь готов рассказать о связке exim+dovecot+roundcube.
Автор: Pleshkov
Дата сообщения: 19.04.2006 15:56
ginger

Цитата:
Буду рада если кто-нибудь готов рассказать о связке exim+dovecot+roundcube

http://mail.leschat.net/
Login: test@leschat.net
Pass: test
уже доступен
После долгих поисков остановился именно на нем. Работает нормально, глюков незамечено.
Автор: DarkHost
Дата сообщения: 19.04.2006 15:58
Честно говоря больше интересует каков он в плане секурности?
Автор: Pleshkov
Дата сообщения: 19.04.2006 16:23
DarkHost
пока что дырок незамечено, в коде разбираюсь.
Автор: DarkHost
Дата сообщения: 19.04.2006 16:32
Я был бы так же благодарен, если бы вы мне подсказали, как его подружить с русским языком?
Автор: Pleshkov
Дата сообщения: 19.04.2006 16:44

Цитата:
Я был бы так же благодарен, если бы вы мне подсказали, как его подружить с русским языком?

Стоп. А точнее? В чем проблема?
Автор: DarkHost
Дата сообщения: 19.04.2006 16:48
Он письма, которые в windows-1251 отображает некорректно.
Автор: Pleshkov
Дата сообщения: 19.04.2006 17:09
Так все же в UTF
А насчет кои и вин, покрутим
Автор: DarkHost
Дата сообщения: 19.04.2006 17:15
С адресной книгой поборол.
Значит так:
Отправляю из Бата письмо в 1251 и кои-8, он выводит заголовки крокозяблами, а текст - нормальной кирилицей.
Получаю письмо от стороннего отправителя - везде крокозяблы.
Автор: Ilya98
Дата сообщения: 19.04.2006 17:30
1) exim - MTA server
dovecot - Secure IMAP & pop3 server
roundcube - a browser-based multilingual IMAP client with an application-like user interface
Так что тема не совсем об exim'e
2) о связке exim+dovecot+roundcube
Что получилось:
- установка Единственная проблема - подсоединиться к нестандартному сокету Mysql
решается так же как в phpMyAdmin файл db.inc.php
$rcmail_config['db_dsnw'] = 'mysql://имя:пароль@127.0.0.1/<имя базы roundcube>';
где имя/пароль - имя/пароль к базе roundcude - создается при установке.
Что неполучилось:
Беда с квотами, теми самыми, что вводяться в MySQL базу для пользователей exim:
а) не кажет на экране размер квоты для пя, где он вообще пытается взять это значение я не понял.
б) по умолчанию есть 3 папки, с которыми работает roundcube
.INBOX .Sent .Trush, насколько я понял, все они в формате Maildir, но я их все не хочу... Причина:
- Пытаюсь отправить большой файл (заранее больше квоты), файло кладеться в .Sent
- Квота превышена, пя блокируется.
- Сообщение о превышении квоты не приходит.
- В Outlook 6.0 все нормально (отсылается только часть файла и сразу предупреждение), а здесь
- Далее надо, раз - удалить файл, он переноситься в папку .Trush.
- Два надо удалить файло из папки .Trush
Только после этого можно снова работать.

Конечно все эти папочки приятны и удобны, но

Илья
Автор: DarkHost
Дата сообщения: 19.04.2006 17:52
Все равно не понимаю. Пытаюсь в адресную книгу добавить пользователя, он вопросиками получается... Изменяю пользователя, все нормально, русский язык...
База у меня в cp1251.
Автор: Pleshkov
Дата сообщения: 19.04.2006 19:25

Цитата:
База у меня в cp1251.

возможно именно из за этого
Автор: tankistua
Дата сообщения: 19.04.2006 21:04
Господа, как насчет создать отдельную тему ?

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

Добавлено:
Pleshkov

Цитата:
возможно именно из за этого

а вот это в корне неправильно - надо задвать кодировку и коллатион из скриптов, а не так, как захочется юзеру. А еслу у меня по дефолту китайская - что станет с мордой этой ?
Автор: alexpogodin
Дата сообщения: 20.04.2006 00:24
Хех... Тоже сам с месяц присматриваюсь к RoundCube. А тут в связи с коллективным интересом решил потестировать. Увы...

Рано еще господа на него переходить! Чтобы понять о чем я просто отключите яваксрипт в вашем браузере. Поэтому думаю и обсуждать не стоит пока версия перестанет быть бетой...

Увы, нравится он мне.

Добавлено:
Кстати, если уж говорить по теме.

А никто из здешних обитателей не прикручивал Exim к базе XPanel? Что-то Гугль не рулит в данном вопросе

С уважением, alex
Автор: Pleshkov
Дата сообщения: 20.04.2006 08:34
alexpogodin

Цитата:
А никто из здешних обитателей не прикручивал Exim к базе XPanel?

а в чем проблема возникает?
Автор: Ilya98
Дата сообщения: 20.04.2006 09:58
exim+dovecot+roundcube

Тема roundcube+cp1251
Отослал на предложенный Pleshkov'ым mail.leschat.net письмо из Outlook'а 6.0.
Все нормально.

Тема roundcube+dovecot+exim + QUOTA.

Кто-нибудь столкнулся? Как решается?

Илья
Автор: utreevda
Дата сообщения: 20.04.2006 11:11
Суть проблеммы в следующем
ОС-Linux
MySql 5
Exim 4.61
конфиг вот этот
настраивал по этому руководству
только сделал вот такой запускной файл Exim
/etc/init.d
#############################################################
#!/bin/bash
# This shell script takes care of starting and stopping Exim.
#
# chkconfig: 2345 80 30
# description: Exim is a Mail Transport Agent, which is the program \
# that moves mail from one machine to another.
#
# processname: exim
# config: /etc/mail/exim.conf
# pidfile: /var/run/exim.pid
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Source for additional options if we have them.
if [ -f /etc/sysconfig/exim ] ; then
. /etc/sysconfig/exim
fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# If Exim is not available stop now.
[ -f /usr/sbin/exim ] || exit 0
# Path to the Exim binary.
exim=/usr/sbin/exim
RETVAL=0
prog="Exim"
start() {
echo -n $"Starting $prog: "
daemon $exim $DAEMON $QUEUE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/exim
return $RETVAL
}
stop() {
echo -n $"Shutting down $prog: "
killproc $exim
#kill -HUP `cat $eximpid`
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/exim
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $exim
RETVAL=$?
;;
restart)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/exim ]; then
stop
start
RETVAL=$?
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $RETVAL
####################END########################
после этого
chkconfig --add exim
chkconfig --level 2345 exim on

#cat /etc/sysconfig/exim
# Run Exim as a daemon on the system. Remove the "-bd" option
# to run Exim as a Null Client Mail Server.
DAEMON="-bd"
# Procede the queue every 1 minutes.
QUEUE="-q15m"

Ну соответственно запуск
service exim start

exim -bV
Выдает следующее >

Exim version 4.61 #1 built 20-Apr-2006 09:54:12
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.1.25: (August 21, 2003)
Support for: crypteq iconv() Perl OpenSSL move_frozen_messages Content_Scanning
Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch dbm dbmnz mysql
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir autoreply pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /etc/mail/exim.conf

exim -bt postmaster

ginger@m.iugansk.ru
<-- postmaster@m.iugansk.ru
router = mysqluser, transport = mysql_delivery

Если ошибок не обнаружено, идем дальше... теперь требуется проверить будет ли осуществляться доставка сообщений локальным пользователям, для этого выполним:
При выполнениии
# exim -v postmaster@m.iugansk.ru
LOG: MAIN
cwd=/root/exim-4.61/Local 3 args: exim -v postmaster@m.iugansk.ru
Test soob
.
LOG: MAIN
<= root@m.iugansk.ru U=root P=local S=304
LOG: MAIN PANIC
re-exec of exim (/usr/sbin/exim) with -Mc failed: Permission denied

#cat /var/log/exim/exim_paniclog
2006-04-20 13:08:28 1FWTGl-0002oZ-AW re-exec of exim (/usr/sbin/exim) with -Mc failed: Permission denied
2006-04-20 13:22:56 re-exec of exim (/usr/sbin/exim) with -q failed: Permission
2006-04-20 13:37:56 re-exec of exim (/usr/sbin/exim) with -q failed: Permission
2006-04-20 13:39:53 1FWTlI-0002sI-Ph re-exec of exim (/usr/sbin/exim) with -Mc failed: Permission denied

#mailq Набираю
В очереди сообщения валяются

# ls -ln | grep vmail
drwxrwx--- 2 505 12 4096 Apr 20 11:43 vmail
#id exim
uid=505(exim) gid=12(mail) groups=12(mail)
Ни доменов ни папок пользователей нет вообще, посоветуйте что нибудь

/etc/mail/exim.conf Вырезка
#mysql_delivery:
driver = appendfile
maildir_format
create_directory
maildir_tag = ,S=$message_size
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}} [q][/q]
Автор: ginger
Дата сообщения: 20.04.2006 12:03
utreevda
Похоже на проблему с правами на каталог, где расположены исполняемые файлы exim.
$ ls -ld /usr/sbin
drwxr-xr-x 2 root root 12288 Apr 17 05:08 /usr/sbin
$ ls -ld /usr
drwxr-xr-x 15 root root 4096 Mar 7 07:09 /usr
Автор: darkomen
Дата сообщения: 20.04.2006 12:46
Добрый день дамы и господа сис.админы. Возможно ли релизовать с помощью эксима технологию приёма почты с внешнего сервера, т.е. чтобы релэя на екзим сервер небыло а существовал коннектор по приему почты с внешнего, если да , помогите пожалуйста сделать это
Автор: utreevda
Дата сообщения: 20.04.2006 13:09

Цитата:
utreevda
Похоже на проблему с правами на каталог, где расположены исполняемые файлы exim.
$ ls -ld /usr/sbin
drwxr-xr-x 2 root root 12288 Apr 17 05:08 /usr/sbin
$ ls -ld /usr
drwxr-xr-x 15 root root 4096 Mar 7 07:09 /usr

Спасибо! Долго ковырялся в правах не мог понять что к чему...
Заработало....
Завтра продолжу настройку
Думаю запускной скрипт понадобится кому нибудь.

Вот сюда нужно добавить еще

rm -f /var/run/exim%s.pid

stop() {
echo -n $"Shutting down $prog: "
killproc $exim
#kill -HUP `cat $eximpid`
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/exim && rm -f /var/run/exim%s.pid
return $RETVAL
}
Автор: DarkHost
Дата сообщения: 20.04.2006 14:58
Блин, кто-нибудь, помогите разобраться с сертификатом для Exim. Этот openssl меня уже достал. Я уже просто вешаюсь.
FreeBSD 5.4, openssl-0.9.8a

# /usr/local/openssl/misc/CA.pl -newca
CA certificate filename (or enter to create)

Making CA certificate ...
Generating a 1024 bit RSA private key
...................++++++
........++++++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Russia
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PAC Group
Organizational Unit Name (eg, section) []:Travel
Common Name (eg, YOUR name) []:Serge A. Pechiony
Email Address []:postmaster@pac.ru

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
unknown option -create_serial
usage: ca args

-verbose - Talk alot while doing things
-config file - A config file
-name arg - The particular CA definition to use
-gencrl - Generate a new CRL
-crldays days - Days is when the next CRL is due
-crlhours hours - Hours is when the next CRL is due
-startdate YYMMDDHHMMSSZ - certificate validity notBefore
-enddate YYMMDDHHMMSSZ - certificate validity notAfter (overrides -days)
-days arg - number of days to certify the certificate for
-md arg - md to use, one of md2, md5, sha or sha1
-policy arg - The CA 'policy' to support
-keyfile arg - private key file
-keyform arg - private key file format (PEM or ENGINE)
-key arg - key to decode the private key if it is encrypted
-cert file - The CA certificate
-in file - The input PEM encoded certificate request(s)
-out file - Where to put the output file(s)
-outdir dir - Where to put output certificates
-infiles .... - The last argument, requests to process
-spkac file - File contains DN and signed public key and challenge
-ss_cert file - File contains a self signed cert to sign
-preserveDN - Don't re-order the DN
-noemailDN - Don't add the EMAIL field into certificate' subject
-batch - Don't ask questions
-msie_hack - msie modifications to handle all those universal strings
-revoke file - Revoke a certificate (given in file)
-subj arg - Use arg instead of request's subject
-extensions .. - Extension section (override value in config file)
-extfile file - Configuration file with X509v3 extentions to add
-crlexts .. - CRL extension section (override value in config file)
-engine e - use engine e, possibly a hardware device.
-status serial - Shows certificate status given the serial number
-updatedb - Updates db for expired certificates
Автор: darkomen
Дата сообщения: 20.04.2006 16:02
у меня все нормально встало, в первом посте все подробно описанно

Добавлено:
Вернее сказать как связать fetchmail c exim, чтобы fetchmail принимал почту и отправлял его на локалхост екзиму?
Автор: DarkHost
Дата сообщения: 20.04.2006 16:18
Цитата:
2.3 Fetchmail.

Теперь надо как-нибудь забирать почту с POP-серверов. Мы будем делать
это с помощью fetchmail. Fetchmail получает письма с POP-- (или IMAP-)
сервера и передает их локальному MTA (т.е. exim). Конфигурационный
файл программы -- ~/.fetchmailrc -- довольно прост, вот его пример:

# По умолчанию fetchmail ожидает, что наш MTA слушает порт 127.0.0.1:25, но
# поскольку это не так, мы указываем другой способ доставки почты.
defaults mda "/usr/sbin/sendmail -t -f %F %T"

# Опрос сервера:
# poll <адрес сервера> proto pop3 user <имя пользователя> pass <пароль>
poll pop3.zzzmail.com proto pop3 user "jdoe" pass "mYsEcReT"
poll pop3.provider.net proto pop3 user "jdoe" pass "AnOtHer"

Теперь просто запускаем:

$ fetchmail

и почта попадает в наш почтовый ящик. (Проверьте с помощью mutt.)
(PS: для тех, кто хочет управлять почтой прямо на сервере,
просматривая заголовки писем, я бы рекомендовал Prepop,
http://freshmeat.net/projects/prepop/)


2.3.1 Запуск fetchmail демоном.

Да, мне тоже лень запускать fetchmail вручную . Поэтому можно
заставить работать его демоном, проверяя наличие почты на серверах
через заданный промежуток времени. Изменим немного ~/.fetchmailrc:

# Проверять почту каждые полчаса
set daemon 1800
set logfile /home/jdoe/.fetchmail/fetchmail.log
defaults mda "/usr/sbin/sendmail -t -f %F %T"
poll pop3.zzzmail.com proto pop3 user "jdoe" pass "mYsEcReT"
poll pop3.provider.net proto pop3 user "jdoe" pass "AnOtHer"

Создаем директрию ~/.fetchmail, а в ней файл fetchmail.log:

$ mkdir ~/.fetchmail
$ touch ~/.fetchmail/fetchmail.log

Туда будет записываться протокол работы fetchmail.
Осталось только как-нибудь заставить fetchmail автоматически
запускаться при старте системы. Для этого воспользуемся услугами cron:
создадим файл ~/.fetchmail/fetchmail.cron:

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
@reboot fetchmail

Выполним команды:

$ crontab ~/.fetchmail/fetchmail.cron
$ fetchmail

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: MS Outlook Возвращает: Не удается доставить.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.