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

» FAQ по Exim MTA

Автор: ginger
Дата сообщения: 29.08.2003 09:58

Текущая версия 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 с поддержкой виртуальных аккаунтов.
[more=Внимательно читаем здесь]
Исходные данные:

FreeBSD 4.6
MySQL 3.23.49
OpenSSL 0.9.7a
Все действия выполняются от супер-пользователя root

Домашняя страничка Exim MTA:
http://www.exim.org

su-2.05a# cd /var/tmp
su-2.05a# wget ftp://ftp.exim.org/pub/exim/exim4/exim-4.20.tar.gz
su-2.05a# md5 exim-4.20.tar.gz
MD5 (exim-4.20.tar.gz) = a1f06f1de1ab602a25d78ad2a20819f2

Создаем пользователя необходимого для работы Exim.

su-2.05a# pw useradd mail -c "Mail Server" -d /var/spool/mqueue -g mail -s /sbin/nologin

su-2.05a# cat /etc/passwd |grep mail

Код: mail:*:1005:6:Mail Server:/var/spool/mqueue:/sbin/nologin
Автор: abrikos
Дата сообщения: 02.04.2004 03:54
Хочется что бы Exim авторизовал не по полю users.pass, а по users.crypt
для простой авторизации в /etc/mail/exim.conf сделал (нашел в каких-то старых конфигах

auth_plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_condition = "${if and { \
{!eq{$2}{}} \
{!eq{$3}{}} \
{crypteq{$3}{\\{crypt\\}${lookup mysql{SELECT crypt FROM users WHERE id='${local_part:$2}' AND mbox_host='${domain:$2}'}{$value}fail}}} \
} {yes}{no}}"
server_set_id = $2

вроде работает по полю users.crypt

А как такое же сделать для auth_cram_md5 (в старых конфигах для этого метода небыло
Автор: ginger
Дата сообщения: 02.04.2004 07:12
abrikos

Цитата:
Хочется что бы Exim авторизовал не по полю users.pass, а по users.crypt

Вот более правильный Вариант:

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if crypteq{$3} \
{${lookup mysql{SELECT crypt FROM users \
WHERE id = '${quote_mysql:${local_part:$2}}' \
AND mbox_host = '${quote_mysql:${domain:$2}}' \
AND passwd = '${quote_mysql:$3}' \
AND active = 'Y'}{$value}{*}}}{yes}{no}}
server_prompts = :
server_set_id = $2

auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${if crypteq{$2} \
{${lookup mysql{SELECT crypt FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND passwd = '${quote_mysql:$2}' \
AND active = 'Y'}{$value}{*}}}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1


Цитата:
А как такое же сделать для auth_cram_md5 (в старых конфигах для этого метода небыло

С CRAM-MD5 этого сделать не возможно из-за специфики этого метода.

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT passwd FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND active = 'Y'}{$value}fail}
server_set_id = $1

Автор: abrikos
Дата сообщения: 02.04.2004 07:23
спасибо
Автор: htr
Дата сообщения: 04.05.2004 10:38
ginger
Использовал твою инструкцию по настройке Exim.
Поставил из портов:
exim-mysql-4.20_1.tbz

Файл конфигурации взял твой.

После настройки стал проверять:

su-2.05a# exim -bV - Ok
su-2.05a# exim -bt postmaster - Ok
su-2.05a# exim -bt someuser@msn.com - Ok

А вот здесь пошли ошибки:

su-2.05a# exim -v postmaster@example.ru
From: htr@example.ru
To: postmaster@example.ru
Subject: Test

test
exiscan: starting
LOG: MAIN
<= root@myzone.ru U=root P=local S=290
su-2.05a# LOG: MAIN PANIC
failed to expand "${lookup mysql{SELECT domain FROM domains WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}" while checking a list: lookup of "SELECT domain FROM domains WHERE domain='example.ru' AND (type='LOCAL' OR type='VIRTUAL')" gave DEFER: MYSQL: query failed: Commands out of sync; You can't run this command now

LOG: MAIN
== htr@example.ru <postmaster@example.ru> R=dnslookup defer (-1): domains check lookup or other defer


В чем ошибка не подскажешь?


Добавлено
Попробывал отправку внешним пользователям:

su-2.05a# exim -v postmaster@msn.com
From: htr@example.ru
To: postmaster@msn.com
Subject: test

This is a test
exiscan: starting
LOG: MAIN
<= root@example.ru U=root P=local S=297
su-2.05a# Connecting to mx1.hotmail.com [65.54.166.99]:25 ... failed
LOG: MAIN
mx1.hotmail.com [65.54.166.99]: Operation timed out
Connecting to mx1.hotmail.com [65.54.252.99]:25 ... connected
SMTP<< 421-Microsoft ESMTP MAIL Service, Version: 5.0.2195.6824 ready at Service not available, closing transmission channel
SMTP>> QUIT
LOG: MAIN
SMTP error from remote mailer after initial connection: host mx1.hotmail.com [65.54.252.99]: 421-Microsoft ESMTP MAIL Service, Version: 5.0.2195.6824 ready at Service not available, closing transmission channel\n
Connecting to mx1.hotmail.com [64.4.50.99]:25 ... connected
SMTP<< 220 mc1-f31.hotmail.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6824 ready at Tue, 4 May 2004 02:32:08 -0700
SMTP>> EHLO smtp.example.ru
SMTP<< 250-mc1-f31.hotmail.com (02.04.01.0013) Hello [217.25.84.ХХХ]
250-SIZE 29696000
250-PIPELINING
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-AUTH LOGIN
250-AUTH=LOGIN
250-X-HMAUTH
250 OK
SMTP>> MAIL FROM:<root@example.ru> SIZE=1330
SMTP>> RCPT TO:<postmaster@msn.com>
SMTP>> DATA
SMTP<< 250 root@example.ru....Sender OK
SMTP<< 250 postmaster@msn.com
SMTP<< 354 Start mail input; end with <CRLF>.<CRLF>
SMTP>> writing message and terminating "."
SMTP<< 250 <E1BKvKc-0000AG-Nj@smtp.example.ru> Queued mail for delivery
SMTP>> QUIT
LOG: MAIN
=> postmaster@msn.com R=dnslookup T=remote_smtp H=mx1.hotmail.com [64.4.50.99] C="250 <E1BKvKc-0000AG-Nj@smtp.example.ru> Queued mail for delivery"
LOG: MAIN
Completed

Я так понял все нормально, осталось выяснить почему локальные пользователи не получают почту. Вопрос, для локальных пользователей директории создавать нужно, если да то какие (для этого примера).
Автор: ginger
Дата сообщения: 05.05.2004 10:46

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

Создать нужно только основную /home/vmail, все остальное Exim, создаст сам....


Цитата:
Поставил из портов:
exim-mysql-4.20_1.tbz

Вообще-то нынче уже 4.32, так что обновляйтесь....

Что касается ошибки, то что-то не так с запросом, либо он 'криво' написан, такое бывает если Вы копируете, а не набираете ручками... либо что-то с mySQL...
Автор: htr
Дата сообщения: 06.05.2004 21:13
Разобрался с установкой. Поставил все работает. Если кого интересует как это все поставить и настроить из портов пишите.

И вопросы по существу:
ginger подскажи если сможешь!

Первое, ситуация такая: стоит сервак, он же шлюзв в инет, внетренний IP 192.168.1.1, внешний 10.0.0.1 (реальный писать не буду). На нем вертиться апачь (т.е. www-сервер). Доменное имя у сервака myzone.ru. Задача была такая организовать почтовый сервис. Поставил все что описано выше (т.е. Exim, tpop3d). Внес в базу domains домен myzone.ru:

INSERT INTO domains VALUES ('myzone.ru', 'LOCAL');

Создал пользователя htr в базе users:

INSERT INTO users VALUES ('htr', ENCRYPT('sicret pass'), 'sicret pass', 8, 12, 'myzone.ru', '/sbin/nologin/', '/home/vmail/domains/myzone.ru/htr', 15, 'Y');

Проверил через Outlook все фунциклирует, аналогично добавил несколько пользователей, они тоже зафунциклировали. Я уже обрадовался и расчитывал на премию, как пришел облом.
Появилась необходимость завести виртуальный веб сайт (www.virsite.ru) и соответственно организовать почту по нему. Ну с апачем проблем не появилось он зафунциклировал. А вот с почтой, проблема.
Добавил в базу domains домен virsite.ru:

INSERT INTO domains VALUES ('virsite.ru', 'VIRTUAL');

и пользователя:

INSERT INTO users VALUES ('htr', ENCRYPT('sicret pass'), 'sicret pass', 8, 12, 'virsite.ru', '/sbin/nologin/', '/home/vmail/domains/myzone.ru/htr', 15, 'Y');

Попробывал пересылку между htr@myzone.ru и htr@virsite.ru - работает. Но как только попробывал отправить с адреса htr@virsite.ru на внешний адрес info@mail.ru. Сервер дал ошибку типа релей не разрешен.
У меня такие вопросы, для организации виртуального сервиса почты (в моем случае) что нужно писать в настройках зоны сервера bind в записи MX, какой адрес почтового сервера. А лучше так, ели можешь ginger, напиши пример того что нужно добавить в базы мускула для работы вируального аккаунта.

У второй вопрос(ы):
В базе domains что означают LOCAL, VIRTUAL и RELAY.
Для чего нужна база userforward.
В базе users для чего нужны поля: uid, gid, shell. Таже поля quota в каких еденицах измеряется, и нужно ли при добавления пользователей каждый раз изменять uid и gid.
Пока все.
Заранее спасибо!
Автор: ginger
Дата сообщения: 07.05.2004 09:26

Цитата:
Добавил в базу domains домен virsite.ru:


Здесь все правильно.


Цитата:
и пользователя:

INSERT INTO users VALUES ('htr', ENCRYPT('sicret pass'), 'sicret pass', 8, 12, 'virsite.ru', '/sbin/nologin/', '/home/vmail/domains/myzone.ru/htr', 15, 'Y');

А здесь нет, внимательно смотрите на нуть директрории где хранится почта для домена virsite.ru пользователя hsr, все в том же myzone.ru, а должна быть в virsite.ru.
Исправляйте!


Цитата:
В базе domains что означают LOCAL, VIRTUAL и RELAY.
Для чего нужна база userforward.
В базе users для чего нужны поля: uid, gid, shell. Таже поля quota в каких еденицах измеряется, и нужно ли при добавления пользователей каждый раз изменять uid и gid.

LOCAL означает, что домен локальный
VIRTUAL виртуальный
RELAY разрешить релей для этого домена

userforward используется для псевдонимов пользователей, если вам это не нравится то можете ее совместить с system_aliases, только тогда у Вас будет все скопом, для меня это не удобно, поэтому мне пришлось их разделить...

UID, и GID числовой идентификатор пользователя и группы с правами которого осуществляется доступ к каталогу пользователей почтовой системы, задается единожды и должен быть не изменнен у всех пользователей.
shell, интерпритатор команд
quota измеряется в мегабайтах

Вообще, shell нужен для checkpassword, это если Вы планируете imap сервер, такой как BincImap...

P.S. Тоже премию хочу
Автор: htr
Дата сообщения: 07.05.2004 13:17
ginger прошу прощения в сообщении я ошибся, на самом деле пользователя ввел правильно:

INSERT INTO users VALUES ('htr', ENCRYPT('sicret pass'), 'sicret pass', 8, 12, 'virsite.ru', '/sbin/nologin/', '/home/vmail/domains/virsite.ru/htr', 15, 'Y');

При отправки Outlook выдает ошибку:

Не удается отправить сообщение, поскольку сервер отказался принять адрес одного из получателей. В письме был указан адрес: 'info@mail.ru'. Тема '111', Учетная запись: 'htr@virsite.ru', Сервер: 'smtp.myzone.ru', Протокол: SMTP, Ответ сервера: '550 relay not permitted', Порт: 25, Защита (SSL): Нет, Ошибка сервера: 550, Номер ошибки: 0x800CCC79

Exim выдает ошибку:

2004-05-07 14:37:29 H=(server) [192.168.1.10] F=<htr@virsite.ru> rejected RCPT <info@mail.ru>: relay not permitted

Подскажи в чем я ошибся.

ЗЫ


Цитата:
P.S. Тоже премию хочу


Постараюсь выбить!

Добавлено
ginger если можешь кинь примерчик того как ты настраивала виртуальные почтовые ящики!


Добавлено
ginger
Спасибо за все, нашел ошибку.
Теперь все фунциклирует как нужно.
Вопрос такой, а домену с типом RELAY разрешена только отправка, или и то и другое. Понять не могу разницу между VIRTUAL и RELAY.
Автор: ginger
Дата сообщения: 11.05.2004 08:47

Цитата:
Вопрос такой, а домену с типом RELAY разрешена только отправка, или и то и другое. Понять не могу разницу между VIRTUAL и RELAY.

LOCAL и VIRTUAL это те домены для которых Ваш хост принимает почту...
RELAY, кому предоставляется RELAY, пользователи этого домена могут отправлять почту без прохождения проверки подленности...

Схема построена так чтобы, каждый из пользователей доменов VIRTUAL и LOCAL, для отправки почты прежде должен пройти проверку подленности пользователя, в случае успешной проверки релей откроется в противном случае сообщение будет отвергнуто...


Цитата:
ginger если можешь кинь примерчик того как ты настраивала виртуальные почтовые ящики!

Вопрос не понятен?
Все что я делала было мною описано... пользователи виртуальных доменов добавляются точно так же как и локальных доменов...
Автор: htr
Дата сообщения: 11.05.2004 21:55
ginger
За все спасибо фунциклирует.

Есть еще парочка вопросов.
Я когда отправляю с внешнего ящика письмо (пример info@mail.ru) на моя внутренни (htr@virsite.ru), (virsite.ru - это реальное доменное имя, это для форума я так его назвал)
письмо возвращается обратно тело письма такое:
____________________________________________________________________

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:

htr@virsite.ru
Too many "Received" headers - suspected mail loop

------ This is a copy of the message, including all the headers. ------

Return-path: <info@mail.ru>
Received: from [62.118.174.xxx] (helo=smtp.myzone.ru)
by smtp.myzone.ru with esmtp (Exim 4.24; FreeBSD)
id 1BNbod-0001Dc-Tp
for htr@virsite.ru; Tue, 11 May 2004 22:17:19 +0400
.
.
.
я не стал их всех вставлять, но их получается около 28
.
.
.
Received: from [62.118.174.xxx] (helo=smtp.myzone.ru)
by smtp.myzone.ru with esmtp (Exim 4.24; FreeBSD)
id 1BNboc-0001CJ-9q
for htr@virsite.ru; Tue, 11 May 2004 22:17:18 +0400
Received: from mail.mail.ru ([212.48.140.150] helo=mail.mail.ru)
by smtp.myzone.ru with smtp (Exim 4.24; FreeBSD)
id 1BNbob-0001CG-H9
for htr@virsite.ru; Tue, 11 May 2004 22:17:17 +0400
Received: (qmail 5590 invoked from network); 11 May 2004 18:14:48 -0000
Received: from unknown (HELO htr) (info@mail.ru@217.25.84.xxx)
by smtpd.mail.ru with SMTP; 11 May 2004 18:14:48 -0000
X-AntiVirus: Checked by Dr.Web [version: 4.31a, engine: 4.31b, virus records: 49671, updated: 11.05.2004]
From: "=?koi8-r?B?5gsgdfhgfhriDwxdTSz9c=?=" <info@mail.ru>
To: "=?koi8-r?B?J+ghshtrysthyswuM2MXXyd4g8MXU0s/XJw==?=" <htr@virsite.ru>
Subject: Test
Date: Tue, 11 May 2004 22:16:58 +0400
Message-ID: <000201c43784$26222840$0a01a8c0@htr>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0003_01C437A5.AD33C840"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.4024
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Importance: Normal
In-Reply-To: <000a01c43784$10f79bd0$0a01a8c0@htr>

This is a multi-part message in MIME format.

------=_NextPart_000_0003_01C437A5.AD33C840
Content-Type: text/plain;
charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

=D7=D5=D0=D9=D7=C1=D2=D0=D9=D7=C1

=20

-----Original Message-----
From: =E5=D7=C7=C5=CE=C9=CA =E1=CE=C1=D4=CF=CC=D8=C5=D7=C9=DE = =F0=C5=D4=D2=CF=D7 [mailto:htr@virsite.ru]=20
Sent: Tuesday, May 11, 2004 10:16 PM
To: info@mail.ru
Subject: Test

=20

____________________________________________________________________________

Я так понял это мой сервер почемуто зацикливает сообщение а потом возвращвет его.
ginger не подскажешь где искать ошибку?
Спасибо.
Автор: ginger
Дата сообщения: 12.05.2004 07:06
htr
Мне нужно увидеть Ваш файл конфигурации exim.conf, а так же данные занесенные в mySQL.

P.S. Exim 4.33 уже доступен, рекомендую обновиться.
Автор: htr
Дата сообщения: 12.05.2004 21:41
Разобрался в чем проблема.

Если домену ставишь тип RELAY, то отправка с его адреса на внешнии проходит без проблем, а когда отправляешь с внешних адресов на этот домен, exim начинает по кругу пускать это сообщение пока не срабатывает ограничение и письмо не возвращается отправителю.

Проверил досканально весь exim.conf все тютелька в тютельку.

ginger если можешь попробуй у себя такое, мне просто интересно в чем ошибка, в программе самой или в ее настройке?

Заранее спасибо.


Добавлено
И еще

Цитата:
RELAY, кому предоставляется RELAY, пользователи этого домена могут отправлять почту без прохождения проверки подленности...

что значит без проверки подленности, влюбом случае происходит запрос имени пользователя и пароля.
Автор: ginger
Дата сообщения: 13.05.2004 08:10
htr

Цитата:
Если домену ставишь тип RELAY, то отправка с его адреса на внешнии проходит без проблем, а когда отправляешь с внешних адресов на этот домен, exim начинает по кругу пускать это сообщение пока не срабатывает ограничение и письмо не возвращается отправителю.


Цитата:
Проверил досканально весь exim.conf все тютелька в тютельку.

Значит проблема в данных хранящихся в mySQL, покажите, что у Вас там находится...


Цитата:
что значит без проверки подленности, влюбом случае происходит запрос имени пользователя и пароля.

То и значит, взять к примеру хост 127.0.0.1 (localhost), сообщения могут без проблем отсылаться как на внешние так и внутренние адреса без аутентификации... тоже самое касается доменов с RELAY...
Автор: htr
Дата сообщения: 13.05.2004 11:27
Вот при такой ситуации происходит круговая пересылка при отправлении письма с адреса info@mail.ru на адрес htr@virsite.ru

mysql> select * from domains;
+-------------+---------+
| domain | type |
+-------------+---------+
| myzone.ru | LOCAL |
| virsite.ru | RELAY |
+-------------+---------+
2 rows in set (0.00 sec)

mysql> select * from users;
+-----+---------------+-----------+------+------+-------------+
| id | crypt | passwd | uid | gid | mbox_host |
+-----+---------------+-----------+------+------+-------------+
| htr | cX0ewrsggU | pass** | 8 | 12 | myzone.ru |
| htr | lHHfgfddfhoI | pass** | 8 | 12 | virsite.ru |
+-----+---------------+-----------+------+------+-------------+

+---------------+----------------------------------------------+-------+--------+
| shell | home | quota | active |
+---------------+----------------------------------------------+-------+--------+
| /sbin/nologin | /home/vmail/domains/myzone.ru/htr | 15 | Y |
| /sbin/nologin | /home/vmail/domains/virsite.ru/htr | 15 | Y |
+---------------+----------------------------------------------+-------+--------+
2 rows in set (0.00 sec)

mysql> select * from userforward;
+------------+-------------+------------+
| local_part | domain | recipients |
+------------+-------------+------------+
| admin | myzone.ru | htr |
| sysadmin | myzone.ru | htr |
| security | myzone.ru | htr |
+------------+-------------+------------+
3 rows in set (0.01 sec)

mysql> select * from aliases;
+------------------+---------------+------------+
| local_part | domain | recipients |
+------------------+---------------+------------+
| postmaster | myzone.ru | htr |
| mailer-daemon | myzone.ru | postmaster |
| root | myzone.ru | postmaster |
| bin | myzone.ru | root |
| daemon | myzone.ru | root |
| sync | myzone.ru | root |
| mail | myzone.ru | root |
| pop | myzone.ru | root |
| uucp | myzone.ru | root |
| ftp | myzone.ru | root |
| nobody | myzone.ru | root |
| www | myzone.ru | root |
| bind | myzone.ru | root |
| postgres | myzone.ru | root |
| mysql | myzone.ru | root |
| squid | myzone.ru | root |
| drweb | myzone.ru | root |
| operator | myzone.ru | root |
| abuse | myzone.ru | root |
| hostmaster | myzone.ru | root |
| webmaster | myzone.ru | root |
+-------------------+--------------+------------+
21 rows in set (0.00 sec)


Долго выравнивал столбики.
Работает у меня когда домен virsite.ru имее значение VIRTUAL.

И по поводу

Цитата:
То и значит, взять к примеру хост 127.0.0.1 (localhost), сообщения могут без проблем отсылаться как на внешние так и внутренние адреса без аутентификации... тоже самое касается доменов с RELAY...


У меня ели домену virsite.ru поставить тип RELAY, отправку писем без аутентификации не производит.

Добавлено
Выравнивал, выравнивал, а толку!
Автор: ginger
Дата сообщения: 13.05.2004 12:17

Цитата:
Долго выравнивал столбики.

Спасибо, однако это лишнее...;)

