Documentation sur le logiciel SYMPA

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
scenario:send [2013/03/13 09:05]
balleydc
scenario:send [2017/09/12 11:20] (Version actuelle)
catherine.balleydier@grenoble-inp.fr [envoi que par une adresse mail définie]
Ligne 8: Ligne 8:
 title.gettext closed title.gettext closed
    
-true() smtp,​smime,​md5 ​   ->   ​reject(reason='​send_closed'​)+true() smtp,dkim,​smime,​md5 ​   ->   ​reject(reason='​send_closed'​)
 </​code>​ </​code>​
  
 +==== send.confidential ====
 +<color red>​resteint aux abonnés, modérateurs,​ propriétaires </​color>​
 +<​code> ​
 +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
 +</​code>​
  
-===== send.editorkey ​=====+==== send.editorkey ====
 <color red>​Modérée</​color>​ <color red>​Modérée</​color>​
 <​code>​ <​code>​
 title.gettext Moderated title.gettext Moderated
  
-is_editor([listname],​[sender]) ​                ​smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[sender]) ​                smtp,dkim,​smime,​md5 ​   -> do_it 
-is_editor([listname],​[header->​X-sender]) ​      ​smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[header->​X-sender]) ​      smtp,dkim,​smime,​md5 ​   -> do_it 
-true() ​                                        ​smtp,​smime,​md5 ​   -> editorkey+true() ​                                        smtp,dkim,​smime,​md5 ​   -> editorkey
 </​code>​ </​code>​
  
-===== send.editorkeyonly ​=====+==== send.editorkeyonly ====
 <color red>​Modérée,​ même pour les modérateurs</​color>​ <color red>​Modérée,​ même pour les modérateurs</​color>​
 <​code>​ <​code>​
 title.gettext Moderated, even for moderators title.gettext Moderated, even for moderators
  
-is_editor([listname],​[sender]) ​    ​smime,​md5 ​            ​-> do_it +is_editor([listname],​[sender]) ​    ​smime,​md5 ​                 -> do_it 
-true() ​                            ​smtp,​smime,​md5 ​       -> editorkey+true() ​                            smtp,dkim,​smime,​md5 ​       -> editorkey
 </​code>​ </​code>​
  
-===== send.editorkeyonlyauth ​=====+==== send.editorkeyonlyauth ====
 <color red>​Modérée,​ avec confirmation du modérateur </​color>​ <color red>​Modérée,​ avec confirmation du modérateur </​color>​
 <​code>​ <​code>​
 title.gettext Moderated, with editor confirmation title.gettext Moderated, with editor confirmation
  
-is_editor([listname],​[sender]) ​                ​md5,​smime ​       -> do_it +is_editor([listname],​[sender]) ​                ​md5,​smime ​            ​-> do_it 
-is_editor([listname],​[sender]) ​                ​smtp ​            -> request_auth +is_editor([listname],​[sender]) ​                smtp,dkim             -> request_auth 
-true() ​                                        ​smtp,​smime,​md5 ​  -> editorkey+true() ​                                        smtp,dkim,​smime,​md5 ​  -> editorkey
 </​code>​ </​code>​
  
-===== send.intranet ​=====+==== send.intranet ====
 <color red>​limité aux utilisateurs du domaine local</​color>​ <color red>​limité aux utilisateurs du domaine local</​color>​
 <​code>​ <​code>​
Ligne 47: Ligne 57:
  
 # if subscriber request come from local domain do_it else reject # if subscriber request come from local domain do_it else reject
-is_editor([listname],​[sender]) smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[sender]) ​      ​smtp,dkim,​smime,​md5 ​   -> do_it 
-is_owner([listname],​[sender]) ​ smtp,​smime,​md5 ​   -> do_it +is_owner([listname],​[sender]) ​       smtp,dkim,​smime,​md5 ​   -> do_it 
-match([sender],/​[conf->​host]$/​) ​     smtp,​smime,​md5 ​   -> do_it +match([sender],/​[conf->​host]$/​) ​     smtp,dkim,​smime,​md5 ​   -> do_it 
-true()  ​    ​smtp,​smime,​md5 ​   -> reject(reason='​send_local_user'​)+true()  ​    smtp,dkim,​smime,​md5 ​   -> reject(reason='​send_local_user'​)
 </​code>​ </​code>​
  
