ObjectifsDans cet exemple, les objectifs sont les suivants : Vue d'ensembleDiscussion
ConfigurationPostfixmain.cf # local_recipient_maps = virtual_alias_maps = hash:/etc/postfix/virtual # Delivery to DSPAM mailbox_transport = lmtp:unix:/var/run/dspam/dspam.sock # Transport map (used for dspam-spam and dspam-ham delivery) transport_maps = hash:/etc/postfix/transport mailbox_transportC'est la directive qui détermine comment postfix traitera les courriers pour les utilisateurs locaux. Dans ce cas, il délivrera le message en utilisant le protocole LMTP via une socket de type unix. transport_maps
virtual_alias_mapsLa virtual_alias_maps me permet de définir des alias du genre : bruno@asyd.net asyd@asyd.net bbonfils@asyd.net asyd@asyd.net asyd@solaris-fr.org asyd@asyd.net En effet, dspam (du moins la version que j'utilise) le nom complet (user@domain.tld) comme identifiant. Si une seule même personne (en l'occurence moi dans l'exemple !) possède plusieurs adresses pour une même boîte, il y aura autant d'utilisateurs dspam, ce qui n'est pas voulou. De plus, dans le cas d'utilise multidomaine de cyrus, le même problème se poserait. C'est pourquoi les alias se font au niveau du MTA. A propos de local_recipients_mapsPostfix utilise cette map pour savoir dès le début d'une connexion SMTP (au RCTP TO: pour être exact) si l'utilisateur existe réllement. Dans le cas d'utilisateur virtuels vous avez deux solutions :
il ne traitera pas un message s'il ne peut pas le délivrer au MDA final (ici cyrus)
Chaque solution à ses avantages/inconvénients, à vous d'estimer quelle solution utiliser. DspamDeliveryHost /var/imap/socket/lmtp DeliveryPort 24 DeliveryProto LMTP DeliveryIdent localhost EnablePlusedDetail on OnFail error Trust root Trust mail Trust mailnull Trust smmsp Trust daemon Trust webservd Trust asyd Trust dspam Debug * DebugOpt process spam fp TrainingMode teft TestConditionalTraining on Feature chained Feature whitelist Algorithm graham burton PValue graham Preference "spamAction=quarantine" Preference "signatureLocation=headers" # 'message' or 'headers' Preference "showFactors=on" Preference "spamAction=tag" Preference "spamSubject=SPAM" AllowOverride trainingMode AllowOverride spamAction spamSubject AllowOverride statisticalSedation AllowOverride enableBNR AllowOverride enableWhitelist AllowOverride signatureLocation AllowOverride showFactors AllowOverride optIn optOut AllowOverride whitelistThreshold HashRecMax 100000 HashAutoExtend on HashMaxExtents 0 HashExtentSize 50000 HashMaxSeek 100 HashConnectionCache 10 Notifications off PurgeSignatures 14 # Stale signatures PurgeNeutral 90 # Tokens with neutralish probabilities PurgeUnused 90 # Unused tokens PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes) PurgeHits1S 15 # Tokens with only 1 spam hit PurgeHits1I 15 # Tokens with only 1 innocent hit LocalMX 127.0.0.1 SystemLog on UserLog on Opt out ClamAVPort 3310 ClamAVHost 127.0.0.1 ClamAVResponse accept ServerQueueSize 32 ServerPID /var/run/dspam/dspam.pid ServerMode standard ServerParameters "--deliver=innocent -d %u" ServerIdent "lei.asyd.net" ServerDomainSocketPath "/var/run/dspam/dspam.sock" ClientHost /var/run/dspam/dspam.sock Cyrusimapd.conf configdirectory: /var/imap partition-default: /var/spool/imap sieveusehomedir: true hashimapspool: false admins: cyrus sasl_pwcheck_method: saslauthd tls_cert_file: /etc/ssl/certs/asyd.pem tls_key_file: /etc/ssl/private/mail.key tls_cacert_file: /etc/ssl/certs/cacert.pem master.conf START { recover cmd="ctl_cyrusdb -r" } # UNIX sockets start with a slash and are put into /var/imap/socket SERVICES { # add or remove based on preferences imap cmd="imapd" listen="127.0.0.1:imap" prefork=0 pop3s cmd="pop3d -s" listen="pop3s" prefork=0 lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0 } EVENTS { # this is required checkpoint cmd="ctl_cyrusdb -c" period=30 # this is only necessary if using duplicate delivery suppression, # Sieve or NNTP delprune cmd="cyr_expire -E 3" at=0400 # this is only necessary if caching TLS sessions tlsprune cmd="tls_prune" at=0400 } |
Welcome to Bruno Bonfils's (aka asyd homepage).
Discussion