Думаю возникла путаница, и так давайте попробуем разобраться:
domainlist relay_to_domains - этот параметр позволяет использовать Ваш хост в качестве реле для доменов указанных здесь. В вашем случае вы пытаетесь прописать virsite.ru, но что же происходит? Exim, приняв сообщение для virsite.ru, пытается его перенаправить на хост обслуживающий сообщения для этого домена, но ваш хост и является обслуживающим хостом для этого домена, поэтому произошло зацикливание
Так что измените RELAY на VIRTUAL для этого домена!;)

Если, Вы хотите отправлять письма без аутентификации, то пропишите соответсвующие IP-адреса в параметр hostlist relay_from_hosts =

ginger,
Автор: htr
Дата сообщения: 13.05.2004 12:30
В принципе я это подозревал, я только не знал что он сам себе будет пытаться отправить письма. Тоесь получается RELAY - это что-то типа майл форвординга.

И у меня еще пару вопросов:
В директории /Mailldir папки /cur /new и /tmp для чего каждая из них служит?
Автор: ginger
Дата сообщения: 13.05.2004 12:55
htr

Цитата:
И у меня еще пару вопросов:
В директории /Mailldir папки /cur /new и /tmp для чего каждая из них служит?

Эти вопросы уже не относятся к работе Exim'а..;)
Maildir формат создан автором Qmail и по сей день является лучшим способом хранения сообщений.
Более подробно расписано на сайте Qmail. http://www.qmail.org
Автор: JustVisiter
Дата сообщения: 08.06.2004 16:19
Вопрос по tpop3d.
У меня сделана авторизация ч/з базу Mysql.
При авторизации в запросе указано проверять ящики с типом 'bsd'.
Проблема такая: пользователи успешно авторизуются при проверке своих ящиков, но только, если они заведены локально ч/з adduser.
Если нет, tpop3d выдает сообщение: "unix user ... for ... does not make sense"
Как сделать так, чтобы не регистрировать пользователей в системе, а только в БД?
Автор: ginger
Дата сообщения: 09.06.2004 07:00
JustVisiter

Цитата:
Если нет, tpop3d выдает сообщение: "unix user ... for ... does not make sense"

Следовательно, Вы что-то напутали...
Покажите пожалуйста свой tpop3d.conf.
Автор: JustVisiter
Дата сообщения: 09.06.2004 07:34
listen-address: 192.168.18.250(w2kadv.com)
max-children: 150
timeout-seconds: 600
log-facility: mail
mailbox: bsd:/var/mail/$(user)
auth-mysql-enable: yes
auth-mysql-mail-group: mail
auth-mysql-hostname: localhost
auth-mysql-database: mail
auth-mysql-username: postfix
auth-mysql-password:
auth-mysql-pass-query: SELECT maildir, CONCAT('{plaintext}',password), login, 'bsd' FROM users WHERE mail=CONCAT('$(user)','@','$(domain)') and disabled<>1
Автор: ginger
Дата сообщения: 09.06.2004 10:59
JustVisiter

Цитата:
mailbox: bsd:/var/mail/$(user)

Извините, а что это за строка такая, если Вы используете MySQL?
Поставте комментарий, если проблема решиться, удалите.
Судя по всему Вы используете Maildir формат хранения почты это видно из запроса MySQL, соответственно BSD mailbox, тут вообще не должен фигурировать.
Автор: JustVisiter
Дата сообщения: 09.06.2004 14:44
Вообще-то у меня используется Mailbox-формат хранения почты (вся почта валится в один файл).
Соответственно я поставил в запросе этот формат - 'mailbox' вместо 'bsd' и закомментировал строчку с "mailbox: bsd:/var/mail/$(user)", перезапустил tpop3d и получил всё то же самое...
Автор: ginger
Дата сообщения: 10.06.2004 08:34
JustVisiter

