The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Sendmail. Ограничение размера почтового ящика."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 04-Мрт-09, 12:22 
День добрый коллеги. Столкнулся с задачей ограничения размера почтового ящика на сервере с sendmail.
Настроил квоты пользователей, однако требуется чтобы серверу отправителя давался отлуп типа: "452 mailbox size limit reached". А то иначе все эти письма будут заcтревать в очереди в геометрической прогрессии.

Как я понимаю надо добавить в sendmail.cf вызов программки, которая на этапе RCPT TO должна будет проверять размер файла ящика. Либо же как-то шаманить с procmail.

Буду рад любым советам или примерам.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Medlar email(??) on 04-Мрт-09, 13:11 
>День добрый коллеги. Столкнулся с задачей ограничения размера почтового ящика на сервере
>с sendmail.
>Настроил квоты пользователей, однако требуется чтобы серверу отправителя давался отлуп типа: "452
>mailbox size limit reached". А то иначе все эти письма будут
>заcтревать в очереди в геометрической прогрессии.

Я не использую такое квотирование, поэтому уточню:
вы хотите сказать, что если письмо пришло в ящик, размер которого превышает допустимый,
то письмо кладется в очередь? А сам юзер при этом будет в курсе, что надо ящик почистить?
И как долго это письмо будет находится в очереди - пока ящик не очистится?

>Как я понимаю надо добавить в sendmail.cf вызов программки, которая на этапе
>RCPT TO должна будет проверять размер файла ящика. Либо же как-то
>шаманить с procmail.
>Буду рад любым советам или примерам.

http://www.anrb.ru/linux/sendm.html#3.14

У меня это сделано так примитивно, что неловко рассказывать, но тем не менее.
По крону скриптом проверяются  размеры ящиков, если значение подбирается к предельному, то высылается первое предупреждение, через час - второе,
как только перевалили за максимум - заносится запись в access c тэгом To:

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 04-Мрт-09, 13:28 
Я хочу сделать так, чтобы в момент SMTP сессии во время приема получателя в поле RCPT TO какая-то подпрограмма искала по данному логину имя файла в /var/mail, сравнивала значение размера файла с каким-либо значением и в зависимости от результата либо дальше продолжала прием сообщения либо давала удаленному пользователю отлуп 452 "mailbox size limit reached".

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 04-Мрт-09, 14:16 
или даже просто мой сендмайл давал отлуп с формулировкой "mailbox is full"
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 04-Мрт-09, 15:04 
вроде как procmail может такое, может кто поделится куском конфига?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 05-Мрт-09, 08:45 
Никто в sendmail не ограничивает размер ящиков пользователей?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 05-Мрт-09, 08:49 
>Никто в sendmail не ограничивает размер ящиков пользователей?

У меня cyrus-imap этим занимается.

Проверка из сендмайла через lmtp-сокет настраивается.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от A Clockwork Orange on 05-Мрт-09, 10:06 
>>Никто в sendmail не ограничивает размер ящиков пользователей?
>
>У меня cyrus-imap этим занимается.
>
>Проверка из сендмайла через lmtp-сокет настраивается.

Можно по-подробнее?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 05-Мрт-09, 11:04 
>>>Никто в sendmail не ограничивает размер ящиков пользователей?
>>
>>У меня cyrus-imap этим занимается.
>>
>>Проверка из сендмайла через lmtp-сокет настраивается.
>
>Можно по-подробнее?

Если не сложно, то с примерами конфигов.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 05-Мрт-09, 11:08 
>>>Никто в sendmail не ограничивает размер ящиков пользователей?
>>У меня cyrus-imap этим занимается.
>>Проверка из сендмайла через lmtp-сокет настраивается.
>Можно по-подробнее?

