[Postfixbuch-users] Maildir-Quota

Christian Boltz postfixbuch at cboltz.de
Do Okt 5 00:34:19 CEST 2006


Hallo Leute,

wie schon vor einiger Zeit angedroht ;-) habe ich inzwischen Postfix auf 
einem SUSE 10.1-Server aufgesetzt.

Kurzfassung: Postfix, MySQL für virtual User, Aliases & Domains, 
SQLgrey, Amavisd (per -o content_filter=smtp:[127.0.0.1]:10024 in 
master.cf eingebunden), virtual vacation (von postfixadmin), Courier, 
postfixadmin zur Verwaltung der Mailuser - läuft soweit problemlos.

Jetzt hänge ich gerade an der Einrichtung der Quota fest: 

    virtual_mailbox_limit (default: 51200000)
        The maximal size in bytes of an individual mailbox or maildir 
        file, or zero (no limit).

scheint nicht die Lösung zu sein - die Maximalgröße _einer Datei_ im 
Maildir wird ja in der Praxis schon vom message_size_limit festgelegt. 
Das hält aber keinen davon ab, hunderte Mails in dieser Größe zu 
bekommen :-/

Das Postfix-Buch hat leider zu diesem Thema keine passenden Hinweise 
(oder ich habe sie überlesen ;-) - wie kann ich also das Quota pro 
Maildir festlegen? Ideal wäre eine Festlegung pro User anhand des 
Quota-Felds in der Datenbank, notfalls würde es auch eine globale 
Einstellung pro User tun.
(Per Google habe ich verschiedene Lösungen gefunden [1], bin mir aber 
nicht sicher, welche die beste ist.)
BTW: Wie kann ich Quota-Überschreitungen als Soft-Bounces (4xx) 
abhandeln?


postconf -n:
(Ich freue mich auch über allgemeine Hinweise und Verbesserungs- 
vorschläge, die mit meiner Quota-Frage nichts zu tun haben.)

alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
biff = no
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 2
defer_transports =
disable_dns_lookups = no
disable_mime_output_conversion = no
html_directory = /usr/share/doc/packages/postfix/html
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command =
mailbox_size_limit = 100000000
mailbox_transport =
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains =
masquerade_exceptions = root
message_size_limit = 20480000
mydestination = server.anderedomain.com lists.anderedomain.com
   lists.einedomain.de localhost.anderedomain.com server.einedomain.de
myhostname = server.anderedomain.com
mynetworks = xx.xx.43.194,yy.yy.196.152/29,127.0.0.1
mynetworks_style = host
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
recipient_delimiter = +
relay_clientcerts = hash:/etc/postfix/relay_ccerts
relayhost =
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_helo_name = anderedomain.com
smtp_sasl_auth_enable = no
smtp_tls_CAfile = /etc/postfix/ssl/CAcert-class3.pem
smtp_tls_cert_file = /etc/postfix/ssl/certs/anderedomain-cert.pem
smtp_tls_key_file = /etc/postfix/ssl/certs/anderedomain-key.pem
smtp_use_tls = yes
smtpd_client_restrictions = permit_sasl_authenticated,
smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_recipient_restrictions =
   permit_tls_clientcerts,  
   permit_sasl_authenticated,
   permit_mynetworks,      
   reject_unknown_sender_domain,
   reject_unknown_recipient_domain,        
   warn_if_reject reject_unknown_hostname,
   warn_if_reject reject_non_fqdn_sender,
   warn_if_reject reject_non_fqdn_recipient,
   warn_if_reject reject_non_fqdn_hostname,        
   reject_invalid_hostname,
   reject_unauth_destination,      
   reject_rbl_client relays.ordb.org,
   reject_rbl_client list.dsbl.org,
   reject_rbl_client sbl-xbl.spamhaus.org,
   check_recipient_access hash:/etc/postfix/access,
   check_policy_service inet:127.0.0.1:2501,
   permit
smtpd_sasl_auth_enable = yes
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_tls_CAfile = /etc/postfix/ssl/CAcert-class3.pem
smtpd_tls_ask_ccert = yes
smtpd_tls_cert_file = /etc/postfix/ssl/certs/anderedomain-cert.pem
smtpd_tls_key_file = /etc/postfix/ssl/certs/anderedomain-key.pem
smtpd_tls_received_header = yes
smtpd_use_tls = yes
strict_8bitmime = no
strict_rfc821_envelopes = no
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:10002
virtual_mailbox_base = /home/mailbox/
virtual_mailbox_domains = 
  mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 100000000   # naja, schadet zumindest nicht ;-)
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = virtual
virtual_uid_maps = static:20000


Gruß

Christian Boltz

[1] - maildrop
    - virtual_mailbox_limit_maps - ist aber nicht in postconf(5) genannt
      und erfordert scheinbar(?) einen Patch
-- 
"Never surf faster, than your guardian penguin can fly!"



Mehr Informationen über die Mailingliste Postfixbuch-users