Хорошо, тогда придется лезть глубже...
Покажите мне пожалуйста ключи которые Вы выбрали при сборке tpop3d, а так же информацию из журнала (/var/log/maillog), касательно проблемы с tpop3d, да и еще мне так же нужно увидеть, что за модули аутентификации загружает tpop3d, это так же фиксируется в журнале при старте tpop3d.
Автор: JustVisiter
Дата сообщения: 10.06.2004 11:44
Собиралось с ключами:
./configure --enable-auth-mysql --with-mysql-lib-dir=/usr/local/mysql/lib/mysql --with-mysql-include-dir=/usr/local/mysql/include/mysql
Тестирую на пользователях:
prob - не заведён в системе, но создан вручную файл /var/mail/prob, проверку не проходит
igor - в системе заведён, проверку проходит успешно.
Права и владелец на файл "prob" такие же как и на "igor": 660, владелец "postfix", группа "mail".
При ошибке аутентификации для "prob" в журнале следующие строчки:
Jun 10 16:15:54 freebsd tpop3d[1200]: listeners_post_select: client [6]192.168.18.6/w2kadv.com: connected to local address 192.168.18.250:110
Jun 10 16:15:54 freebsd tpop3d[1200]: auth_mysql_new_user_pass: unix user `mailbox' for [prob; @w2kadv.com] does not make sense
Jun 10 16:15:54 freebsd tpop3d[1200]: connection_do: client `[6]192.168.18.6/w2kadv.com': username `prob': failing password is `1'
Jun 10 16:15:54 freebsd tpop3d[1200]: connection_do: client `[6]192.168.18.6/w2kadv.com': username `prob': 1 authentication failures
Jun 10 16:15:57 freebsd tpop3d[1200]: ioabs_tcp_post_select: client [6]192.168.18.6/w2kadv.com: connection closed by peer
Jun 10 16:15:57 freebsd tpop3d[1200]: connections_post_select: client [6]192.168.18.6/w2kadv.com: disconnected; 19/102 bytes read/written

