[Vmail-discuss] quota in vmail-sql-0.6
ilgiz kalmetev
ilgiz@xxxxxxxxxxxxxx
Wed, 19 Jun 2002 09:19:24 +0600
------------66871AE622897B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello, vmail-discuss.
I added quota support in vmail-sql-0.6. Paul Warren suggested to post details
to the vmail-sql list.
So, shortly:
1) Diffs for 'email_setup', 'VE-domain' and 'VE-popbox' - in attachments.
2) In /etc/exim.conf must be something like (below '##quota options'):
=== cut ===
virtual_localdelivery:
driver = appendfile
group = mail
mode = 0660
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true
create_directory = true
maildir_format
directory_mode = 770
directory = ${lookup mysql{select path from domain left join domain_alias on domain_alias.domain_name = domain.domain_name where domain.domain_name = '$domain' or domain_alias.alias = '$domain'}{$value}fail}/${lookup mysql{select mbox_name from popbox left join domain_alias on popbox.domain_name = domain_alias.domain_name where (popbox.domain_name = '$domain' or domain_alias.alias = '$domain') and local_part = '$local_part'}{$value}fail}/Maildir
delivery_date_add
user = ${lookup mysql{select unix_user from domain left join domain_alias on domain_alias.domain_name = domain.domain_name where domain.domain_name = '$domain' or domain_alias.alias = '$domain'}{$value}fail}
## quota options:
maildir_tag = ,S=$message_size
quota = ${lookup mysql{select quota from popbox left join domain_alias on domain_alias.domain_name = popbox.domain_name where local_part = '$local_part' and (popbox.domain_name = '$domain' or alias = '$domain')}{$value}fail}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 80%
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 (${quota_warn_threshold}) that is\n\
set by the system administrator.\n"
=== cut ===
3) Changes in database structure (marked by '>>'):
=== cut ===
CREATE TABLE domain (
domain_name varchar(255) NOT NULL default '',
unix_user varchar(255) default NULL,
password_hash varchar(255) default NULL,
path varchar(255) default NULL,
max_popbox int(11) default NULL,
>> quota_default varchar(16) default '5M',
PRIMARY KEY (domain_name)
) TYPE=MyISAM COMMENT='Per-domain data';
CREATE TABLE popbox (
domain_name varchar(255) NOT NULL default '',
local_part varchar(255) NOT NULL default '',
password_hash varchar(255) default NULL,
mbox_name varchar(255) default NULL,
>> quota varchar(16) default '5M',
PRIMARY KEY (domain_name(8),local_part(8))
) TYPE=MyISAM COMMENT='Virtual users accounts';
=== cut ===
quota field is varchar because exim understand values like
'1000000', '10M', '10k'.
Disclaimers:
1) Sorry, I write english really bad.
2) This one-day hack can have bugs.
Any questions?
--
ilgiz kalmetev mailto:ilgiz@bashtelecom.ru
------------66871AE622897B
Content-Type: application/x-gzip; name="email_setup.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="email_setup.diff.gz"
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
4vQdDpRkbzKQa2gXA69n/weLg5ysnhUAAA==
------------66871AE622897B
Content-Type: application/x-gzip; name="VE-domain.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="VE-domain.diff.gz"
H4sICJzxDz0AA1ZFLWRvbWFpbi5kaWZmAK1V23LiRhB9lr6ii1AFlCRKksEX7HXYyrJJJdmyy+t4
HxIXO5aGRRVJw86MYkjif0/PRULC9j6FB4Rmuk93nz7dBEEAd4sgZQXJyjHj2RfnE03h56qE6AzC
09nkbBYdQxyGset53t7Wua2oMTuFKJzF09k0NGbzOQTT2D8GD79PYD53of403sBpwf6icGFfS1LQ
y5fs8kzIl843bPPAtlR0EWBYkG1z929V5lmRSZqOXM/Z+36tmCTLlK5IlcsDgAtzKbK/FdpqTMcw
mH4Y+DCIwvAX/cQfAxi54MLi6j0+VL3RUaQKjo5i/7SpGCNuiBCPKfTrrNUr46m6F1QCAcw3K6oC
yqp4oBzYal/ZinGQawrG132NgBr7wkBcup7Bbgx0RQIedlCXfIDsdZG79DTwLWJULiRNFc4j4Snl
wgeSZ0RgNFKmcH11Dd+soXHUME2InCUkR5K4xEYohUjaVobik21eddGNiOMT1JwXH4VWeu9YSce2
VU9Ac5GtYNgvWEqBfoWB0tdgBP+4gdNfMQZvEPphHVwKmtNEkjxfEs7JjtPVsPdx8evih1tby1Il
5kNVZttlJSj3MQm59lVDl4Z6eH9z9cFa90bnKMH/O4J/0KuDgKhQZ8OzEjV+gfXjwV3GZYV8UTTJ
raUAVmKPMgFrJuTMsDiZ+GfI4uTEj8LOBKuPwez1dcuDy9/Dexjq36M/yt753vbJPXCxaQROUxMo
OjhiRPd4rOqzDvY4VsctSu3x0T2y2QKBNo7XxulAeW2o/Y1Cs7ZdPu395L477PHxFKfci4/P/Hg/
7X0hsat0S5NK0qEVqA+GpRHgICw4Z3zY0w+l4qz8Ynswg97YqIJyLiQfjkaWRwwZPLkB6paiSL0X
FNxJWUvZc76DZE2TP7GtRLbmD0ii2p/vgG5R90JJEoepVqRCajLXgp0/Fyxnj0awjVpf1SB8+mlx
s2irWWOlZhhUFQb/DYSYdk2P9f1s8xigPy6SkkmTNDqjsDyV+rNmvb358Q4VcK6vNUtdE6SrKvGl
FW3HKigqIUFsaJKtdqaa1rL8Vrw2a51LM+1CFsrMqt5zfrt+9/a25gM+Lg6pQ8TuwSv8uZ7Sok5J
Z5CyoY7VFlnCqjzVrFWblOAexb4BRrXbwYdnclN4nTH1zOqsg2npKRGCY2NoCX7WSjRdKgd1k3zQ
zKZZiv/0JNUaxFUjeZXIjJX4f4FXyhytvte7CpeF+x/aVwFejQgAAA==
------------66871AE622897B
Content-Type: application/x-gzip; name="VE-popbox.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="VE-popbox.diff.gz"
H4sICMDxDz0AA1ZFLXBvcGJveC5kaWZmAL1WXXObRhR9Rr/iDqUjGEACYseJZavy1KSdfNQeK00e
Eo2N2aVigliyLG2UjP577u6CRJwo00zH5QHQ3q9zz569yPd9eBX7Fatu2YcR4/lfxmtK4GlTQvgY
gkfHB4+PowiiIIgGruvufO+4HYbHB63bbAZ+9Mh7CC7ej2A2G0B3baMhIQROCFsleQllsqJTOClY
mhRQJVxMvxXB6Yr9TX8wqMhr0YVMB66xs7xvmEi+kw1OlMd1nX9Ei52N6AiGhy+GHgzDIHimnvgy
BGcAA4gvnuBDdh4ehl54BG54GHkHD1X3hlUlYgmnYGWM+dM3wULdJjLQsIpCWsjt0p/KitS2FApn
MvANGbC11rSgqUiK4jrhPFlzmtnmPH4e//oSVMS1xO3BCru7lv3Ak6uLF9C2+/r3+CoG3a22yrTE
xDLufyvjtVT+y2pgVDwvcVNOkDP8+VzuEMvg8uLyAaB/QTirasgYb+MxUD2PO5bBQCNN0iVYHOzZ
J4l+48An5MuYzbFSLRJhm4r0scWR63BhKjoN692ttCsE2NbPoygzPbDmb44WMIYwiA60n4ZoquBg
AbaMe3brvC1NSVcns9UaLIlYdoz9yXojc2yO2pp7XKWg+qY8A9vPtmZsBOv1fLuGtg4Oot30EtCi
VjnIFznQAenI8oLWmOEmy8udHXyxrihk4KtGbybK+U7RQK92XNs6l0wtq43np/Zb4jrWWK58Eeoi
FyFsQGI01G0P7f2gLfvuXvZboZ2q9WihNgOwALa66UiwVoxQoO9hqHyHUhZuR9RPkC5p+g7EMhF4
o53AklQ0qPc10A8oxhru49qhwHNw98BrHM7kXip/G8Xs6yPP2T/6yG/Pu56AhGZJUwh9wFvKvjdO
uhJyP3QZFJNUScw547bZprhp2x5iGtRoyYTmH3NI6cixtH807tjUwwfdzq5+e4WymMjQPoTWAzXR
lNhKD8iaNbBqcPzUFU3zbN0OMqnHLYiv6/ThqEVnotHWYiXQoR1s28g/L8/PXsbdZJzHLa0ylX7Z
wyWc/XHem7hysSgGrpyBfVwKDmG2Ku8Ajs22u5Q1BVG0NhVJBAXcX0DedSF5/lQo5bwW3Hb00euu
+xLgj1yIp/+p+P/Ln7OSjjTjoCYMxWkCRsuvmjQ3auBoCZfDTsEeKG2RnOC/loSoWZOXSHOTipyV
tSdN0h29flEfxc3gM99yRAeJCQAA
------------66871AE622897B--