le Service postfix
configuration | ||||
---|---|---|---|---|
Postfix ne sait pas interpreter les apostrophes | ||||
sudo apt-get install postfix | installation de postfix | |||
sudo apt-get install mailutils | gestionnaire de mail simplificateur | |||
sudo apt-get install dovecot-common dovecot-imapd | serveur 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 informations | Postfix 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. | |||
tcp | Accè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_canonical | specifie des alias, (table de corespondance) | |
inet_protocols = ipv4 | specifie 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/info | afficher | |
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 " | mail | echo "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 |