Тут же проверяем для пользователя "igor" - всё успешно:
Jun 10 16:14:22 freebsd tpop3d[1200]: listeners_post_select: client [6]192.168.18.6/w2kadv.com: connected to local address 192.168.18.250:110
Jun 10 16:14:22 freebsd tpop3d[1200]: authcontext_new_user_pass: began session for `igor' with mysql; uid 1001, gid 6
Jun 10 16:14:22 freebsd tpop3d[1200]: fork_child: [6]igor(192.168.18.6): began session for `igor' with mysql; child PID is 1215
Jun 10 16:14:22 freebsd tpop3d[1215]: mailbox_new(/var/mail/igor): request for unknown mailbox type mailbox
Jun 10 16:14:22 freebsd tpop3d[1215]: connections_post_select: client [6]igor(192.168.18.6): finished session for `igor' with mysql
Jun 10 16:14:22 freebsd tpop3d[1215]: connections_post_select: client [6]igor(192.168.18.6): disconnected; 31/148 bytes read/written

При загрузке tpop3d в журнале имеем следущее:
Jun 10 16:12:26 freebsd tpop3d[1200]: parse_listeners: listening on address 192.168.18.250:110
Jun 10 16:12:26 freebsd tpop3d[1200]: /usr/local/etc/tpop3d.conf: I hope you realise that use of the log-bad-passwords option is an invasion of privacy
Jun 10 16:12:26 freebsd tpop3d[1200]: 1 authentication drivers successfully loaded
Jun 10 16:12:26 freebsd tpop3d[1200]: net_loop: tpop3d version 1.5.3 successfully started

Если тут же завести в системе пользователя "prob", то всё проходит успешно.
При выводе команды "tpop3d -h" имеем:

Available authentication drivers:
auth-pam Uses Pluggable Authentication Modules
auth-mysql Uses a MySQL database
Available mailbox drivers:
bsd BSD (`Unix') mailspool
empty Empty mailbox
Enabled features:
Mass virtual hosting
Suppress C-client metadata

Автор: ginger
Дата сообщения: 10.06.2004 14:46
# tpop3d -h

Available authentication drivers:

auth-mysql Uses a MySQL database

Available mailbox drivers:

maildir Qmail-style maildir
empty Empty mailbox

Enabled features:

Mass virtual hosting
Suppress C-client metadata
TLS

Добавте в свой tpop3d.conf, опцию:
auth-pam-enable: no

Кстати, при сборке запретите использование PAM аутентификации, Вам нужен только MySQL.
Так же уберите опцию
mailbox: bsd:/var/mail/$(user)
Автор: JustVisiter
Дата сообщения: 10.06.2004 18:51
Пересобрал tpop3d, добавив опцию --disable-auth-pam, стал доступен только драйвер mysql.
Строка "mailbox: bsd:/var/mail/$(user)" закоментирована, как и была.
Проблема осталась
В логах всё то же самое.
Кстати, какие можно указывать значения в запросе mysql у переменной "mailbox type" кроме "bsd" и "maildir"?
В документации по этому поводу практически ничего нет.
Автор: ginger
Дата сообщения: 11.06.2004 07:36
JustVisiter
Покажите мне журнал, так я ничего сказать не могу...
Как мне кажется проблема может быть связана с правами доступа к каталогу...
Точнее, создан ли каталог пользователя который пытается пройти аутентификацию?

