URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 82092
[ Назад ]

Исходное сообщение
"Cyrus-imapd + Sendmail. Это фича ?"

Отправлено sk , 22-Сен-08 18:30 
ОС FreeBSD 7.0
Cyrus IMAP 2.3
Sendmail 8.14.2

Народ это фича или я что-то не так настроил ?
Собрал связку Sendmail+Cyrus+Mysql. Cyrus (как и sendmail) для аутентификации пользуется SASL который в свою очередь использует MySQL. Все отлично работает. Только фича в том, что если Sendmail поросить принять письмо на несуществующего пользователя, он его примет :(. И только после пошлет отправителю отдельное письмо c текстом "User unknow". Так и должно быть? ведь когда используется локальный майлер то ответ "User unknow" виден еще на этапе tcp сессии.

== пример tcp сиссия с попыткой послать письмо несуществующему пользователю user3@xxx.com ===
dragon@giperion# telnet 80.92.XX.XX 25
Trying 80.92.102.212...
220 mx.xxx.com ESMTP Welcome ready at Mon, 22 Sep 2008 18:01:47 +0400 (MSD)
MAIL FROM: skrylov@yyy.ru
250 2.1.0 skrylov@yyy.ru... Sender ok
RCPT TO: user3@xxx.com
250 2.1.5 user3@xxx.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
hi 4
.
250 2.0.0 m8ME1lkC014267 Message accepted for delivery


Содержание

Сообщения в этом обсуждении
"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено Medlar , 22-Сен-08 19:05 
да, есть такое в связке sendmail+cyrus

решение от Andrzej Filip

http://jmaimon.com/sendmail/anfi.homeunix.net/sendmail/#cyrus
это старый ресурс


новый - здесь
http://open-sendmail.sourceforge.net/


"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено sk , 25-Сен-08 14:54 
Помучившись с установкой указаного патча я нашел еще одно решение для владельцев FreeBSD.
Решение лежит прямо под носом :), в портах уже всё есть для исправления этой фичи, см. файл /usr/ports/mail/sendmail/files/CYRUS_LOOKUP


"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено Medlar , 25-Сен-08 14:57 
кто автор этого решения?

(у меня не FreeBSD, поэтому посмотреть у себя не смогу)


"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено sk , 25-Сен-08 15:40 
>кто автор этого решения?
>
>(у меня не FreeBSD, поэтому посмотреть у себя не смогу)

Автор Michael O. Boev, ниже текст инструкции
root@mx# cat /usr/ports/mail/sendmail/files/CYRUS_LOOKUP

       CYRUS MAILBOX LOOKUP FOR SENDMAIL
       ---------------------------------

You have enabled modifications for sendmail for looking up
whether a cyrus (2.2.3+) mailbox exists and is under quota
before accepting any mail to be relayed to cyrus.

They are based on the idea and work by

Andrzej Filip, http://anfi.homeunix.net/sendmail/rtcyrus2.html
and
Mike Boev, http://tric.ru/users/mike/ckuser_cyrus/

Please, use these urls to learn all configuration details
(although a quick recipe is provided below) and may be to give
credits to the authors.
******************************************************************
IMPORTANT:
Now that the mrs_cyrus.m4 has been updated, you may need to adjust
the modifications you made to your .mc file if you used the old one!
See http://anfi.homeunix.net/sendmail/rtcyrus2.html for current
installation instructions.
******************************************************************

HOW TO :
---------

0.  Build the `mail/sendmail' sendmail port with
        SENDMAIL_WITH_SOCKETMAP=yes SENDMAIL_WITH_CYRUSLOOKUP=yes
    This is what you've just obviously done, unless you are just browsing the
    ports tree. To stick with these settings, you can place something like
    the following in your `/etc/make.conf'.

PORTSDIR?=      /usr/ports
.if ${.CURDIR} == ${PORTSDIR}/mail/sendmail
SENDMAIL_WITH_CYRUSLOOKUP=      yes
SENDMAIL_WITH_SOCKETMAP=        yes
# possibly other sendmail knobs here too.
.endif

    You should have also installed and configured Cyrus IMAP server,
    version 2.2.3 or higher. Not the worst idea is to utilize the
    `mail/cyrus-imapd22' port.

1.  Insert the following lines to the SERVICES sections of `cyrus.conf'.
    By default, the port installs it to `/usr/local/etc'.

    # Sendmail socket map smmapd(8)
    smmap        cmd="smmapd"  listen="/var/imap/socket/smmapd" prefork=0

    A SIGHUP would make the Cyrus master(8) process catch this change
    on-the-fly. Please, also note, that if sendmail and cyrus run on
    separate machines, you will obviously need to modify this line
    and a couple of others.

2.  As per the `install-configure' from Cyrus IMAP server's documentation,
    in the simplest case, you added:

    define(`confLOCAL_MAILER', `cyrusv2')dnl
    MAILER(`cyrusv2')dnl

    to your sendmail's .mc file to make local delivery to Cyrus mailboxes.
    Now, simply add (somewhere near other FEATURES, before MAILER lines):

    FEATURE(`ckuser_cyrus')dnl

    for sendmail to start rejecting local addresses for nonexisting and
    full mailboxes. Rebuild your sendmail.cf, restart sendmail, and enjoy!

    If your configuration is more complicated than just defining Cyrus
    as your local mailer, read Andrzej's article. It covers more of the
    other cases.

******************************************************************

2004, September 16th
Michael O. Boev,
mike@tric.ru.


"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено Medlar , 25-Сен-08 15:46 
спасибо за инфу
второй автор мне был не известен,
буду иметь в виду этого sendmail-гуру и его решения

"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено Vitaly , 22-Сен-08 20:41 
>[оверквотинг удален]
>(MSD)
>MAIL FROM: skrylov@yyy.ru
>250 2.1.0 skrylov@yyy.ru... Sender ok
>RCPT TO: user3@xxx.com
>250 2.1.5 user3@xxx.com... Recipient ok
>DATA
>354 Enter mail, end with "." on a line by itself
>hi 4
>.
>250 2.0.0 m8ME1lkC014267 Message accepted for delivery

Это происходит от того, что когда пользователи системные, то sendmail знает всех получателей (/etc/passwd), в случае cyrus у него нет базы данных локальных получателей


"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено sk , 22-Сен-08 23:44 
for Medlar и Vitaly
Большое Вам спасибо. Очень приятно видеть такие развернутые ответы.

"Cyrus-imapd + Sendmail. Это фича ?"
Отправлено A Clockwork Orange , 05-Ноя-08 13:28 
Senadmail до сих пор не может работать с smmapd без "патчивания"?