EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
kmb
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
-
Контактная информация:
Непрочитанное сообщение
kmb » 2009-10-09 8:57:25
Хочу установить квоты.
Установленную квоту получаю так:
Код: Выделить всё
quota = ${lookup mysql{SELECT distinct CONCAT(quota / 1024, "M") FROM users WHERE username='${local_part}@${domain}'}}
Но не могу понять, как получить размер почтового ящика в данный момент. maildir_use_size_file такую переменную exim не знает. Версия 4.69.
Вообще может я не потому пути пошел? Думал что-то вроде такого:
Код: Выделить всё
deny message = "mailbox is full"
quota = ${lookup mysql{SELECT distinct CONCAT(quota / 1024, "M") FROM users WHERE username='${local_part}@${domain}'}}
mailboxsize = ?
condition = ${if{$quota}>{$mailboxsize}}{yes}{no}
Или есть более верный способ?
truth is out there...
kmb
-
Хостинг HostFood.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
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2009-10-11 20:56:56
так можно:
http://www.timj.co.uk/linux/rcpt-time-quota-maildir.php
вообще этим транспорт занимается сам:
http://www.lissyara.su/?id=1226
Эта особенность полезна лишь когда пользователи не имеют shell-доступа к своим почтовым ящикам - иначе они могли бы обойти квоту простым переименованием файлов. Это средство может использоваться для “maildir” доставок, путём установки “maildir_tag” для добавления длинны файла к имени файла. Например:
maildir_tag = ,S=$message_size
quota_size_regex = ,S=(\d+)
Альтернативой “$message_size” является “$message_linecount”, которая содержит число линий в сообщений.
Регулярное выражение не должно предполагать что размер сообщения - в конце имени файла (даже при том, что её там помещает “maildir_tag”), поскольку MUA обрабатывающие “maildir” иногда добавляют иную информацию в конец имени сообщения.
Имя
Использование
Тип
Дефолтовое значение
quota_warn_message appendfile string† смотрите ниже
Смотрите ниже, при использование этой опции. Если эта опция не задана, когда установлена “quota_warn_threshold”, значение по умолчанию будет:
quota_warn_message = "\
To: $local_part@$domain\n\
Subject: Your mailbox\n\n\
This message is automatically created \
by mail delivery software.\n\n\
The size of your mailbox has exceeded \
a warning threshold that is\n\
set by the system administrator.\n"
Имя
Использование
Тип
Дефолтовое значение
quota_warn_threshold appendfile string† 0
Эта опция раскрывается точно таким же образом, как и “quota” (смотрите выше). Если результирующее значение больше нуля, и доставка сообщения приводит к размеру файла или общему размеру дерева директорий более данного порога, посылается предупреждающее сообщение. Если, также, установлена “quota”, порог может быть определён как процент от её значения, путём сопровождения значения символом процента. Например:
quota = 10M
quota_warn_threshold = 75%
Просто вставляешь запрос в mysql по получателю в data.
вот я учился с квотой работать:
http://forum.lissyara.su/viewtopic.php? ... ilit=quota
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
kmb
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
-
Контактная информация:
Непрочитанное сообщение
kmb » 2009-10-12 7:42:21
В первой ссылке какой-то внешний скрипт, не хочется ничего такого использовать.
Траспорт траспортом, но на переменные maildir_tag и т.д. экзим ругается.
Третья ссылка, там речь идёт о размере входящих сообщений, мне это не надо.
truth is out there...
kmb
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2009-10-12 8:14:05
kmb писал(а):Траспорт траспортом, но на переменные maildir_tag и т.д. экзим ругается.[/quota]Это не переменная, а опция транспорта.
kmb писал(а):Третья ссылка, там речь идёт о размере входящих сообщений, мне это не надо.
Там пример работы mysql и квоты. Вот еще ссылка как работать с квотой, обрати внимание на трансопрт mysql_delivery:
http://forum.lissyara.su/viewtopic.php?f=20&t=8490
Код: Выделить всё
mysql_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT("/var/mail/exim/", maildir) FROM mailbox WHERE username='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
maildir_use_size_file
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM mailbox WHERE username='${local_part}@${domain}'}{${value}M}}
quota_warn_message = "\
To: $local_part@$domain\n\
From: postmaster@$domain\n\
Subject: Your maildir is going full\n\
This message is automaticaly gnerated by your mail server.\n\
This means, that your mailbox is 80% full. If you would \n\
override this limit new mail would not be delivered to you!\n\n\
Please, clean your mailbox."
quota_warn_threshold = 80%
return_path_add
Вот список переменных:
http://www.lissyara.su/?id=1211#11.9
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
kmb
- лейтенант
- Сообщения: 680
- Зарегистрирован: 2007-02-20 8:30:03
-
Контактная информация:
Непрочитанное сообщение
kmb » 2009-10-12 9:56:39
Код: Выделить всё
2009-10-12 10:55:53 Exim configuration error in line 711 of /usr/local/etc/exim/configure:
option "maildir_use_size_file" unknown
truth is out there...
kmb