Я Вам рекомендую использовать Maildir, это самый оптимальный формат хранения почты...
Да и еще, Вас не интересует защищенность во время сессии проверки подленности пользователей? Так почему Вы тогда не включили поддержку openssl при сборке? Это даст возможность использования защищенного соединения...
Автор: JustVisiter
Дата сообщения: 11.06.2004 19:31

Цитата:
Покажите мне журнал, так я ничего сказать не могу...

Jun 13 23:32:04 freebsd tpop3d[8668]: listeners_post_select: client [6]192.168.18.6/w2kadv.com: connected to local address 192.168.18.250:110
Jun 13 23:32:04 freebsd tpop3d[8668]: auth_mysql_new_user_pass: unix user `bsd' for [prob; @w2kadv.com] does not make sense
Jun 13 23:32:04 freebsd tpop3d[8668]: connection_do: client `[6]192.168.18.6/w2kadv.com': username `prob': failing password is `1'
Jun 13 23:32:04 freebsd tpop3d[8668]: connection_do: client `[6]192.168.18.6/w2kadv.com': username `prob': 1 authentication failures
Jun 13 23:32:07 freebsd tpop3d[8668]: ioabs_tcp_post_select: client [6]192.168.18.6/w2kadv.com: connection closed by peer
Jun 13 23:32:07 freebsd tpop3d[8668]: connections_post_select: client [6]192.168.18.6/w2kadv.com: disconnected; 19/102 bytes read/written


