Logo : un manchot sur fond d'étoile rouge
Alexandre Norman
de choses et d’autres
  • Blog
  • Projets
  • CV
Projets Python
  • python-gantt
  • python-nmap
  • pyClamd
Catégories
  • Asterisk
  • django
  • Outils
  • Poules
  • Raspberry Pi
  • Archives
Tags
  • asterisk (1)
  • bash (2)
  • Bricolage (1)
  • debian (6)
  • django (2)
  • dovecot (1)
  • GPS (1)
  • LDAP (1)
  • lighttpd (1)
  • méthode (3)
  • mpd (1)
  • Nagios (1)
  • openvpn (1)
  • OSM (3)
  • outils (6)
  • Palettes (1)
  • postfix (1)
  • postgrey (1)
  • Poules (1)
  • Python (6)
  • Raspberry Pi (6)
  • raspbian (6)
  • selenium (1)
  • shellscript (2)
  • voip (1)
  • wazo (1)
  • wifi (1)

Configuration d’un serveur de mail postfix sur Raspbian

Publication : 2015.08.14
Catégorie : Raspberry Pi

Tags: Raspberry Pi debian raspbian postfix dovecot postgrey

Ce post n°3 fait partie de la série “Configuration d’un Raspberry PI sous Raspbian”.

  1. Installation de la distribution Raspbian sur un Raspberry Pi 2
  2. Configuration d’un point d’accès wifi sur Raspbian
  3. Configuration d’un serveur de mail postfix sur Raspbian
  4. Configuration d’un serveur openvpn sur Raspbian
  5. Configuration d’un serveur lighttpd sur Raspbian
  6. Configuration d’un serveur mpd sur Raspbian

Installation de paquets supplémentaires

Installation des paquets nécessaires :

apt-get install postfix postgrey dovecot-pop3d

Configuration de postgrey

La configuration par défaut convient bien… donc rien à faire.

Configuration de dovecot

La configuration par défaut convient globalement… mais on veut quand même que le POP3 passe par du SSL, pour cela éditer le fichier /etc/dovecot/conf.d/10-ssl.conf et y mettre :

ssl = required
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Je veux aussi stocker les mails dans le répertoire de l’utilisateur. Éditer /etc/dovecot/conf.d/10-mail.conf :

mail_location = maildir:~/Maildir

Pour activer SASL, éditer /etc/dovecot/conf.d/10-master.conf pour y ajouter:

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
}

Il faut générer un certificat autosigné (si vous n’en avez pas un signé) :

openssl req -new -x509 -days 3650 -nodes -out /etc/dovecot/dovecot.pem -keyout /etc/dovecot/private/dovecot.pem

C’est généreux, il est valide une dizaine d’années…

Configuration de postfix

Édition de /etc/postfix/main.cf :

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=yes
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.

myhostname = raspi.xael.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = raspi.xael.org, raspi, localhost.localdomain, localhost, fl-organisation.com
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

home_mailbox = Maildir/
mailbox_command =

slow_destination_recipient_limit = 10
slow_destination_concurrency_limit = 2

virtual_alias_domains = xael.org
virtual_alias_maps = hash:/etc/postfix/virtual_alias

error_notice_recipient = postmaster@xael.org

# Postgrey
smtpd_recipient_restrictions =
        permit_mynetworks    
        permit_sasl_authenticated
        reject_unauth_destination
        check_policy_service inet:127.0.0.1:10023

# Local sender auth
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination check_policy_service inet:127.0.0.1:10023

Ajout à la fin du fichier /etc/postfix/master.cf :

slow unix - - n - 5 smtp
  -o syslog_name=postfix-slow
  -o smtp_destination_concurrency_limit=3
  -o slow_destination_rate_delay=1

Édition de /etc/aliases :

postmaster: root
patrick.dupond: pdupond, patrick.dupond@gmail.com
patrice.dupont: pdupont
admin:root
  • Les mails adressés à Patrick seront stockés en local dans sa boîte et envoyé vers sa boîte gmail.
  • Les mails adressés à Patrice seront uniquement stockés en local.

Ne pas oublier de leur créer des comptes locaux :

adduser pdupond
adduser pdupont

Édition de /etc/postfix/virtual_alias :

moi@xael.org maboite@gmail.com
liste@xael.org mail1@gmail.com mail2@gmail.com mail3@gmail.com 
@xael.org catchall@gmail.com
  • Les mails envoyés à moi seront envoyés vers maboite@gmail.com.
  • Les mails envoyés à liste seront envoyés à plusieurs destinataires.
  • La dernière ligne est un catchall qui récupère tout ce qui n’est pas addressé à un destinataire en particulier.

et compilation par :

postalias /etc/aliases
postmap /etc/postfix/virtual_alias

Et hop, on redémarre tout

service dovecot restart
service postgrey restart
service postfix restart

Pour vérifier que cela fonctionne bien, jetter un œil dans /var/log/mail.log.

La suite

C’est par là : configuration d’openvpn

Site géré avec Pelican - thème personnel
font dyslexia Increase text size Decrease text size Flux RSS Twitter