-===== send.intranetorprivate ​=====+==== send.intranetorprivate ====
 <color red>​Moderée,​ pour les utilisateurs du domaine local (intranet) et les abonnés</​color>​ <color red>​Moderée,​ pour les utilisateurs du domaine local (intranet) et les abonnés</​color>​
 <​code>​ <​code>​
 title.gettext restricted to local domain and subscribers title.gettext restricted to local domain and subscribers
  
-is_subscriber([listname],​[sender]) smtp,​smime,​md5 ​   -> do_it +is_subscriber([listname],​[sender]) smtp,dkim,​smime,​md5 ​   -> do_it 
-is_editor([listname],​[sender]) ​    ​smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[sender]) ​    smtp,dkim,​smime,​md5 ​   -> do_it 
-is_owner([listname],​[sender]) ​     smtp,​smime,​md5 ​   -> do_it +is_owner([listname],​[sender]) ​     smtp,dkim,​smime,​md5 ​   -> do_it 
-match([sender],/​[conf->​host]$/​) ​         smtp,​smime,​md5 ​   -> do_it +match([sender],/​[conf->​host]$/​) ​   smtp,dkim,​smime,​md5 ​   -> do_it 
-true()      smtp,​smime,​md5 ​   -> reject(reason='​send_local_user_sub'​)+true()    smtp,dkim,​smime,​md5 ​   -> reject(reason='​send_local_user_sub'​)
 </​code>​ </​code>​
  
-===== send.newsletter ​=====+==== send.newsletter ====
 <color red>​Newsletter,​ limité aux modérateurs</​color>​ <color red>​Newsletter,​ limité aux modérateurs</​color>​
 <​code>​ <​code>​
 title.gettext Newsletter, restricted to moderators title.gettext Newsletter, restricted to moderators
  
-is_editor([listname],​[sender]) ​                ​smtp,​smime,​md5 ​    -> do_it +is_editor([listname],​[sender]) ​                smtp,dkim,​smime,​md5 ​    -> do_it 
-true()  ​      ​smtp,​smime,​md5 ​    -> reject(reason='​send_editor'​)+true()  ​      smtp,dkim,​smime,​md5 ​    -> reject(reason='​send_editor'​)
 </​code>​ </​code>​
  
-===== send.newsletterkeyonly ​=====+==== send.newsletterkeyonly ====
 <color red>​Newsletter,​ limité aux modérateurs après confirmation</​color>​ <color red>​Newsletter,​ limité aux modérateurs après confirmation</​color>​
 <​code>​ <​code>​
 title.gettext Newsletter, restricted to moderators after confirmation title.gettext Newsletter, restricted to moderators after confirmation
  
-is_editor([listname],​[sender]) ​                ​smime ​          ​-> do_it +is_editor([listname],​[sender]) ​                ​smime ​                  ​-> do_it 
-is_editor([listname],​[sender]) ​                ​smtp,​md5,​smime ​ -> editorkey +is_editor([listname],​[sender]) ​                smtp,dkim,​md5,​smime ​    ​-> editorkey 
-true()  ​      ​smtp,​smime,​md5 ​    -> reject(reason='​send_editor'​)+true()  ​      smtp,dkim,​smime,​md5 ​    -> reject(reason='​send_editor'​)
 </​code>​ </​code>​
  
-===== send.private ou send.default ​=====+==== send.private ou send.default ====
 <color red>​limité aux abonnés</​color>​ <color red>​limité aux abonnés</​color>​
 <​code>​ <​code>​
 title.gettext restricted to subscribers title.gettext restricted to subscribers
  
-is_subscriber([listname],​[sender]) ​            ​smtp,​smime,​md5 ​   -> do_it +is_subscriber([listname],​[sender]) ​            smtp,dkim,​smime,​md5 ​   -> do_it 
-is_editor([listname],​[sender]) ​                ​smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[sender]) ​                smtp,dkim,​smime,​md5 ​   -> do_it 
-is_owner([listname],​[sender]) ​                 smtp,​smime,​md5 ​   -> do_it +is_owner([listname],​[sender]) ​                 smtp,dkim,​smime,​md5 ​   -> do_it 
-true()  ​      ​smtp,​md5,​smime ​ -> reject(reason='​send_subscriber'​)+true()  ​      smtp,dkim,​md5,​smime ​   -> reject(reason='​send_subscriber'​)
 </​code>​ </​code>​
  
-===== send.privateandeditorkey ​=====+==== send.privateandeditorkey ====
 <color red>​Modérée,​ limitée aux abonnés</​color>​ <color red>​Modérée,​ limitée aux abonnés</​color>​
 <​code>​ <​code>​
Ligne 105: Ligne 115:
 </​code>​ </​code>​
  
-===== send.privateandnomultipartoreditorkey ​=====+==== send.privateandnomultipartoreditorkey ====
 <color red>​Modérée,​ pour les non abonnés postant un message multipart</​color>​ <color red>​Modérée,​ pour les non abonnés postant un message multipart</​color>​
 <​code>​ <​code>​
 title.gettext Moderated, for non subscribers sending multipart messages title.gettext Moderated, for non subscribers sending multipart messages
  
-is_editor([listname],​[sender]) ​                ​smtp,​md5,​smime ​ -> do_it +is_editor([listname],​[sender]) ​                smtp,dkim,​md5,​smime ​ -> do_it 
-match([header->​Content-Type],/​multipart/​) ​     smtp,​smime,​md5 ​ -> editorkey +match([header->​Content-Type],/​multipart/​) ​     smtp,dkim,​smime,​md5 ​ -> editorkey 
-is_subscriber([listname],​[sender]) ​            ​smtp,​md5,​smime ​ -> do_it +is_subscriber([listname],​[sender]) ​            smtp,dkim,​md5,​smime ​ -> do_it 
-true() ​                                        ​smtp,​smime,​md5 ​ -> editorkey+true() ​                                        smtp,dkim,​smime,​md5 ​ -> editorkey
 </​code>​ </​code>​
  
-===== send.privatekey ​=====+==== send.privatekey ====
 <color red>​réservé aux abonnés avec authentification MD5 préalable</​color>​ <color red>​réservé aux abonnés avec authentification MD5 préalable</​color>​
 <​code>​ <​code>​
 title.gettext restricted to subscribers with previous md5 authentication title.gettext restricted to subscribers with previous md5 authentication
  
-is_subscriber([listname],​[sender]) smtp          -> request_auth +is_subscriber([listname],​[sender]) smtp,dkim            ​-> request_auth 
-is_subscriber([listname],​[sender]) md5,​smime ​    ​-> do_it +is_subscriber([listname],​[sender]) md5,​smime ​           -> do_it 
-true()  ​          ​smtp,​md5,​smime ​ -> reject(reason='​send_subscriber'​)+true()  ​          smtp,dkim,​md5,​smime ​ -> reject(reason='​send_subscriber'​)
 </​code>​ </​code>​
  
-===== send.privatekeyandeditorkeyonly ​=====+==== send.privatekeyandeditorkeyonly ====
 <color red>​Modérée,​ pour les abonnés et les modérateurs</​color>​ <color red>​Modérée,​ pour les abonnés et les modérateurs</​color>​
 <​code>​ <​code>​
 title.gettext Moderated, for subscribers and moderators title.gettext Moderated, for subscribers and moderators
  