Цитата:
создан ли каталог пользователя который пытается пройти аутентификацию?

Создан файл /var/mail/prob
Результат команды "ls -l | grep prob":
-rw-rw---- 1 postfix mail 0 Jun 10 16:07 prob


Цитата:
Да и еще, Вас не интересует защищенность во время сессии проверки подленности пользователей?

На данном этапе нет.


Цитата:
Я Вам рекомендую использовать Maildir

Пока я собираюсь использовать именно формат bsd-mailbox - мне так удобней. Может быть с ним у tpop3d проблемы?
Автор: ginger
Дата сообщения: 15.06.2004 08:58
JustVisiter

Цитата:
Пока я собираюсь использовать именно формат bsd-mailbox - мне так удобней. Может быть с ним у tpop3d проблемы?

Это не у tpop3d проблемы
Как выяснилось Вы не внимательны! В журнале явным образом обозначена Ваша проблема:

Цитата:
Jun 13 23:32:04 freebsd tpop3d[8668]: connection_do: client `[6]192.168.18.6/w2kadv.com': username `prob': failing password is `1'

Следовательно, проблема в Вашем запросе к MySQL, попробуйте включить протоколирование запросов MySQL в my.cnf, или же зайдя непосредственно в MySQL, попробуйте выполнить запрос...
Да и еще, как Вы пользователя добавляете, покажите это мне пжлст...

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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