Вот хауту из бздишного порта. /usr/local/share/doc/sendmail/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.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 05-Мрт-09, 12:13 
Хмм..у меня после добавления строки  FEATURE(`ckuser_cyrus')dnl в файл sendmail.mc  и попытке последующей сборки sendmail.cf получилось вот что:

[root@mail ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
/etc/mail/sendmail.mc:205: m4: cannot open `/usr/share/sendmail-cf/feature/ckuser_cyrus.m4': No such file or directory

(RHEL 5.2, sendmail Sendmail 8.13.8)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 05-Мрт-09, 12:21 
>Хмм..у меня после добавления строки  FEATURE(`ckuser_cyrus')dnl в файл sendmail.mc  и
>попытке последующей сборки sendmail.cf получилось вот что:
>[root@mail ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
>/etc/mail/sendmail.mc:205: m4: cannot open `/usr/share/sendmail-cf/feature/ckuser_cyrus.m4': No such file or directory

Проверяйте где у вас сендмейл m4-файлы хранит. И добавил ли туда цирус при установке ckuser_cyrus.m4.

>(RHEL 5.2, sendmail Sendmail 8.13.8)

Ничего не скажу. С линуксами давно дела не имел и почту ни разу не поднимал. Принципиальной разницы от фри быть не должно по идее.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 05-Мрт-09, 12:25 
>Ничего не скажу. С линуксами давно дела не имел и почту ни
>разу не поднимал. Принципиальной разницы от фри быть не должно по
>идее.

Хотя поглядел внимательнее. Во фревом порте эти файлы в виде патчиков приложены.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 05-Мрт-09, 12:43 
>
>Хотя поглядел внимательнее. Во фревом порте эти файлы в виде патчиков приложены.
>

Вот как раз такие в Фре то патчиками приложен, а в моем линуксе find / -name ckuser* ниче не показывает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 05-Мрт-09, 12:51 
>>Хотя поглядел внимательнее. Во фревом порте эти файлы в виде патчиков приложены.
>Вот как раз такие в Фре то патчиками приложен, а в моем
>линуксе find / -name ckuser* ниче не показывает.

http://tric.ru/users/mike/ckuser_cyrus/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 06-Мрт-09, 09:13 
>>>Хотя поглядел внимательнее. Во фревом порте эти файлы в виде патчиков приложены.
>>Вот как раз такие в Фре то патчиками приложен, а в моем
>>линуксе find / -name ckuser* ниче не показывает.
>
>http://tric.ru/users/mike/ckuser_cyrus/

правильно ли я понимаю, что если я ставлю cyrus-imapd и в sendmail.mc прописываю:
define(`confLOCAL_MAILER', `cyrusv2')dnl
FEATURE(`ckuser_cyrus')dnl
MAILER(`cyrusv2')dnl

то все строки в sendmail.mc, где упоминается procmail (на данный момент это мой локал майлер) мне нужно закоментить ибо local mailer-ом становится тогда уже cyrus-imapd ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 06-Мрт-09, 10:02 
>правильно ли я понимаю, что если я ставлю cyrus-imapd и в sendmail.mc
>прописываю:
>define(`confLOCAL_MAILER', `cyrusv2')dnl
>FEATURE(`ckuser_cyrus')dnl
>MAILER(`cyrusv2')dnl
>
>то все строки в sendmail.mc, где упоминается procmail (на данный момент это
>мой локал майлер) мне нужно закоментить ибо local mailer-ом становится тогда
>уже cyrus-imapd ?

Да, правильно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 10-Мрт-09, 10:18 
>>Никто в sendmail не ограничивает размер ящиков пользователей?
>
>У меня cyrus-imap этим занимается.
>
>Проверка из сендмайла через lmtp-сокет настраивается.

А какой МТА у Вас установлен ? Вы используете cyrus-imapd для получения почты клиентами?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 10-Мрт-09, 10:29 
> А какой МТА у Вас установлен ?

sendmail 8.14.x

> Вы используете cyrus-imapd для получения почты клиентами?

Да.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 10-Мрт-09, 12:38 
>> А какой МТА у Вас установлен ?
>
>sendmail 8.14.x
>
>> Вы используете cyrus-imapd для получения почты клиентами?
>
>Да.

А можно вас попросить выложить кусок конфига sendmail.mc и конфиги cyrus.conf и imapd.conf.
Просто никак не соображу как грамотно отключить майлер procmail и подключить майлер cyrus и чтобы он еще проверял размер почтового ящика пользователя.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 10-Мрт-09, 12:49 
>А можно вас попросить выложить кусок конфига sendmail.mc

FEATURE(`ckuser_cyrus')dnl
define(`CYRUSV2_MAILER_ARGS', `FILE /usr/local/cyrus/socket/lmtp')dnl
define(`confLOCAL_MAILER', `cyrusv2')dnl

MAILER(`cyrusv2')dnl
MAILER(local)dnl
MAILER(smtp)dnl

Все остальное по вкусу.

> cyrus.conf

Здесь нужно только сокет включить:

lmtpunix      cmd="lmtpd" listen="/usr/local/cyrus/socket/lmtp" prefork=0
и
smmap         cmd="smmapd" listen="/usr/local/cyrus/socket/smmapd" prefork=0

> imapd.conf.

Здесь просто сокет прописать:

lmtpsocket: /usr/local/cyrus/socket/lmtp
и
lmtp_over_quota_perm_failure: yes

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 10-Мрт-09, 13:42 
Спасибо большое, внес соответствующие изменения...только столкнулся с проблемой.
У меня то пользователи почты - локальные юзеры операционной системы (читай те кто есть в /etc/shadow). И теперь когда зупуская сендмайл с таким конфигом то cyrus пытается искат ьсвоих цирусовских пользователей с такими логинами (а в цирусе то я пользователей не делал ибо мне надо чтобы письма клались локальным пользователям в ящики типа /var/mail/pupkin) и в логи валятся ошибки:

Mar 10 14:24:33 hostname sendmail[17016]: n2AAO9k6017016: <rahil83@domain.ru>... Mailbox is not available.
Mar 10 14:24:33 hostname smmap[17197]: verify_user(user.rahil83) failed: Mailbox does not exist

Как сделать чтобы цирус майлер клал письма в локальные ящики а не цирусовские?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 10-Мрт-09, 13:51 
>[оверквотинг удален]
>конфигом то cyrus пытается искат ьсвоих цирусовских пользователей с такими логинами
>(а в цирусе то я пользователей не делал ибо мне надо
>чтобы письма клались локальным пользователям в ящики типа /var/mail/pupkin) и в
>логи валятся ошибки:
>
>Mar 10 14:24:33 hostname sendmail[17016]: n2AAO9k6017016: <rahil83@domain.ru>... Mailbox is not available.
>Mar 10 14:24:33 hostname smmap[17197]: verify_user(user.rahil83) failed: Mailbox does not exist
>
>Как сделать чтобы цирус майлер клал письма в локальные ящики а не
>цирусовские?

Думаю, что никак не сделать.
А чем цирусовские то не устраивают?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 10-Мрт-09, 13:59 
>Думаю, что никак не сделать.
>А чем цирусовские то не устраивают?

Да не то чтобы не устраивают. Просто изначально настроил sendmail (+procmail) + qpopper. А потом встал вопрос ограничения размера ящиков. Вот теперь походу надо думать как всех этих пользователей в цирус мигрировать незаметно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от angra (??) on 10-Мрт-09, 14:02 
Ну если думать о миграции, то почему не сразу в сторону exim+dovecot ;)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 10-Мрт-09, 14:26 
>Ну если думать о миграции, то почему не сразу в сторону exim+dovecot
>;)

Игра не будет стоить свеч, если сейчас с sendmail все переделывать в exim. Ибо кол-во пользователей сервера мало и будущая поддержка его непредвидится особо, так - атавизм.
Мне то по сути надо всего лишь ограничить размер ящиков пользователей с нормальными отлупами при достижении лимита.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от Ziggy Stardust email(ok) on 10-Мрт-09, 14:45 
>>Думаю, что никак не сделать.
>>А чем цирусовские то не устраивают?
>
>Да не то чтобы не устраивают. Просто изначально настроил sendmail (+procmail) +
>qpopper. А потом встал вопрос ограничения размера ящиков. Вот теперь походу
>надо думать как всех этих пользователей в цирус мигрировать незаметно.

Ну это не проблема.

В цирусе создаете нужные почтовые ящики. Аутентификацию цирусу настраиваете через PAM (если я правильно помню, cyrus-sasl не умеет напрямую с системными пользователями работать). В PAM'е настраиваете аутентификацию через системные аккаунты.

Если все правильно сделать, то пользователи даже не заметят, что что-то поменялось.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27. "Sendmail. Ограничение размера почтового ящика."  
Сообщение от sasch email(??) on 12-Мрт-09, 09:01 
>[оверквотинг удален]
>>надо думать как всех этих пользователей в цирус мигрировать незаметно.
>
>Ну это не проблема.
>
>В цирусе создаете нужные почтовые ящики. Аутентификацию цирусу настраиваете через PAM (если
>я правильно помню, cyrus-sasl не умеет напрямую с системными пользователями работать).
>В PAM'е настраиваете аутентификацию через системные аккаунты.
>
>Если все правильно сделать, то пользователи даже не заметят, что что-то поменялось.
>

Вообщем подумал подумал и решил что ради по-сути пары пользователей переводить все на цирус того н естоит и ограничил размер ящиков пользователей квотами + в procmail-е убрал опцию fail softly, в итоге получилось "дешево и сердито".

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру