Cette installation permettra de créer des listes dans le domaine listes.mondomaine.fr
Elles seront de la forme maliste@listes.mondomaine.fr.
L’objectif poursuivi est de pouvoir envoyer des messages à des listes de diffusion, il n’est pas de mettre en place une messagerie complète (avec son serveur IMAP). Cela peut être ajouté mais ne fait pas partie de cette procédure pour le moment.
Sympa peut être configuré, et nous le ferons, pour embarquer les signatures DMARC et DKIM dans les messages qu’il envoie aux membres des listes, ce qui permet d’avoir des taux de réussite des envois élevés, et peu de fichier dans les dossiers spam ou autres indésirables.
Nous protégerons le serveur web en utilisant Let’s Encrypt.
Notre utilisation de ces listes est essentiellement pour des newsletters (listes privées, ou les membres ne peuvent répondre à la liste, mais on peut faire tous types de listes), nous ne mettons donc pas en place d’ antivirus (pour le moment)
Avertissement: Pour mener à bonne fin cette procédure, il est nécessaire de connaître GNU/Linux, en particulier sur la manipulation des fichiers de configuration et maîtriser la modification de zones DNS auprès de son Registrar ainsi que les commandes host et dig. Il faut aussi avoir la patience d’attendre et de vérifier que les zones DNS sont bien propagées et à jour. Elle s’adresse plutôt à des informaticiens professionnels.
Ajouts:
- le 8 Mai 2017 (paragraphe 11 bis) l’envoi de messages cryptés (SSL/TLS) en utilisant le certificat LetsEncrypt du serveur Web
- le 11 Juillet 2017: après plusieurs mois d’utilisation, plus aucun message envoyé par les listes ne pose problème. Toutes les signatures paraissent connectes, les messages n’arrivent plus en spam chez hotmail, yahoo, aol, gmail, outlook.fr, ….
1 – Prérequis:
-
- L’installation est faite sur un serveur VPS chez gandi.net, sous Debian Jessie.
- regarder la réputation et les blacklists de son serveur en faisant
– pour l’IP « reputation »: http://www.senderbase.org/lookup/?search_string=listes.mondomaine.fr. Il faut que la réputation soit au minimum à « neutral », consulter aussi le nombre de messages envoyés par cette adresse IP par le passé, s’il y en a beaucoup: méfiance. Regarder aussi https://postmaster.aol.com/ip-reputation
– pour les blacklists: https://mxtoolbox.com/blacklists.aspx et http://www.dnsbl.info/dnsbl-database-check.php par exemple. Bien regarder si l’IP n’est sur aucune liste.
-
- Si votre IP est blacklistée par une ou quelques listes, ou a mauvaise réputation au village, arrêtez vous là, vous serez embêtés essentiellement par yahoo, hotmail et consorts (voir à la fin de la page un petit témoignage). Les messages partiront, mais vous n’aurez que les logs de postfix pour vous prévenir que les messages ne sont pas délivrés, autant dire que vous ne vous apercevrez pas. Il faut changer de serveur ou d’interface pour changer d’IP, en espérant que la prochaine adresse attribuée au serveur ne sera pas blacklistée. Vous pouvez aussi faire des demandes de delist, mais c’est compliqué et souvent très lent.
- Malgré tout, même avec les signatures correctement configurées, en regardant les signatures dans le message arrivé, vous pourrez avoir des messages qui arriveront en spam, sans que l’on sache pourquoi…(voir un exemple à la fin de cette page)
- reconfigurer les locales du serveur
dpkg-reconfigure locales
Choisir fr_FR-UTF8 dans la liste (mettre une * en appuyant sur la barre espace) et choisir cette locale par défaut.
- Le domaine utilisé pour les listes de diffusion et pour l’envoi de messages est listes.mondomaine.fr: Il est bon, quand c’est possible car le serveur peut héberger d’autres applications, d’ajouter à sa zone DNS un enregistrement PTR (reverse DNS) portant le nom du sous domaine de la liste (listes.mondomaine.fr). On aquand même de bons résultats sans le faire. Cela est indispensable pour AOL, sinon les mails n’arrivent pas et on n’est prévenu que par les logs de postfix
Commencer par ajouter dans la zone mondomaine.fr 2 enregistrements DNS (les enregistrements sont ici en mode texte, de nombreux providers permettent de les rentrer ainsi directement, comme le mode « expert » de gandi.net);
listes A w.x.y.z listes MX 10 listes.mondomaine.fr.
N’oubliez pas le . après mondomaine.fr. La valeur 10 (peu importe la valeur) est le « poids » du serveur, nous ne configurerons qu’un serveur d’envoi supposant ainsi qu’il ne « tombera » pas.
Une fois propagés les 2 nouveaux enregistrements DNS, la commande
$host -t a listes.mondomaine.fr
note: les lignes commençant par $ sont des commandes à taper en simple utilisateur, les lignes commançcant par # sont des commandes à taper en root
doit renvoyer:
listes.mondomaine.fr has address w.x.y.z
et la commande
$host -t mx listes.mondomaine.fr
doit renvoyer quelque chose du genre:
listes.mondomaine.fr mail is handled by 10 listes.mondomaine.fr.
Remarque: Pour gagner du temps pour voir si la propagation se fait bien, on peut utiliser la commande:
dig @a.dns.gandi.net mx listes.mondomaine.fr
ce qui suit le @ est ne nom d’un des DNS du fournisseur du VPS (ici gandi.net). La propagation des zones DNS commence par ce faire sur les DNS du fournisseur du VPS, et donc on voit les changements apparaitre plus rapidement. Cela permet de ne pas perdre patience.
2 – Installations et configurations
# aptitude update && aptitude upgrade # aptitude install apache2 libapache2-mod-fcgid mysql-server postfix sympa opendkim opendkim-tools opendmarc mailutils
Sur une installation « fraiche » de Debian Jessie on doit avoir
Les NOUVEAUX paquets suivants vont être installés : libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} postfix{b} sympa 0 paquets mis à jour, 9 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de télécharger 1 371 ko/11,4 Mo d'archives. Après dépaquetage, 108 Mo seront utilisés. Les paquets suivants ont des dépendances non satisfaites : postfix : Est en conflit avec: mail-transport-agent qui est un paquet virtuel exim4-daemon-light : Est en conflit avec: mail-transport-agent qui est un paquet virtuel exim4-config : Est en conflit avec: postfix mais 2.11.3-1 doit être installé. Les actions suivantes permettront de résoudre ces dépendances : Supprimer les paquets suivants : 1) exim4 2) exim4-base 3) exim4-config 4) exim4-daemon-light Accepter cette solution ? [Y/n/q/?
Répondre Y deux fois . Par défaut le seveur de messagerie installé par défaut avec debian Jessie est exim4, nous le remplacons par postfix.
Lors de l’installation de postfix quelques questions sont posées:
Note: si vous avez bien configuré les locales du serveur, vous devez maintenant avoir les messages ci dessous en français, si ce n’est pas le cas vous pourrez le faire plus tard.
- répondre « Site Internet «
- System mail name (Nom de courrier ): listes.mondomaine.fr
Lors de l’installation un mot de passe pour l’utilisateur root est demandé: taper et retaper un mot de passe, le noter pour s’en souvenir.
Puis lors de l’installation de sympa:
- Configure database for sympa with dbconfig-common? : Yes
- Database type to be used by sympa: mysql
- un mot de passe est demandé pour l’utilisateur sympa (utilisateur par défaut), en taper un et confirmer,
- Which Web Server(s) are you running?répondre Apache2
- Faut-il configurer la base de données de sympa avec dbconfig-common ? répondre Oui
- Type: répondre mysql
- Donner le mot de passe du root du serveur mysql puis de la base de données sympa (2 fois),
Normalement tout doit se dérouler correctement.
Vérification:
# aptitude -f install
Les commandes:
ps axu | grep mysql
ps axu | grep postfix
ps axu | grep sympa
Doivent renvoyer des lignes de processus qui tournent.
3 – Configuration de Sympa
Avec votre éditeur de texte préféré, supprimer tout le contenu de /etc/sympa/sympa.conf et le remplacer par:
###\\\\ Site customization ////### ## Main robot hostname domain listes.mondomaine.fr ## Local part of sympa email address ## Effective address will be [EMAIL]@[HOST] email sympa ## Listmasters email list comma separated ## Sympa will associate listmaster privileges to these email addresses (mail and web interfaces). Some error reports may also be sent to these addresses. listmaster monnomprenom@toto.com ## URL of main Web page wwsympa_url http://listes.mondomaine.fr/wws max_wrong_password 19 ## Directory for storing static contents (CSS, members pictures, documentation) directly delivered by Apache static_content_path /var/lib/sympa/static_content ## URL mapped with the static_content_path directory defined above static_content_url /static-sympa ## Secret used by Sympa to make MD5 fingerprint in web cookies secure ## Should not be changed ! May invalid all user password cookie `cat /etc/sympa/cookie` ## Who is able to create lists ## This parameter is a scenario, check sympa documentation about scenarios if you want to define one create_list public_listmaster ###\\\\ Directories ////### ## Directory containing mailing lists subdirectories home /var/lib/sympa/list_data ## Directory for configuration files; it also contains scenari/ and templates/ directories etc /etc/sympa ###\\\\ System related ////### ## Syslog facility for sympa ## Do not forget to edit syslog.conf syslog `cat /etc/sympa/facility` ## Log verbosity ## 0: normal, 2,3,4: for debug log_level 0 ## Communication mode with syslogd (unix | inet) log_socket_type unix ## Umask used for file creation by Sympa umask 027 ###\\\\ Sending related ////### ## Path to the MTA (sendmail, postfix, exim or qmail) ## should point to a sendmail-compatible binary (eg: a binary named "sendmail" is distributed with Postfix) sendmail /usr/sbin/sendmail ## Max. number of Sendmail processes (launched by Sympa) running simultaneously ## Proposed value is quite low, you can rise it up to 100, 200 or even 300 with powerfull systems. maxsmtp 40 log_smtp off ## comma separated list of operations for which blacklist filter is applied ## Setting this parameter to "none" will hide the blacklist feature use_blacklist send,create_list ## Default maximum size (in bytes) for messages (can be re-defined for each list) max_size 5242880 ## Maximum number of recipients per call to Sendmail. The nrcpt_by_domain.conf file allows a different tuning per destination domain. nrcpt 25 ## Max. number of different domains per call to Sendmail avg 10 ## Specify which rfc2369 mailing list headers to add rfc2369_header_fields help,subscribe,unsubscribe,post,owner,archive ## Specify header fields to be removed before message distribution remove_headers X-Sympa-To,X-Family-To,Return-Receipt-To,Precedence,X-Sequence,Disposition-Notification-To ## Reject mail from automates (crontab, etc) sent to a list? reject_mail_from_automates_feature on ###\\\\ Bulk mailer ////### ## Default priority for a packet to be sent by bulk. sympa_packet_priority 5 ## Minimum number of packets in database before the bulk forks to increase sending rate ## bulk_fork_threshold 1 ## Max number of bulks that will run on the same server ## bulk_max_count 3 ## The number of seconds a slave bulk will remain running without processing a message before it spontaneously dies. ## bulk_lazytime 600 ## The number of seconds a bulk sleeps between starting a new loop if it didn't find a message to send. ## Keep it small if you want your server to be reactive. bulk_sleep 1 ## Number of seconds a master bulk waits between two packets number checks. ## Keep it small if you expect brutal increases in the message sending load. bulk_wait_to_fork 10 ###\\\\ Quotas ////### ###\\\\ Spool related ////### ## Directory containing various specialized spools ## All spool are created at runtime by sympa.pl spool /var/spool/sympa ## Directory for incoming spool queue /var/spool/sympa/msg queuedistribute /var/spool/sympa/distribute ## Directory for moderation spool queuemod /var/spool/sympa/moderation ## Directory for digest spool queuedigest /var/spool/sympa/digest ## Directory for authentication spool queueauth /var/spool/sympa/auth ## Directory for outgoing spool queueoutgoing /var/spool/sympa/outgoing ## Directory for subscription spool queuesubscribe /var/spool/sympa/subscribe ## Directory for topic spool queuetopic /var/spool/sympa/topic ## Directory for bounce incoming spool queuebounce /var/spool/sympa/bounce ## Directory for task spool queuetask /var/spool/sympa/task ## Directory for automatic list creation spool queueautomatic /var/spool/sympa/automatic ###\\\\ Internationalization related ////### ## Supported languages ## This is the set of language that will be proposed to your users for the Sympa GUI. Don't select a language if you don't have the proper locale packages installed. supported_lang fr ## Default language (one of supported languages) ## This is the default language used by Sympa lang fr ## If set to "on", enables support of legacy character set ## In some language environments, legacy encoding (character set) is preferred for e-mail messages: for example iso-2022-jp in Japanese language. legacy_character_support_feature off ###\\\\ Bounce related ////### ## Welcome message return-path ( unique | owner ) ## If set to unique, new subcriber is removed if welcome message bounce welcome_return_path owner ## Remind message return-path ( unique | owner ) ## If set to unique, subcriber is removed if remind message bounce, use with care remind_return_path owner ## Task name for expiration of old bounces expire_bounce_task daily ## Bouncing email rate for warn list owner bounce_warn_rate 30 ## Bouncing email rate for halt the list (not implemented) ## Not yet used in current version, Default is 50 bounce_halt_rate 50 ###\\\\ Tuning ////### ## Use of binary version of the list config structure on disk (none | binary_file) ## Set this parameter to "binary_file" if you manage a big amount of lists (1000+); it should make the web interface startup faster cache_list_config none ## Sympa commands priority sympa_priority 1 request_priority 0 owner_priority 9 ## Default priority for list messages default_list_priority 5 ## comma-separated list of files that will be parsed by Sympa when instantiating a family (no space allowed in file names) parsed_family_files message.footer,message.header,message.footer.mime,message.header.mime,info ###\\\\ Database related ////### ## Type of the database (mysql|ODBC|Oracle|Pg|SQLite|Sybase) ## Be careful to the case db_type mysql ## Name of the database ## With SQLite, the name of the DB corresponds to the DB file db_name sympa ## Hostname of the database server # db_host localhost #db_host localhost ## User for the database connection db_user sympa #db_user sympa ## Password for the database connection ## What ever you use a password or not, you must protect the SQL server (is it not a public internet service ?) db_passwd Changer_le_mot_de_passe_par_le_votre #db_passwd your_passwd ## Database private extention to subscriber table ## You need to extend the database format with these fields #db_additional_subscriber_fields billing_delay,subscription_expiration ## Database private extention to user table ## You need to extend the database format with these fields #db_additional_user_fields age,address ## Number of months that elapse before a log is expired logs_expiration_period 3 ## Default timeout between two scheduled synchronizations of list members with data sources. default_ttl 3600 ## Default timeout between two action-triggered synchronizations of list members with data sources. default_distribution_ttl 300 ## Default timeout while performing a fetch for an include_sql_query sync default_sql_fetch_timeout 300 ###\\\\ Loop prevention ////### ###\\\\ S/MIME configuration ////### ## Path to OpenSSL ## Sympa recognizes S/MIME if OpenSSL is installed #openssl /usr/bin/ssl ## Directory containing trusted CA certificates #capath /etc/sympa/ssl.crt ## File containing bundled trusted CA certificates #cafile /usr/local/apache/conf/ssl.crt/ca-bundle.crt crl_dir /var/lib/sympa/list_data/crl ## Directory containing user certificates ssl_cert_dir /var/lib/sympa/list_data/X509-user-certs ## Password used to crypt lists private keys #key_passwd your_password ###\\\\ DKIM ////### dkim_feature off ## Insert a DKIM signature to message from the robot, from the list or both dkim_add_signature_to robot,list ## Type of message that is added a DKIM signature before distribution to subscribers. Possible values are "none", "any" or a list of the following keywords: "md5_authenticated_messages", "smime_authenticated_messages", "dkim_authenticated_messages", "editor_validated_messages". dkim_signature_apply_on md5_authenticated_messages,smime_authenticated_messages,dkim_authenticated_messages,editor_validated_messages ###\\\\ Antivirus plug-in ////### ## Path to the antivirus scanner engine ## Supported antivirus: McAfee/uvscan, Fsecure/fsav, Sophos, AVP and Trend Micro/VirusWall #antivirus_path /usr/local/uvscan/uvscan ## Antivirus plugin command argument #antivirus_args --secure --summary --dat /usr/local/uvscan ###\\\\ Tag based spam filtering ////### ## If a spam filter (like spamassassin or j-chkmail) add a smtp headers to tag spams, name of this header (example X-Spam-Status) antispam_tag_header_name X-Spam-Status ## Regexp applied on this header to verify message is a spam (example \s*Yes) antispam_tag_header_spam_regexp ^\s*Yes ## Regexp applied on this header to verify message is NOT a spam (example \s*No) antispam_tag_header_ham_regexp ^\s*No ## Messages are supposed to be filtered by an antispam that add one more headers to messages. This parameter is used to select a special scenario in order to decide the message spam status: ham, spam or unsure. This parameter replace antispam_tag_header_name, antispam_tag_header_spam_regexp and antispam_tag_header_ham_regexp. spam_status x-spam-status ###\\\\ Web interface parameters ////### edit_list owner ## URL of a virtual host http_host http://host.domain.tld ## The password validation techniques to be used against user passwords that are added to mailing lists. Options come from Data::Password (http://search.cpan.org/~razinf/Data-Password-1.07/Password.pm#VARIABLES) #password_validation MINLEN=8,GROUPS=3,DICTIONARY=4,DICTIONARIES=/pentest/dictionaries
N’oubliez pas de changer la valeur de:
-db_passwd dans le fichier ci dessus.
-listmaster avec votre vraie adresse email et non pas monnomprenom@toto.com
Beaucoup de lignes sont en commentaires et pourront être utilisées ultérieurement pour perfectionner la config
Modifier le fichier /etc/sympa/wwsympa.conf:
remplacer le paramètre
use_fast_cgi 0
par
use_fast_cgi 1
Lancer Sympa
# service sympa restart
Normalement en tapant la commande
# ps axu | grep sympa
Vous devriez voir quelque chose du genre
sympa 11709 0.0 1.4 236204 56328 ? S 14:58 0:00 /usr/bin/perl /usr/lib/sympa/bin/archived.pl sympa 11710 0.0 1.4 236136 56364 ? S 14:58 0:00 /usr/bin/perl /usr/lib/sympa/bin/bounced.pl sympa 11716 0.0 1.4 236064 56636 ? S 14:58 0:00 /usr/bin/perl /usr/lib/sympa/bin/bulk.pl sympa 11720 0.0 1.5 242212 61192 ? S 14:58 0:00 /usr/bin/perl /usr/lib/sympa/bin/task_manager.pl sympa 11724 0.0 1.4 238508 58300 ? S 14:58 0:00 /usr/bin/perl /usr/lib/sympa/bin/sympa.pl root 11831 0.0 0.0 12748 2284 pts/3 S+ 15:00 0:00 grep sympa
4 – Configuration d’Apache (serveur web) pour Sympa
Supprimez le fichier /etc/apache2/conf-available/sympa.conf et remplacez le par /etc/apache2/sites-available/sympa.conf (sinon letsencrypt de pourra pas installer le certificat, voir plus bas):
Puis faire:
# a2disconf sympa.conf
<IfModule mod_fcgid> IPCCommTimeout 120 MaxProcessCount 2 </IfModule> <VirtualHost listes.mondomaine.fr:80> ServerName listes.mondomaine.fr DocumentRoot /var/lib/sympa <Directory /var/lib/sympa> Require all granted </Directory> <Directory /var/www/sympa> Require all granted </Directory> <Directory /usr/lib/cgi-bin/sympa> Require all granted </Directory> Alias /static-sympa /var/lib/sympa/static_content Alias /wwsicons /var/lib/sympa/static_content/icons ScriptAlias /wws /var/www/sympa/wwsympa.fcgi ScriptAlias wwsympa-wrapper.fcgi /usr/lib/cgi-bin/sympa/wwsympa-wrapper.fcgi SuexecUserGroup sympa sympa <Location wws> SetHandler fcgid-script </Location> </VirtualHost>
N’oubliez pas de modifier listes.mondomaine.fr
Pui, faire:
# a2ensite sympa.conf
Créer un dossier /var/www/sympa
# mkdir /var/www/sympa # chown sympa:sympa /var/www/sympa
Avec son editeur de texte créer un fichier /var/www/sympa/wwsympa.fcgi
contenant
#!/bin/bash exec /usr/lib/cgi-bin/sympa/wwsympa.fcgi
changer le propriétaire et les droits de ce fichier:
# chown sympa:sympa /var/www/sympa/wwsympa.fcgi # chmod +x /var/www/sympa/wwsympa.fcgi
Activer le module suexec d’apache
# a2enmod suexec
Redémarrer Apache
# service apache2 restart
A ce stade en faisant http://listes.mondomaine.fr/wws dans son navigateur on doit voir la page d’accueil de Sympa.
5 – Configuration de postfix pour Sympa
Effacer le contenu du fichier /etc/postfix/main.cf et le remplacer par:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=no smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = listes.mondomaine.fr alias_maps = hash:/etc/aliases,hash:/etc/mail/sympa/aliases alias_database = hash:/etc/aliases,hash:/etc/mail/sympa/aliases myorigin = /etc/mailname mydestination = listes.mondomaine.fr, localhost, localhost.localdomain, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all #pour robot listes.mondomaine.fr transport_maps = regexp:/etc/postfix/sympa_transport.cf virtual_alias_maps = regexp:/etc/mail/sympa_virtual_regexp sympa_destination_recipient_limit = 1 sympabounce_destination_recipient_limit = 1
Remplacer listes.mondomaine.fr par la bonne valeur (3 fois dans le fichier ci dessus).
Effacer le contenu du fichier /etc/posfix/master.cf et le remplacer par:
# # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master" or # on-line: http://www.postfix.org/master.5.html). # #Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== slow unix - - n - 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1 smtp inet n - - - - smtpd #rajouté pour gmail #https://tanguy.ortolo.eu/blog/article109/google-ipv6-smtp-restrictions smtp4 unix - - - - - smtp -o inet_protocols=ipv4 #smtp inet n - - - 1 postscreen #smtpd pass - - - - - smtpd #dnsblog unix - - - - 0 dnsblog #tlsproxy unix - - - - 0 tlsproxy #submission inet n - - - - smtpd # -o syslog_name=postfix/submission # -o smtpd_tls_security_level=encrypt # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #smtps inet n - - - - smtpd # -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING #628 inet n - - - - qmqpd pickup unix n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr unix n - n 300 1 qmgr #qmgr unix n - n 300 1 oqmgr tlsmgr unix - - - 1000? 1 tlsmgr rewrite unix - - - - - trivial-rewrite bounce unix - - - - 0 bounce defer unix - - - - 0 bounce trace unix - - - - 0 bounce verify unix - - - - 1 verify flush unix n - - 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - - - - smtp relay unix - - - - - smtp # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - - - - showq error unix - - - - - error retry unix - - - - - error discard unix - - - - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - - - - lmtp anvil unix - - - - 1 anvil scache unix - - - - 1 scache # # ==================================================================== # Interfaces to non-Postfix software. Be sure to examine the manual # pages of the non-Postfix software to find out what options it wants. # # Many of the following services use the Postfix pipe(8) delivery # agent. See the pipe(8) man page for information about ${recipient} # and other message envelope options. # ==================================================================== # # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # # ==================================================================== # # Recent Cyrus versions can use the existing "lmtp" master.cf entry. # # Specify in cyrus.conf: # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4 # # Specify in main.cf one or more of the following: # mailbox_transport = lmtp:inet:localhost # virtual_transport = lmtp:inet:localhost # # ==================================================================== # # Cyrus 2.1.5 (Amos Gouaux) # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe # user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # Old example of delivery via Cyrus. # #old-cyrus unix - n n - - pipe # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} # # ==================================================================== # # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} sympa unix - n n - - pipe flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient} sympabounce unix - n n - - pipe flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${recipient}
Créer un fichier en root dans /etc/mail/sympa/aliases (créer le répertoire sympa s’il n’existe pas) et y mettre le contenu:
listes.mondomaine.fr-sympa: "| /usr/lib/sympa/bin/queue sympa@listes.mondomaine.fr" listes.mondomaine.fr-listmaster: "| /usr/lib/sympa/bin/queue listmaster@listes.mondomaine.fr" listes.mondomaine.fr-bounce+*: "| /usr/lib/sympa/bin/bouncequeue sympa@listes.mondomaine.fr" listes.mondomaine.fr-abuse-feedback-report: "| /usr/lib/sympa/bin/bouncequeue sympa@listes.mondomaine.fr" listes.mondomaine.fr-sympa-request: root@listes.mondomaine.fr listes.mondomaine.fr-sympa-owner: root@listes.mondomaine.fr
Remplacer les listes.mondomaine.fr par les bonnes valeurs.
Changer les droits au dossier /etc/mail/sympa :
# chown -R sympa:sympa /etc/mail/sympa/aliases
Créer un fichier /etc/mail/sympa_virtual_regexp contenant
/^(.*)@listes.mondomaine.fr$/ $1
Rempacer la valeur de listes.mondomaine.fr.
Changer les droits
# chown -R sympa:sympa /etc/mail/sympa_virtual_regexp
Créer dans /etc/postfix un fichier sympa_transport.cf contenant
/^.*-owner\@listes\.mondomaine\.fr$/ sympabounce: /^.*\@listes\.mondomaine\.fr$/ sympa:
Relancer postfix et vérifier qu’il a bien démarré
# service postfix restart # ps axu | grep postfix
6 – Configuration de DKIM
# mkdir /etc/opendkim
Modification du fichier /etc/opendkim.conf :
AutoRestart Yes Syslog Yes UMask 002 KeyTable /etc/opendkim/KeyTable SigningTable /etc/opendkim/SigningTable ExternalIgnoreList /etc/opendkim/TrustedHosts InternalHosts /etc/opendkim/TrustedHosts
Modification du fichier /etc/default/opendkim :
# Command-line options specified here will override the contents of # /etc/opendkim.conf. See opendkim(8) for a complete list of options. #DAEMON_OPTS="" # # Uncomment to specify an alternate socket # Note that setting this will override any Socket value in opendkim.conf #SOCKET="local:/var/run/opendkim/opendkim.sock" # default #SOCKET="inet:54321" # listen on all interfaces on port 54321 #SOCKET="inet:12345@192.0.2.1" # listen on 192.0.2.1 on port 12345 SOCKET="inet:10000@localhost" # listen on loopback on port 10000
Modification du fichier /etc/postfix/main.cf, ajouter à la fin du fichier :
# DKIM milter_default_action = accept milter_protocol = 6 smtpd_milters = inet:localhost:10000 non_smtpd_milters = $smtpd_milters
Modification (création) du fichier /etc/opendkim/TrustedHosts :
localhost listes.mondomaine.fr
Modification du fichier /etc/opendkim/KeyTable :
default._domainkey.listes.mondomaine.fr listes.mondomaine.fr:default:/etc/opendkim/keys/listes.mondomaine.fr/default.private
Modification du fichier /etc/opendkim/SigningTable :
listes.mondomaine.fr default._domainkey.listes.mondomaine.fr
Création des clés privées et publiques du domaine :
# mkdir /etc/opendkim/keys # cd /etc/opendkim/keys # mkdir listes.mondomaine.fr # cd listes.mondomaine.fr # opendkim-genkey -r -d listes.mondomaine.fr # chown opendkim: default.private
Ajouter 2 entrées TXT au niveau de votre DNS (Gandi ou autre) depuis la ligne disponible dans /etc/opendkim/keys/listes.mondomaine.fr/default.txt
default._domainkey IN TXT ( "v=DKIM1; k=rsa; s=email; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQABDVHHZif1IM63+m/hcBOWtb1qZwLZUpelrvssQ8kgWS67TmGhJG9At2MF+KIUw6dENs9BCKOfWIiFlCbv8Pzh8+mVO09L2b45ByYsOS/IbnBJw01/XPjKu7TJ88oPx1YWLcq0oVsprRNOnA0sDLDapwDZyNeAW9OykbjCnHAQIDAQAB" ) ; ----- DKIM key default for listes.mondomaine.fr
et en rajoutant .listes après default._domainkey ( j’ai constaté que parfois la recherche se faisait sur le domaine et parfois sur le sous domaine, je ne sais pourquoi)
default._domainkey.listes IN TXT ( "v=DKIM1; k=rsa; s=email; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC963NqHHZif1IM63+m/hcBOWtb1qZwLZUpelrvssQ8kgWS67TmGhJG9At2MF+KIUw6dENs9BCKOfWIiFlCbv8Pzh8+mVO09L2b45ByYsOS/IbnBJw01/XPjKu7TJ88oPx1YWLcq0oVsprRNOnA0sDLDapwDZyNeAW9OykbjCnHAQIDAQAB" ) ; ----- DKIM key default for listes.mondomaine.fr
Bricoler méticuleusement les ( et » jusqu’a obtenir la bonne syntaxe pour l’enregistrement DNS (chez gandi.net) qui est en mode texte :
default._domainkey.listes IN TXT "v=DKIM1; k=rsa; s=email; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC963NqHHZif1IM63+m/hcBOWtb1qZwLZUpelrvssQ8kgWS67TmGhJG9At2MF+KIUw6dENs9BCKOfWIiFlCbv8Pzh8+mVO09L2b45ByYsOS/IbnBJw01/XPjKu7TJ88oPx1YWLcq0oVsprRNOnA0sDLDapwDZyNeAW9OykbjCnHAQIDAQAB"
et
default._domainkey IN TXT "v=DKIM1; k=rsa; s=email; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC963NqHHZif1IM63+m/hcBOWtb1qZwLZUpelrvssQ8kgWS67TmGhJG9At2MF+KIUw6dENs9BCKOfWIiFlCbv8Pzh8+mVO09L2b45ByYsOS/IbnBJw01/XPjKu7TJ88oPx1YWLcq0oVsprRNOnA0sDLDapwDZyNeAW9OykbjCnHAQIDAQAB"
Vérifier une fois propagé (quelques minutes à quelques heures)
# host -t txt default._domainkey.listes.mondomaine.fr
7 – Configuration de DMARC
Modification du fichier /etc/default/opendmarc :
# Command-line options specified here will override the contents of # /etc/opendmarc.conf. See opendmarc(8) for a complete list of options. #DAEMON_OPTS="" #:q # Uncomment to specify an alternate socket # Note that setting this will override any Socket value in opendkim.conf #SOCKET="local:/var/run/opendmarc/opendmarc.sock" # default #SOCKET="inet:54321" # listen on all interfaces on port 54321 SOCKET="inet:10001" # listen on on port 10001
Modification de la ligne du fichier /etc/opendmarc.conf :
AuthservID listes.mondomaine.fr
ajouter dans le DNS un enregistrement TXT comme:
_dmarc.listes IN TXT "v=DMARC1; p=reject; sp=reject"
Vérifier après propagation:
host -t txt _dmarc.listes.mondomaine.fr
configuration SPF
Ajoutée dans la zone DNS un enregistrement:
listes IN TXT v=spf1 a mx ip4:w.x.y.z -all
Ajouter aussi l’enregistrement SPF
sympa 10800 IN TXT "v=spf1 a mx ip4:78.203.190.44 -all"
8 – Utiliser DKIM et DMARC:
Remplacer dans /etc/postfix/main.cf à la fin après #DKIM
# DKIM / DMARC milter_default_action = accept milter_protocol = 6 smtpd_milters = inet:localhost:10000,inet:localhost:10001 non_smtpd_milters = $smtpd_milters
Rajouter (je crois que c’est déja fait) dans /etc/postfix/master.cf
au dessus de la ligne
smtp inet n - - - - smtpd
les lignes
slow unix - - n - 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1 smtp4 unix - - - - - smtp -o inet_protocols=ipv4
La premièe ligne servira à ralentir les accès à certains serveurs comme orange.fr qui tardent à répondre
La Deuxième ligne à envoyer avec l’adresse IPV4 et non IPV6 (pour gmail.com entre autres)
Puis dans /etc/postfix/transport rajouter (ou créer le fichier s’il n’existe pas encore:
orange.fr slow: wanadoo.fr slow: infonie.fr slow: aliceadsl.fr slow: free.fr slow: gmail.com smtp4:
Puis ajouter à la ligne transport_maps = de /etc/postfix/main.cf, rajouter la ligne:
regexp:/etc/postfix/sympa_transport.cf,hash:/etc/postfix/transport
Faire:
# postmap /etc/postfix/transport # postmap /etc/postfix/sympa_transport.cf
9 – Redémarrer tous les services:
# /etc/init.d/opendkim restart # /etc/init.d/opendmarc restart # /etc/init.d/postfix restart
Tester les connections dkim et dmarc:
Les commandes suivantes, sur le serveur, doivent répondre (installer telnet si pas dispo)
$ telnet localhost 10000 $ telnet localhost 10001
Tester son install de postfix, par exmeple en allant voir:
https://mxtoolbox.com/diagnostic.aspx
10 – Premiers tests tests:
host -t txt listes.mondomaine.fr
host -t txt _dmarc.listes.mondomaine.fr
default._domainkey.listes.mondomaine.fr
host -t txt default._domainkey.listes.mondomaine.fr
Se créer (si on n’en a pas déja un) une adresse gmail.com pour tests
Puis en console sur le serveur:
$ mail -s "Message pour un premier test" monadresse@gmail.com [Entrée] Ceci est le contenu de la première ligne du message [Entrée] Ceci est le contenu de la deuxième ligne du message[Entrée] A+[Entrée] bm[Entrée] .[Entrée] CC: [Entrée]
Regarder si le message est reçu dans gmail.com.
Faire bien attention de marquer les messages en « pas de spam » ou « non spam » quand un message arrive en spam quand on fait des essais successifs.
Si oui, aller à « Afficher l’original » du message, il doit y avoir un truc dans le genre:
Message d'origine ID du message <20170421133501.9828F1CC02@server01> Date de création : 21 avril 2017 à 15:35 (temps d'envoi : 2 secondes) De : admin@listes.mondomaine.fr À : monadresse@gmail.com Objet : Message pour un deuxieme test SPF : PASS avec l'adresse IP w.x.y.z En savoir plus DKIM : PASS avec le domaine listes.mondomaine.fr En savoir plus DMARC : PASS En savoir plus
Les mails partent donc signés SPF DKIM et DMARC.
On peut aussi utiliser : https://www.mail-tester.com/ qui donne de précieux renseignements en cas de problèmes (les 3 premiers mails envoyés son testés gratuitement), après il faut payer un peu en ligne, mais ça vaut vraiment le coup car on gagne beaucoup de temps : Exemple:
$ mail -s "Message pour un premier test" web-duqkk@mail-tester.com [Entrée] Ceci est le contenu de la première ligne du message [Entrée] Ceci est le contenu de la deuxième ligne du message[Entrée] A+[Entrée] bm[Entrée] .[Entrée] CC: [Entrée]
11 – Installation de Let’s Encrypt
Si un pare feu est en place le désactiver provisoirement.
Ajouter au fichier /etc/apt/sources.list :
deb http://mirrors.gandi.net/debian jessie-backports main contrib non-free
puis
# aptitude update && aptitude upgrade
# aptitude install python-certbot-apache -t jessie-backports
Configuration:
# a2enmod socache_shmcb # a2enmod ssl # a2enmod rewrite # service apache2 restart
puis, pour pouvoir protéger listes.mondomaine.fr, il faut que le sous domaine www.mondomaine.fr est aussi un enregistrement DNS de type A.
Quand c’est fait:
# certbot --apache
Selectionner listes.mondomaine.fr comme URL à protéger (il peux y en avoir d’autres selon votre configuration si des sites web existent déja)
La procédure doit échouer.
Commenter la ligne #IncludeOptional conf-enabled/*.conf dans /etc/apache2/apache2.conf
Recommencer
# certbot --apache
en répondant en « Attempt to reinstall the existing certificate »
Cela devrait fonctionner
Voir l’URL:
https://www.ssllabs.com/ssltest/analyze.html?d=listes.mondomaine.fr
11bis – envoi des messages cryptés (SSL/TLS) en utilisant le certificat LetsEncrypt du serveur Web
Configuration de Postfix; rajouter dans /et/postfix/main.cf
smtpd_tls_cert_file=/etc/letsencrypt/live/listes.mondaomaine.fr-0001/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/listes.mondaomaine.fr-0001/privkey.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
Relancer postfix
Vérification: aller à https://www.checktls.com. Cliquer sur Email -> Test to:
Une fenêtre « TestReceiver parameter entry » s’ouvre.
Saisir une adresse mail: listmaster@listes.mondomaine.fr
Cliquer sur « Run test »
Le résultat doit être:
CheckTLS Confidence Factor for « listmaster@listes.mondomaine.fr »: 100
MX Server | Pref | Answer | Connect | HELO | TLS | Cert | Secure | From | To |
listes.mondomaine.fr [w.x.y.z] |
10 | OK (105ms) |
OK (118ms) |
OK (105ms) |
OK (105ms) |
OK (251ms) |
OK (107ms) |
OK (106ms) |
OK (107ms) |
Average | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 100% |
12 – Création et tests d’une liste de diffusion:
a – Pour la première connection à sympa cliquer en haut a gauche de l’écran d’accueil de sympa sur « première connection en mettant le mail du listmaster sui a été configuré dans /etc/sympa/sympa.conf.
b – Un lien est envoyé pour saisir un mot de passe.
c – Une fois reçu, faire « connection » en haut à droite
d – Une fois connecté cliquer sur création de liste, na nommer test et mettre « confidentielle » dans « Type de liste »
e – saisir un objet (en bas de l’écran, une catégorie, et une description et valider.
f – Cliquer sur « configurer la liste » et sur le bouton DKIM
g – activer Insérer une signature aux messages postés par la liste. (dkim_feature)
h – Dans « configuration DKIM » mettre /etc/opendkim/keys/listes.public-montessori.fr/default.private dans le champ « Chemin vers le fichier contenant la clé privée DKIM de la liste (private_key_path) »
i- Mettre default._domainkey dans « Selecteur pour la recherche DNS de la clé publique DKIM. (selector) »
j – selectionner « tout message à « Les catégories de messages de liste qui seront signés avec DKIM » et « tous » à « DMARC Protection »
k – Valider
l – Cliquer sur liste des listes et « gérer les abonnés.
A ce stade il est conseillé d’ouvrir quelques comptes email, genre yahoo.com aol.con, outlook.fr, gmail.com, …. et abonner ces adresses à la liste de test
Saisir quelques abonnés (email que l’on maitrise) et envoyer un message à la liste test@listes.mondomaine.fr
Vérifier le code source des messages pour voir les signatures.
Remarques et commentaires bienvenus. (ci dessous)
13 – Liens utiles
SPF, DMARC, DKIM (attention au mal de tête),
le paragraphe concernant les listes de diffusion et yahoo est très intéressant dans le lien ci dessous:
https://www.sympa.org/doc/formation/sympa_avance
TODO
14 – Remarques:
-
- la table bulkspool_table de la base sympa grossit beaucoup; de temps en temps faire
$ mysql -u root -p > use sympa; optimise table bulkspool_table
- J’ai testé (pour jouer) cette procédure avec un VPS dont l’IP était blacklistée sur sorbs.net, sorbs.net seulement. J’ai demandé, et obtenu, le delistage de cette adresse, voici la réponse qui m’a été apportée:
Your request appear to have been resolved. If you have any
further questions or concerns, please respond to this message.
Please note:
If your IP address has been delisted (marked as ‘Inactive’), it will
take up to 2 hours to get from the database to all the SORBS DNS
servers. Changes to the database are exported to the DNS zone files
periodically, not immediately after every change. Furthermore, after
the updated database contents have been exported to the DNS zone
files, it will then take up to 48 hours for the outdated DNS
information to be removed from DNS caches around the world – none
of these are in SORBS’ control.
Please do not reply to this call with problems not related to
this ticket or your request will be ignored.
C’était la seule liste qui blacklistait mon IP, après le delistage les messages Microsft ‘outlook et aol.com continuent d’être refusées. Mais yahoo et gmail sont acceptés. Si j’ai bien compris, je ne savais pas que ces info de sorbs.net étaient propagées sur les serveurs DNS.
- Un message arrivant en SPAM: Ci dessous le code source d’un message envoyé à une liste à un membre ayant une adresse @outlook.fr: en gras les vérifications de signatures SPF, DKIM et DMARC. Rassurant (un peu): 2 jours après les messages n’arrivent plus en SPAM (j’ai modifié les adresses dans ce code source ci dessous);
Received: from AM5PR0602CA0007.eurprd06.prod.outlook.com (10.175.46.145) by HE1PR06MB1545.eurprd06.prod.outlook.com (10.164.50.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1047.13 via Mailbox Transport; Thu, 27 Apr 2017 16:00:25 +0000 Received: from inbound.mail.protection.outlook.com (213.199.154.145) by AM5PR0602CA0007.outlook.office365.com (10.175.46.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12 via Frontend Transport; Thu, 27 Apr 2017 16:00:25 +0000 Received: from VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com (10.152.18.56) by VE1EUR03HT217.eop-EUR03.prod.protection.outlook.com (10.152.19.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9; Thu, 27 Apr 2017 16:00:25 +0000 Authentication-Results: spf=pass (sender IP is w.x.y.z) smtp.mailfrom=listes.mondomaine.fr; outlook.fr; dkim=pass (signature was verified) header.d=listes.mondomaine.fr;outlook.fr; dmarc=pass action=none header.from=listes.mondomaine.fr; Received-SPF: Pass (protection.outlook.com: domain of listes.mondomaine.fr designates w.x.y.z as permitted sender) receiver=protection.outlook.com; client-ip=w.x.y.z; helo= listes.mondomaine.fr; Received: from BAY004-MC1F4.hotmail.com (10.152.18.56) by VE1EUR03FT055.mail.protection.outlook.com (10.152.19.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.1047.9 via Frontend Transport; Thu, 27 Apr 2017 16:00:24 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:2E05907FAC0AA94D0F0ECFC4C2FA618A38C03FC0DE645B8292B9B7CDEA47C85B;UpperCasedChecksum:CAE2C4CC9F9770D23D5CE5EDDDBE1747307B5E82F5DCD60F82AAFE7AEC1C116B;SizeAsReceived:2608;Count:33 Received: from listes.mondomaine.fr ([w.x.y.z]) by BAY004-MC1F4.hotmail.com with Microsoft SMTPSVC(7.5.7601.23143); Thu, 27 Apr 2017 09:00:22 -0700 Received: by listes.mondomaine.fr (Postfix, from userid 108) id 0AC7ACABE; Thu, 27 Apr 2017 18:00:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=listes.mondomaine.fr; s=default; t=1493308821; bh=uiJR7aQ4Fm5gXblS1tjCmzzvMFSY4JZElSqZ/1wx/Vc=; h=To:From:Date:Reply-To:Subject:List-Id:List-Help:List-Subscribe: List-Unsubscribe:List-Post:List-Owner:List-Archive; b=aOdQcrKTVa1IRZJ6t7tstoKS8NO+zNiMTy4MKZ2TGpzqdamQ/B+DIzNpHuGI/HX78 4x9pSn8ePiu3Y8gsAzChLFbBvcqQFRQFEmLBOz7sykE/nE16kkR23pJGRDnnBRp3jJ MDZEmeYLiT1luhyi+xVQcYbz2jlWJT0L3LLz/v5g= Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [212.27.42.5]) by listes.mondomaine.fr (Postfix) with ESMTPS id B04FFCABB for <test@listes.mondomaine.fr>; Thu, 27 Apr 2017 18:00:17 +0200 (CEST) Authentication-Results: listes.mondomaine.fr; dmarc=none header.from=toto.org Received: from [192.168.1.101] (unknown [78.203.190.44]) by smtp5-g21.free.fr (Postfix) with ESMTP id A2B7360013 for <test@listes.mondomaine.fr>; Thu, 27 Apr 2017 18:00:17 +0200 (CEST) To: test@listes.mondomaine.fr From: "BM" (via test Mailing List) <test@listes.mondomaine.fr> Message-ID: <c72c9427-2180-a65b-207f-1d5c667fbb8b@toto.org> Date: Thu, 27 Apr 2017 18:00:19 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Reply-To: tarzan@toto.org X-Original-From: BM <tarzan@toto.org> Subject: [test] Beau titre de message X-Loop: test@listes.mondomaine.fr X-Sequence: 21 Errors-to: test-owner@listes.mondomaine.fr Precedence: bulk Sender: <test-request@listes.mondomaine.fr> X-no-archive: yes List-Id: <test.listes.mondomaine.fr> List-Help: <mailto:sympa@listes.mondomaine.fr?subject=help> List-Subscribe: <mailto:sympa@listes.mondomaine.fr?subject=subscribe%20test> List-Unsubscribe: <mailto:sympa@listes.mondomaine.fr?subject=unsubscribe%20test> List-Post: <mailto:test@listes.mondomaine.fr> List-Owner: <mailto:test-request@listes.mondomaine.fr> List-Archive: <http://listes.mondomaine.fr/wws/arc/test> Return-Path: test-owner@listes.mondomaine.fr X-OriginalArrivalTime: 27 Apr 2017 16:00:22.0443 (UTC) FILETIME=[6042C7B0:01D2BF6F] X-IncomingHeaderCount: 33 X-MS-Exchange-Organization-Network-Message-Id: 07880b67-4281-4048-9b95-08d48d868450 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa:0 X-MS-Exchange-Organization-MessageDirectionality: Incoming CMM-sender-ip: w.x.y.z CMM-sending-ip: w.x.y.z CMM-Authentication-Results: hotmail.com; spf=temperror (sender IP is w.x.y.z) smtp.mailfrom=test-owner@listes.mondomaine.fr; dkim=pass header.d=listes.mondomaine.fr; x-hmca=pass header.id=test-request@listes.mondomaine.fr CMM-X-SID-PRA: test-request@listes.mondomaine.fr CMM-X-AUTH-Result: PASS CMM-X-SID-Result: PASS CMM-X-Message-Status: n:n CMM-X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0wO0Q9MjtHRD0yO1NDTD00 CMM-X-Message-Info: 11chDOWqoTmSm7tOJShjSRAj+sgWV6rn2YCb9GHnKpeVrQPnxDP86D0amzo8es+mohE7uFdqEW56MhSvj/KIr0VqkYPefaarwiWg+J5vg8kZM83T5D+lRz6WGJDACIkVvCrLenLxDY8S8oTgRgfGbo+VOUMn+RwG5qrUGm+3usGVLtynYLSKtD13E9pi+n5VBaltK2QkfFb15i3uC5ifj8WCHtWd9k+33LieCYrp925NMsucbrJPFjgv6jModaLf X-MS-Exchange-Organization-SCL: 5 X-MS-Exchange-Organization-PCL: 2 X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03FT055;1:vJI3MNheUhwHWcTdGj6UMnhw0ls8eqZLgEkONQZHkDb8p7x3cGltIMaRqw+2fw5X12+1qodlRUMxHfTsraJ4RVbAnrrYL1D/YyLW9zlpNIh5ngJ+vQHS+6JpeJbS4hr2Zere8rveTlfgwJB2diDkoCj7aO/xJL9dHe00Vo/M5QiRfLDgBOBeTf4JrjN0NF6A X-Forefront-Antispam-Report: EFV:NLI;SFV:SPM;SFS:(28900001);DIR:INB;SFP:;SCL:5;SRVR:VE1EUR03HT217;H:BAY004-MC1F4.hotmail.com;FPR:;SPF:None;LANG:fr; X-MS-Office365-Filtering-Correlation-Id: 07880b67-4281-4048-9b95-08d48d868450 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(22001)(8291500097)(8291501071);SRVR:VE1EUR03HT217; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03HT217;3:f9sUTBTms/0R8BENJY1L8WgazOYGe9e9IAOLbYPKhRchQILSuSukPGuYy2//jeQX+gRn8Kk8vLOZO7KqpS3BZ2qwka69Fh375HL+KuU/wOkT8NgOP4X8v1J5A1dmGwC7ypSc0laZKrdOagWkXIWQNbqDqdYj+XgXKepvPV7EY5QfOMYIm2FQ6LMsk+m1DmgORYiVhJsYVWkcl5uTC2RbYYp16VNijlXJxHVI2fhmKubYKgZZqwndzG3gGEYQ77kLmleAShtFeOvDRfWB/6JSKJMSeIgdJntMNGMVGcQoQTtK7PAqu795pHPAaMGjnPXuPPUpIgd7/CFSRyz8TVUxF8NQmJ1AYkset6gq5U5QHiJt8wOVISkJW+cegIBVIDAniKFQjD5J+jP+guRNo6kz6Q==;25:u4Pn1u+GMgq3qkaDjQH7FoKbcqqD7KuG8gTr13OmEkhAFWwT+WZ45l0ZQMydiGWHmrFKG9MPqH/z/dOsEZgF4VhdKlsd+LtqBqMBpO2GiIwGXw35oOyNQJett2aSXpljSlhqieMN8bRKrOWg/So5V5zpP6Q8D2gMVTRLXN5SaRvgygfHSbNP222t99m3G4dKxLBxzP1h9xGhJ4WYByZ4tVlGTwWnYjU1hiN5fdSSA+NZQyVYpYuk21qe/jRvypX9h6qu8LrNTpYbpGFbOGjfiGVL5LfNggkgrxzP49BUlyLIsHIgNOeadYgRNYPmbLY2gchApZ/kpuDR9R9DOnizwRijERRbgMzsbcM1/aQCpsX12bwtbe0E4IyOqH2sDz7thWBosqhlP49ti+rr6FM14RX9Al4Yukk056RwDNvRW140F9YIZ1SX5t5Z0mLvyUy3IVpF4xPsLMos80O7d8OTPmzelAjZg3RjsklOxQigDv0= X-MS-Exchange-Organization-AVStamp-Service: 1.0 X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03HT217;31:I81AQrxbflX5KHev5Pu76OfoCLQlhin0d3bBhUTciku/mkR6h1xx3vb2p5rlQmlr9S7JpalAe9lIJmRa0T0h/s/tBYxi0spYXoouOFB9su13qhtEs2ehmBAcpR1toraLIX6iLZMiasZi711AWZ9bWGEiQhEvZ73QAFeV5EEtwZYKN4vKbCjUTaYoNBLbPL2AsAU763SHplAW7J0NLu1tqMnwVudqc8jp47PtcYci5ZpuVbEFOTJHa7kytETZ5ohaC3VhT9/G3zDrfmICeaHRMUaFWHu+RWdS4+Xico8rZr8=;4:/2/G/9l/y2w4lvjJz92ODWc68CmPR9qTRIxSJB2qRjnpkz6YHT4rxti/BXq0BPGLWBOM9dJKrPp7fIFlh7esNodrCs1zOnSsvfV8mzZyZK5sNvOwBv9HWOCJS1UIpe8O5O6SX9m7mAh4+i0uGFg9NC8KA8NQ/+o27EYPgvKFuH8vkO0ZczScLTj69smGXQlGtv6t01+yVFhYCEybpCQYw+RQ7M+gh0+ZfcylX0+2dSh/Rcy7AlfEE9ZEZI/LNwcMQgkJf4hu7Z8DcKcVI6MAgV4GrUBOkcW05vHYlmHB+F4=;23:4oTT3gnZbgk1b4vDBFIcyBreRRJnpuD/ET1BSFvGfr+/07FJM2kOZvNw/TJSSh74DOmm6n+YybIWku/laNBBQLBq5zfsrWzsWbrd3S7BpAoIJpdTu8JlvIUap+/fEu6P34EMtc6dO/m4mzRNcpLjRQeSq04/hXVqPB5Cfa0eL0unzYKRVI0K6AO4Q+6ajFCNN4VKRCnV8bsRwcR/dgQ5Tg== X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(444000031);SRVR:VE1EUR03HT217;BCL:0;PCL:0;RULEID:;SRVR:VE1EUR03HT217; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03HT217;6:LuLIvP/7xwBaBzUkTOtbm5TzDWhkYqOsnteHU/khHwt+kl3lx07ZQu29/RE2kSRUX2IMtDnP19ov+AyIz6JfSr9hk8zLXgvrayVy5METohqt4p3zPm7PuMaFCzrGnHfz4wj7n1RyeRPs51BP1nsknZr1QFeON3jIoBMHkxYUaYdL2bFRG0ALdOtb6fHDpoLI8p+//KCET4eyokQv15IS2lKIdyKZs22fxDU7VXm6cZXNTg8h/XTR1CoTRa9nDo4SdKuZUtAmBCrRsHQJ/ICzcdFkiMLY5PGd69WcijknBGuHlh1f7xfoBCGZGHlKgQnrR9hQBNO5YzMekTEnJ4CIlpHcHN7GuIndl+Z8TDOYDFhOxS3uN3tEe3zSnENhP0lV+/u5C2xurZrFfTRV3mEOxQ==;5:I7Lkayg9ZBggXt05AvUBnByOZ7iu1dTMyYru484w5yBdyx20uc53blHrDPZ8QN/ClkKHqfbWqHRm+lBYp8jCY3q1P+vF+D8sewyTlS7P9ZA/0mHjxsLqK6dWZWCCAkcPgcNK+QfkTRlstCoexnznEg==;24:TCIAL+ZBKfuoB0dEmySEga/RCri/h9wwH4Uic9SrhF9xSYbeEZ6vGP9IjVKpixWUZzWQVlBwGoCY6x5bBG4Ypg== SpamDiagnosticOutput: 1:22 SpamDiagnosticMetadata: Default X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03HT217;7:w62btC0eZlgKYSNdfaAM+Hei7NT/Wt+DE+AtcWXR4N9+s76d3D0CyDFJ9OvrbhV3krhU1LYY/mkOJ5kFm3wPG1M5+b/R8JnMqlVXeXZUiLUxeLVsEmuDaXU6rnYYbsbE+dgEeMDqZdQ0LuIg2dgwEmcBjtFxt4q2Ff7muYrXQB/DnKkEb6HtobL63/J/8X/3zTD6nvn/9gtGiqBezkNzTgneLRcrRtONKZdZFKCiyXGWQYuH8MzgP1HuLqvpYtVq4XzVRKwWPNmBWr/bnNHH3UwjAEQFmZaH2oNWX2OgA5PLHm5fnKGv9ta+D/tZHEEwtuqWoEwh+NNAqSk4nTJT0Q== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2017 16:00:24.0310 (UTC) X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR03HT217 X-MS-Exchange-Organization-AuthSource: VE1EUR03FT055.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-OriginatorOrg: outlook.com X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.8142614 X-Microsoft-Exchange-Diagnostics: 1;HE1PR06MB1545;27:yR9RnEJ8pf2JF7kaj+QvazKD5zk8ysUEbDeuPGt0WI8nwff2Uwgv+qbglsVWGwuCXR+xbediSSmdeOrPcs0GW6AdU/dVp0AfOmK++4FeIrZS/jhYya9oHYulSZ9SigZspW/tulJkW6UTBBk39OS75g== X-Microsoft-Antispam-Mailbox-Delivery: abwl:0;wl:0;pcwl:0;kl:0;iwl:0;ijl:0;dwl:0;dkl:0;rwl:0;ex:0;auth:1;dest:J;WIMS-SenderIP:w.x.y.z;WIMS-SPF:listes%2emon%2ddomaine%2efr;WIMS-DKIM:listes%2emon%2ddomaine%2efr;WIMS-822:test%40listes%2emon%2ddomaine%2efr;WIMS-PRA:test%2drequest%40listes%2emon%2ddomaine%2efr;WIMS-AUTH:PASS;ENG:(5061607094)(102400140)(102420017);RF:JunkEmail;OFR:SpamFilterAuthJ; MIME-Version: 1.0 Et beau corps de message A bientôt VB