-is_subscriber([listname],​[sender]) smtp            -> request_auth +is_subscriber([listname],​[sender]) smtp,dkim            -> request_auth 
-is_subscriber([listname],​[sender]) md5,smime    -> editorkey +is_subscriber([listname],​[sender]) md5,smime         ​-> editorkey 
-is_editor([listname],​[sender]) ​    ​smtp ​           -> request_auth +is_editor([listname],​[sender]) ​    smtp,dkim            -> request_auth 
-is_editor([listname],​[sender])  ​  ​md5,​smime ​      ​-> do_it +is_editor([listname],​[sender])  ​  ​md5,​smime ​           -> do_it 
-true()  ​  ​smtp,​md5,​smime ​ -> reject(reason='​send_subscriber'​)+true()  ​  smtp,dkim,​md5,​smime ​ -> reject(reason='​send_subscriber'​)
 </​code>​ </​code>​
  
-===== send.privateoreditorkey ​=====+==== send.privateoreditorkey ====
 <color red>​Privée,​ modérée pour les non abonnés</​color>​ <color red>​Privée,​ modérée pour les non abonnés</​color>​
 <​code>​ <​code>​
 title.gettext Private, moderated for non subscribers title.gettext Private, moderated for non subscribers
  
-is_subscriber([listname],​[sender]) smtp,​smime,​md5 ​   -> do_it +is_subscriber([listname],​[sender]) smtp,dkim,​smime,​md5 ​   -> do_it 
-is_editor([listname],​[sender]) ​    ​smtp,​smime,​md5 ​   -> do_it +is_editor([listname],​[sender]) ​    smtp,dkim,​smime,​md5 ​   -> do_it 
-true() ​                            ​smtp,​smime,​md5 ​   -> editorkey+true() ​                            smtp,dkim,​smime,​md5 ​   -> editorkey
 </​code>​ </​code>​
  
-===== send.privateorpublickey ​=====+==== send.privateorpublickey ====
 <color red>​Privée,​ confirmation pour les non abonnés</​color>​ <color red>​Privée,​ confirmation pour les non abonnés</​color>​
 <​code>​ <​code>​
 title.gettext Private, confirmation for non subscribers title.gettext Private, confirmation for non subscribers
  
-true() ​                            ​md5,​smime ​    ​-> do_it +true() ​                            ​md5,​smime ​         -> do_it 
-is_subscriber([listname],​[sender]) smtp          -> do_it +is_subscriber([listname],​[sender]) smtp,dkim          -> do_it 
-true() ​                            ​smtp ​         -> request_auth+true() ​                            smtp,dkim          -> request_auth
 </​code>​ </​code>​
  
-===== send.private_smime ​=====+==== send.private_smime ====
 <color red>​limité aux abonnés, vérif de la signature smime</​color>​ <color red>​limité aux abonnés, vérif de la signature smime</​color>​
 <​code>​ <​code>​
Ligne 169: Ligne 179:
 </​code>​ </​code>​
  
-===== send.public ​=====+==== send.public ====
 <color red>​liste ouverte</​color>​ <color red>​liste ouverte</​color>​
 <​code>​ <​code>​
 title.gettext public list title.gettext public list
  
-true() ​      ​smtp,​smime,​md5 ​   -> do_it+true() ​      smtp,dkim,​smime,​md5 ​   -> do_it
 </​code>​ </​code>​
  
-===== send.publickey ​=====+==== send.publickey ====
 <color red>​quiconque mais avec authentification md5</​color>​ <color red>​quiconque mais avec authentification md5</​color>​
 <​code>​ <​code>​
 title.gettext anyone with previous md5 authentication title.gettext anyone with previous md5 authentication
  
-true() ​                              ​smtp ​         -> request_auth +true() ​                              ​smtp ​                   -> request_auth 
-true() ​                              ​md5,​smime ​    ​-> do_it+true() ​                              dkim,md5,​smime ​         -> do_it
 </​code>​ </​code>​
  
-===== send.publicnoattachment ​=====+==== send.publicnoattachment ====
 <color red>​liste ouverte mais attachements passés au modérateur</​color>​ <color red>​liste ouverte mais attachements passés au modérateur</​color>​
 <​code>​ <​code>​
 title.gettext public list multipart/​mixed messages are forwarded to moderator title.gettext public list multipart/​mixed messages are forwarded to moderator
  
