====== Les envois (send) ====== ===== Scénarios par défaut ===== ==== send.closed ==== fermé title.gettext closed true() smtp,dkim,smime,md5 -> reject(reason='send_closed') ==== send.confidential ==== resteint aux abonnés, modérateurs, propriétaires title.gettext restricted to subscribers is_subscriber([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_owner([listname],[sender]) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,md5,smime -> reject,quiet ==== send.editorkey ==== Modérée title.gettext Moderated is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[header->X-sender]) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,smime,md5 -> editorkey ==== send.editorkeyonly ==== Modérée, même pour les modérateurs title.gettext Moderated, even for moderators is_editor([listname],[sender]) smime,md5 -> do_it true() smtp,dkim,smime,md5 -> editorkey ==== send.editorkeyonlyauth ==== Modérée, avec confirmation du modérateur title.gettext Moderated, with editor confirmation is_editor([listname],[sender]) md5,smime -> do_it is_editor([listname],[sender]) smtp,dkim -> request_auth true() smtp,dkim,smime,md5 -> editorkey ==== send.intranet ==== limité aux utilisateurs du domaine local title.gettext restricted to local domain # if subscriber request come from local domain do_it else reject is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_owner([listname],[sender]) smtp,dkim,smime,md5 -> do_it match([sender],/[conf->host]$/) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,smime,md5 -> reject(reason='send_local_user') ==== send.intranetorprivate ==== Moderée, pour les utilisateurs du domaine local (intranet) et les abonnés title.gettext restricted to local domain and subscribers is_subscriber([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_owner([listname],[sender]) smtp,dkim,smime,md5 -> do_it match([sender],/[conf->host]$/) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,smime,md5 -> reject(reason='send_local_user_sub') ==== send.newsletter ==== Newsletter, limité aux modérateurs title.gettext Newsletter, restricted to moderators is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,smime,md5 -> reject(reason='send_editor') ==== send.newsletterkeyonly ==== Newsletter, limité aux modérateurs après confirmation title.gettext Newsletter, restricted to moderators after confirmation is_editor([listname],[sender]) smime -> do_it is_editor([listname],[sender]) smtp,dkim,md5,smime -> editorkey true() smtp,dkim,smime,md5 -> reject(reason='send_editor') ==== send.private ou send.default ==== limité aux abonnés title.gettext restricted to subscribers is_subscriber([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_owner([listname],[sender]) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,md5,smime -> reject(reason='send_subscriber') ==== send.privateandeditorkey ==== Modérée, limitée aux abonnés title.gettext Moderated, restricted to subscribers is_editor([listname],[sender]) smtp,smime,md5 -> do_it is_subscriber([listname],[sender]) smtp,smime,md5 -> editorkey true() smtp,md5,smime -> reject(reason='send_subscriber') ==== send.privateandnomultipartoreditorkey ==== Modérée, pour les non abonnés postant un message multipart title.gettext Moderated, for non subscribers sending multipart messages is_editor([listname],[sender]) smtp,dkim,md5,smime -> do_it match([header->Content-Type],/multipart/) smtp,dkim,smime,md5 -> editorkey is_subscriber([listname],[sender]) smtp,dkim,md5,smime -> do_it true() smtp,dkim,smime,md5 -> editorkey ==== send.privatekey ==== réservé aux abonnés avec authentification MD5 préalable title.gettext restricted to subscribers with previous md5 authentication is_subscriber([listname],[sender]) smtp,dkim -> request_auth is_subscriber([listname],[sender]) md5,smime -> do_it true() smtp,dkim,md5,smime -> reject(reason='send_subscriber') ==== send.privatekeyandeditorkeyonly ==== Modérée, pour les abonnés et les modérateurs title.gettext Moderated, for subscribers and moderators is_subscriber([listname],[sender]) smtp,dkim -> request_auth is_subscriber([listname],[sender]) md5,smime -> editorkey is_editor([listname],[sender]) smtp,dkim -> request_auth is_editor([listname],[sender]) md5,smime -> do_it true() smtp,dkim,md5,smime -> reject(reason='send_subscriber') ==== send.privateoreditorkey ==== Privée, modérée pour les non abonnés title.gettext Private, moderated for non subscribers is_subscriber([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it true() smtp,dkim,smime,md5 -> editorkey ==== send.privateorpublickey ==== Privée, confirmation pour les non abonnés title.gettext Private, confirmation for non subscribers true() md5,smime -> do_it is_subscriber([listname],[sender]) smtp,dkim -> do_it true() smtp,dkim -> request_auth ==== send.private_smime ==== limité aux abonnés, vérif de la signature smime title.gettext restricted to subscribers check smime signature is_subscriber([listname],[sender]) smime -> do_it is_editor([listname],[sender]) smime -> do_it is_owner([listname],[sender]) smime -> do_it true() smtp,md5,smime -> reject(reason='send_subscriber_smime') ==== send.public ==== liste ouverte title.gettext public list true() smtp,dkim,smime,md5 -> do_it ==== send.publickey ==== quiconque mais avec authentification md5 title.gettext anyone with previous md5 authentication true() smtp -> request_auth true() dkim,md5,smime -> do_it ==== send.publicnoattachment ==== liste ouverte mais attachements passés au modérateur title.gettext public list multipart/mixed messages are forwarded to moderator match([header->Content-Disposition],/attachment/) smtp,dkim,smime,md5 -> editorkey match([header->Content-Type],/multipart\/mixed/) smtp,dkim,smime,md5 -> editorkey true() smtp,dkim,md5,smime -> do_it ==== send.public_nobcc ==== liste ouverte, Bcc interdit (anti-spam) title.gettext public list, Bcc rejected (anti-spam) equal([is_bcc],1) smtp,dkim,smime,md5 -> reject true() smtp,dkim,md5,smime -> do_it ==== send.publicnomultipart ==== liste ouverte mais attachements interdits title.gettext public list multipart messages are rejected match([header->Content-Type],/multipart/) smtp,dkim,smime,md5 -> reject(reason='send_multipart') true() smtp,dkim,md5,smime -> do_it ===== Scénarios locaux ===== ==== intranetandprivateandeditorkey ==== Modérée, limitée aux abonnés et au domaine local title.gettext Moderée, pour les utilisateurs du domaine local (intranet) et les abonnés is_editor([listname],[sender]) smtp,smime,md5 -> do_it is_subscriber([listname],[sender]) smtp,smime,md5 -> editorkey match([sender],/[conf->host]$/) smtp,smime,md5 -> editorkey match([sender], /imag\.fr$/) smtp,smime,md5 -> editorkey match([sender], /grenet\.fr$/) smtp,smime,md5 -> editorkey match([sender], /grenoble\-inp\.fr$/) smtp,smime,md5 -> editorkey true() smtp,smime,md5 -> reject(reason='send_local_user_sub') ==== envoi que par une adresse mail définie ==== match([sender],/jean\.dupont\@grenoble\-inp\.fr/) smtp,smime,md5 -> do_it ==== envoi que par les abonnés d'une autre liste ==== is_subscriber('liste-emetteurs',[sender]) smtp,smime,md5 -> do_it ==== envoi interdit à certains abonnés comme d'une autre liste ==== is_subscriber('liste-emetteurs',[sender]) smtp,smime,md5 -> reject ==== envoi que par les abonnés d'une autre liste avec demande de confirmation de l’émetteur et modération pour les extérieurs ==== is_subscriber('liste-emetteurs',[sender]) smime,md5 -> do_it is_subscriber('liste-emetteurs',[sender]) smtp -> request_auth true() smtp,md5,smime -> editorkey ==== envoi par intranet et demande de confirmation pour extérieurs ==== title.gettext restricted to local domain, confirmation for non subscribers # if subscriber request come from local domain do_it else reject is_editor([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_owner([listname],[sender]) smtp,dkim,smime,md5 -> do_it is_subscriber([listname],[sender]) smtp,dkim -> do_it match([sender],/[conf->host]$/) smtp,dkim,smime,md5 -> do_it true() smtp,dkim -> request_auth