le Service postfix

configuration
Postfix ne sait pas interpreter les apostrophes
sudo apt-get install postfixinstallation de postfix
sudo apt-get install mailutils gestionnaire de mail simplificateur
sudo apt-get install dovecot-common dovecot-imapdserveur IMAP et POP3 pour les systèmes d'exploitation Unix et dérivés
Variable Pour renseigner un paramètre :
parameter = value
other_parameter = $parameter
Les expressions "$paramètre", "${paramètre}" ou "$(paramètre)" sont récursivement remplacées par la valeur du paramètre.
L'expression "${paramètre?valeur}" est remplacée par "valeur" lorsque "$paramètre" est non vide.
L'expression "${paramètre:valeur}" est remplacée par "valeur" lorsque "$paramètre" est vide.
le stockage des informationsPostfix utilise les tables de correspondances pour stocker et lire les informations de contrôle d'accès, de réécriture d'adresses et pour le filtrage du contenu. Toutes ces tables sont indiquées dans le fichier main.cf sous la forme "type:table", où "type" est l'une des bases de données décrites au paragraphe "Postfix lookup table types"
exemples:
alias_maps = hash:/etc/postfix/aliases (alias locaux)
header_checks = regexp:/etc/postfix/header_checks (filtrage du contenu)
transport_maps = hash:/etc/postfix/transport (table de routage)
virtual_alias_maps = hash:/etc/postfix/virtual (réécriture des adresses)





les structures
btree Une structure en arbre balancé et trié. Ce n'est valable que si votre système supporte les bases Berkeley DB. Les fichiers sont créés avec les commandes postmap(1) ou postalias(1). Le nom de la table de correspondance utilisée dans "btree:table" est le nom du fichier base de données sans l'extension ".db".
cdb Une structure optimisée pour la lecture sans support des mises à jour incrémentales. Les fichiers sont créés avec les commandes postmap(1) ou postalias(1). La nom de la table de correspondance utilisé dans "cdb:table" est le nom de du fichier de la base de données sans le suffixe ".cdb". Cette fonctionnalité est disponible à partir de la version 2.2de Postfix.
cidr Une table qui associe des valeurs avec des expressions "Classless Inter-Domain Routing" (CIDR). Le format de ces tables est décrit à la page de manuel cidr_table(5).
dbm Un fichier indexé basé sur des hachages. Ce n'est disponible que si votre système supporte les bases Berkeley DB. Les fichiers sont créés avec les commandes postmap(1) ou postalias(1). Le nom de la table de correspondance utilisée dans "dbm:table" est le nom du fichier base de données sans l'extension ".dir" ou ".pag".
environ Le tableau de variables d'environnement UNIX. La clef est le nom de la variable. Le nom de la table de correspondances passé dans "environ:table" est ignoré.
hash Un fichier indexé basé sur des hachages. Ce n'est disponible que si votre système supporte les bases Berkeley DB. Les fichiers sont créés avec les commandes postmap(1) ou postalias(1). Le nom de la table de correspondance utilisée dans "hash:table" est le nom du fichier base de données sans l'extension ".db".
ldap (lecture seule) Recherche les correspondances en utilisant le protocole LDAP. Ce type de configuration est détaillé à la page de manuel ldap_table(5).
mysql (lecture seule) Recherche les correspondances en utilisant une base de données MySQL. Ce type de configuration est détaillé à la page de manuel mysql_table(5).
netinfo (lecture seule) Recherche les correspondances en utilisant les bases Netinfo.
nis (lecture seule) Recherche les correspondances en utilisant les bases NIS.
nisplus (lecture seule) Recherche les correspondances en utilisant les bases NIS+. Ce type de configuration est détaillé à la page de manuel nisplus_table(5).
pcre (lecture seule) Une table de correspondances basée sur les expressions rationnelles compatibles Perl. Le format du fichier est décrit à la page de manuel pcre_table(5). Le nom de la table de correspondances utilisé dans "pcre:table" est celui du fichier.
pgsql (lecture seule) Recherche les correspondances en utilisant une base de données PostgreSQL. Ce type de configuration est détaillé à la page de manuel pgsql_table(5).
proxy (lecture seule) Accède aux informations via le service proxymap(8) de Postfix. La syntaxe du nom de la table de correspondances est "proxy:type:table".
regexp (lecture seule) Une table de correspondances basée sue les expressions rationnelles POSIX. Le format du fichier est décrit à la page de manuel regexp_table(5). Le nom de la table de correspondances utilisé dans "regexp:table" est celui du fichier.
sdbm Un type de fichier indexé par hachage. Ce n'est disponible que sur les systèmes qui supportent les bases de données SDBM. Les fichierssont créés avec les commandes postmap(1) ou postalias(1). Le nom de la table de correspondance utilisée dans "sdbm:table" est le nom du fichier base de données sans l'extension ".dir" ou ".pag".
static (lecture seule) Retourne toujours le nom de la table de correspondances comme résultat. Par exemple, la table de correspondances "static:foobar" retourne toujours la chaîne "foobar" comme résultat de la consultation.
tcpAccède aux informations par un serveur TCP/IP. Le protocol est décrit à la page de manuel tcp_table(5). Le nom de la table de correspondances est "tcp:machine:port" où "machine" indique un nom de machine ou une adresse IP et "port" un nom de service ou un numéro de port. Ce protocole n'est disponible qu'à partir de la version 2.1.
unix (lecture seule) Une possibilité limitée pour interroger une base d'authentification UNIX. Les tables suivantes sont implémentées :
unix:passwd.byname
La table est la base de données de mots de passe UNIX. La clef est le nom de login. Le résultat est une entrée au format du fichier passwd(5).
unix:group.byname
La table est la base de données des groupes UNIX. La clef est le nom de groupe. Le résultat est une entrée au format du fichier group(5).