-match([header->​Content-Disposition],/​attachment/​) ​     smtp,​smime,​md5 ​   -> editorkey +match([header->​Content-Disposition],/​attachment/​) ​     smtp,dkim,​smime,​md5 ​   -> editorkey 
-match([header->​Content-Type],/​multipart\/​mixed/​) ​       smtp,​smime,​md5 ​   -> editorkey +match([header->​Content-Type],/​multipart\/​mixed/​) ​       smtp,dkim,​smime,​md5 ​   -> editorkey 
-true() ​                                        ​ smtp,​md5,​smime ​   -> do_it+true() ​                                        ​ smtp,dkim,​md5,​smime ​   -> do_it
 </​code>​ </​code>​
  
-===== send.public_nobcc ​=====+==== send.public_nobcc ====
 <color red>​liste ouverte, Bcc interdit (anti-spam)</​color>​ <color red>​liste ouverte, Bcc interdit (anti-spam)</​color>​
 <​code>​ <​code>​
 title.gettext public list, Bcc rejected (anti-spam) title.gettext public list, Bcc rejected (anti-spam)
  
-equal([is_bcc],​1)  ​             smtp,​smime,​md5 ​   -> reject +equal([is_bcc],​1)  ​             smtp,dkim,​smime,​md5 ​   -> reject 
-true()  ​     smtp,​md5,​smime ​   -> do_it+true()  ​     smtp,dkim,​md5,​smime ​   -> do_it
 </​code>​ </​code>​
  
-===== send.publicnomultipart ​=====+==== send.publicnomultipart ====
 <color red>​liste ouverte mais attachements interdits</​color>​ <color red>​liste ouverte mais attachements interdits</​color>​
 <​code>​ <​code>​
 title.gettext public list multipart messages are rejected title.gettext public list multipart messages are rejected
  
-match([header->​Content-Type],/​multipart/​) ​     smtp,​smime,​md5 ​   -> reject(reason='​send_multipart'​) +match([header->​Content-Type],/​multipart/​) ​     smtp,dkim,​smime,​md5 ​   -> reject(reason='​send_multipart'​) 
-true()  ​              ​smtp,​md5,​smime ​   -> do_it+true()  ​              smtp,dkim,​md5,​smime ​   -> do_it
 </​code>​ </​code>​
  
  
-====== Scénarios locaux ​====== +===== Scénarios locaux ===== 
-===== intranetandprivateandeditorkey ​=====+==== intranetandprivateandeditorkey ====
 <color red>​Modérée,​ limitée aux abonnés et au domaine local</​color>​ <color red>​Modérée,​ limitée aux abonnés et au domaine local</​color>​
 <​code>​ <​code>​
Ligne 231: Ligne 241:
 </​code>​ </​code>​
  
-===== envoi que par une adresse mail définie ​=====+==== envoi que par une adresse mail définie ====
  
-  match([sender],/​jean\.dupont\@grenoble-inp\.fr/​) ​     smtp,​smime,​md5 -> do_it+  match([sender],/​jean\.dupont\@grenoble\-inp\.fr/​) ​     smtp,​smime,​md5 -> do_it
  
   ​   ​
-===== envoi que par les abonnés d'une autre liste =====+==== envoi que par les abonnés d'une autre liste ====
  
   is_subscriber('​liste-emetteurs',​[sender]) ​  ​smtp,​smime,​md5 ​   -> do_it   is_subscriber('​liste-emetteurs',​[sender]) ​  ​smtp,​smime,​md5 ​   -> do_it
  
-===== envoi que par les abonnés d'une autre liste avec demande de confirmation de l’émetteur et modération pour les extérieurs ​=====+==== 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]) ​   smime,​md5 ​   -> do_it
   is_subscriber('​liste-emetteurs',​[sender]) ​   smtp    -> request_auth   is_subscriber('​liste-emetteurs',​[sender]) ​   smtp    -> request_auth
   true() smtp,​md5,​smime ​ -> editorkey   true() smtp,​md5,​smime ​ -> editorkey
 +  ​
 +==== envoi par intranet et demande de confirmation pour extérieurs ====
 +
 +<​code>​
 +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
 +</​code>​