/etc/postfix/main.cf
myorigin =[$myhostname|$mydomain] indique le domaine qui apparaît dans le courrier envoyé à partir de cette machine
sender_canonical_maps = hash:/etc/postfix/sender_canonicalspecifie des alias, (table de corespondance)
inet_protocols = ipv4specifie le protocole utilisee
relayhost= smtp.free.fr specifie le serveur smtp de relai
myhostname = domotrix.fr specifie le nom de domaine





dovecot
home_mailbox = Maildir/
mailbox_command =
dans /etc/postfix/main.cf
sudo maildirmake.dovecot /etc/skel/Maildir
sudo maildirmake.dovecot /etc/skel/Maildir/.Drafts
sudo maildirmake.dovecot /etc/skel/Maildir/.Sent
sudo maildirmake.dovecot /etc/skel/Maildir/.Spam
sudo maildirmake.dovecot /etc/skel/Maildir/.Trash
sudo maildirmake.dovecot /etc/skel/Maildir/.Templates
permet de crée le squelette pour les futurs utilisateurs





maintenance
tail -f /var/log/mail/infoafficher
postfix reload relancer postfix
sudo service postfix restart redémarrer le service postfix





Commandes Utiles
qshape -s hold | head voir le tableau des messages en files d'attentes (par tranche de temps (minutes)
postqueue -p lister les messages en file d'attentes
postsuper -d ALL supprimer tout les messages en file d'attente
postcat -q 9142C420BC3 consulter un message de la file d'attente
echo "message " | mailecho "test sensibilisation usurpation identitee " | mail -a "From: nom prenom <adressemail@xxx>" -s "test identitee domotrix" adressemail@xxx
script pour lire les mails#!/bin/bash

for file in /home/admin/Maildir/new/*
do
printf '\033[0;35;38m'
echo "-----------------------------------------------"
printf '\033[0m'
printf '\033[0;37;38m'
echo "fichier : ".$(basename "$file")
printf 'expediteur : '
printf '\033[0m'
printf '\033[0;32;38m'
cat $file | sed -n 's/^From:\( .*\)/ \1 /Ip'
printf '\033[0m'
printf '\033[0;37;38m'
printf 'sujet : '
printf '\033[0m'
printf '\033[0;33;38m'
cat $file | sed -n 's/^Subject:\( .*\)/ \1/Ip'
printf '\033[0m'
echo "------------"
printf '\033[0;37;38m'
echo 'Message : '
cat $file | sed -n '/Message-Id/,/EOF/p'
printf '\033[0m'

printf '\033[0;35;38m'
echo "-----------------------------------------------"
printf '\033[0m'
done