Sebw.infO

En parcourant le web
User Avatar

Installation d'un serveur mail complet sous debian - tictech.info

Ajouté par h2tp 26 11 août 2017 Debian debian email auto-hebergement web


postfix logo.tb

Tuto du blog de tictech.info sur la creation d'un serveur de mail sous débian.

Merci à lui.

Sur mon serveur entre autres services j'ai mon propre serveur mail. Cela me permet 1 d'apprendre comment ça marche et 2 d'avoir la main sur ce service (même si j'utilise pas mal gmail à coté...). J'ai donc dû installer et configurer les différents outils pour faire tourner un serveur mail complet.

J'ai passé pas mal de temps à écumer les différents tutos et j'ai jamais trouvé un truc propre et efficace, qui marchait et qui expliquait comment ça marchait. Et les docs sont franchement indigestes. Donc, après pas mal d'essais divers et variés, je vous livre ma config qui marche (bien même) et qui est somme toute plutôt propre. Le tuto va être en plusieurs parties vu qu'il y a plusieurs logiciels :

Concernant la configuration, on voit que je n'utilise rien d'exotique. Je suis comme d'habitude sur une debian 7 (wheezy, stable). Débian 9 Ok, fait par sebw.info.

Toutefois, deux trois choses à noter :

  • Je suppose que vous avez déjà un serveur DNS (bind) qui tourne, soit sur votre machine soit chez un hébergeur, sur lequel vous pouvez modifier les enregistrements.
  • Vu le point précédent, je suppose que vous avez aussi au moins un nom de domaine (voire plusieurs !).
  • Enfin, je travaille avec des utilisateurs virtuels : tout est en base de données, ce qui a à mon sens de nombreux avantages. Mais change pas mal la config.

Je vais écrire ce tuto en plusieurs fois, mais promis, j'essaie de faire ça vite ;)

C'est parti, vous êtes bien installés ? En avant !

Installer les paquets :

Toujours bon d'avoir un serveur à jour :

# apt-get update
# apt-get upgrade

Installation du serveur web (pour postfixadmin et roundcube). Pensez à bien noter votre mot de passe root mysql :

# apt-get install apache2 php7.0 mariadb-server

Pour pas se fatiguer avec l'administration des bases de données :

# apt-get install phpmyadmin

Lire ce tuto pour une installation détaillé de LAMP:

Si vous avez exim4 (autre serveur smtp) d'installé, il faut le retirer :

# apt-get purge 'exim4*'

Maintenant, l'installation de postfix, avec la couche mysql (les utilisateurs virtuels seront en base de données) et sasl2 pour l'authentification :

# apt-get install postfix postfix-mysql libsasl2-modules sasl2-bin

Répondez "site internet" à la première question (les autres ne nous intéressent pas), puis donnez le nom de domaine que vous avez pris (example.org par exemple) à la suivante.

Il faut installer postfixadmin, qui servira à gérer les domaines et utilisateurs virtuels :

# apt-get install postfixadmin

Utilisez la configuration automatique avec apache2. Postfixadmin créée son propre utilisateur, laissez le générer un mot de passe aléatoire, nous allons créer notre propre utilisateur plus loin.

Ensuite, installation de Dovecot :

# apt-get install dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-managesieved

Sieve permet de placer les mails automatiquement dans des dossiers (pratique !)

Un peu de configuration :

Activation de saslauthd :

Tout d'abord, lors de l'installation de sasl2, on voit passer ce joli warning :

update-rc.d: warning: saslauthd stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (1) To enable saslauthd, edit /etc/default/saslauthd and set START=yes ... (warning).

Pour corriger ça, c'est pas très compliqué, d'autant qu'il nous dit comment faire : il faut passer le champ START à la valeur "yes" dans le fichier /etc/default/saslauthd, puis le redémarrer :

# vim /etc/default/saslauthd
# service saslauthd start

Création de la base de données :

Lors de l'installation de postfixadmin, la base de données à été crée automatiquement, et un utilisateur a été créé pour manipuler les comptes virtuels. Toutefois, pour des raisons de sécurité, le démon Postfix utilisera un autre utilisateur pour accéder à ces données, qui ne pourra que les lire.

Pour cela, accédez à phpmyadmin (http://example.org/phpmyadmin par défaut), connectez vous en tant que root avec le mot de passe spécifié à l'installation de mysql-server.

Une fois connecté, cliquez sur l'onglet "Privilèges" :

Privilèges dans Phpmyadmin

En bas du tableau des utilisateurs, cliquez sur "Ajouter un utilisateur". Pour le tutorial, on appellera l'utilisateur mailuseravec le mot de pass azerty.

Bien entendu prenez un mot de passe solide (evitez le caractere "#" dans le mot de passe).

Si vous modifiez le nom, pensez à répercuter la modification dans la suite du tutoriel.
Pensez à forcer le client en Local uniquement (valeur localhost). Personne n'est censé se connecter à cet utilisateur depuis l'extérieur.

Une fois l'utilisateur créé, cliquez dans sa ligne sur le lien Changer les privilèges :

Changement de privilèges dans Phpmyadmin

Scrollez un peu pour découvrir les "Privilèges spécifiques à une base de données", et ajoutez des privilèges pour la base de données postfixadmin :

Privilèges spécifiques

Donnez UNIQUEMENT le droit "select" : il n'y a rien besoin d'autre.

Et voila ! La partie base de données est prête !

Enregistrement DNS :

Pour indiquer au monde entier que c'est votre serveur qui s'occupe des mails pour votre domaine, il faut ajouter un resource record DNS de type MX. Concrètement, si vous avez votre propre serveur DNS, il faut modifier le ficher /etc/bind/db.example.org. Si vous utilisez le DNS de votre hébergeur, allez chercher dans les menus "Zone DNS". Il faut rajouter un enregistrement comme ceci :

@   IN  MX  10  1.2.3.4 ;bien sur mettez votre propre IP ici !

On en profite pour rajouter un sous domaine utile :

mail    IN  A   1.2.3.4 ;idem

Et voila ! Il n'y a plus qu'a attendre qu'il se propage.

Utilisateur vmail :

L'utilisateur vmail sera celui qui va gérer les emails :

# groupadd -g 5000 vmail
#  useradd -g vmail -u 5000 vmail -d /var/vmail -m

Son home directory (/var/vmail) va contenir tous les mails reçus sur le système.

Préparer les certificats :

Pour être un peu tranquilles (un peu de chiffrement n'a jamais tué) on va utiliser des connexions chiffrées. Ca retiendra pas la NSA, mais ça embêtera les pirates du dimanche.

# openssl req -new -x509 -days 3650 -nodes -newkey rsa:4096 -out /etc/ssl/certs/mailserver.pem -keyout /etc/ssl/private/mailserver.pem

Répondez aux questions qui sont posées. Si vous ne voulez rien mettre dans le champ, mettez un point ".".
Dans le champ Organization Name, mettez votre nom Joe Bob.
Dans le champ Common Name, mettez votre nom de domaine example.org.

Votre certificat est généré et placé dans /etc/ssl/certs/mailserver.pem.

Voila pour l'installation ! Prochaine étape : postfixadmin et les utilisateurs virtuels !

POSTFIXADMIN

Salut à tous ! Nouvelle étape dans le tuto sur l'installation d'un serveur de mail : la configuration de postfixadmin !

Postfixadmin est un module web qui permet de manipuler très simplement les domaines et utilisateurs virtuels en base de données.

Lors de l'installation de postfixadmin, on l'avait connecté à notre base de données avec un utilisateur et un mot de passe aléatoire. Il faut maintenant générer cette base de données. Pour cela, il suffit de se rendre à l'adresse suivante :

    http://example.org/postfixadmin/setup.php

Le chargement est un peu long, puisque le setup crée la base de données, puis les résultats s'affichent :

Résultat de la création de la base de données

A la fin de la page, on doit créer le mot de passe pour le setup :

Formulaire mot de passe setup

Générez le hash du mot de passe :

Hash et formulaire administrateur

Copiez le hash obtenu dans le fichier de configuration (dans /etc/postfixadmin) comme indiqué. Vous devez ensuite créer le compte administrateur, en retapant le mot de passe setup. Attention, mettez un mot de passe différent pour plus de sécurité !

Vous pouvez ensuite vous connecter à l'adresse http://example.org/postfixadmin/login.php

Vous obtenez la page suivante :

Accueil postfixadmin

Il va maintenant falloir créer les domaines, puis les utilisateurs. Un domaine correspond à un nom de domaine. Par exemple, example.org. Mais si vous possédez aussi example.com et que vous voulez aussi des mails sur ce domaine en utilisant le même serveur, c'est tout à fait possible ! Pensez bien à rajouter l'enregistrement MX comme vu dans le tuto précédent. Pour ajouter un domaine, survolez Liste Domaines et cliquez sur Nouveau domaine.

Ajout de domainepostfixadmin

Une fois validé, on voit que notre domaine apparait dans la liste des domaines !

Vous pouvez ensuite rajouter les utilisateurs. Pour cela, survolez Liste virtuels et cliquez sur Ajouter un compte courriel. Vous arrivez sur cette page :

Ajout de compte courriel postfixadmin

Entrez les informations,__ décochez "Envoyer le message de bienvenue"__ (on a pas encore configurer ce qu'il faut pour le recevoir !) et validez. Félicitations, vous avez créé votre utilisateur en base de données.

Vous pouvez aussi créer des alias. Il s'agit d'adresses email qui redirigeront les mails vers un autre compte. Par exemple, tout serveur mail doit se doter d'une adresse mail "abuse", pour que l'on puisse signaler du spam en provenance d'un domaine par exemple. Mais si on la met en utilisateur, personne ne s'y connectera jamais ! Il suffit donc de créer un alias depuis abuse@example.com vers votre mail utlisateur que vous venez de créer.

Pour faire cela, survolez Liste Virtuels et cliquez sur Ajouter un alias. Voici la page :

Ajout d'alias postfixadmin

Et voila, votre alias abuse est créé.


Configuration de Postfix

Vous savez maintenant comment créer domaines, utilisateurs et alias avec postfixadmin. Prochaine étape : faire arriver les emails à destination grâce à Postfix !

Maintenant qu'on a des adresses mail, il pourrait être pratique qu'elles puisse échanger des messages. C'est ce que permet postfix : faire passer des mails d'un serveur à l'autre. Il faut donc relier postfix à la base de données

Domaines :

Pour que postfix ait accès aux domaines, il faut écrire le code suivant dans /etc/postfix/mysql-virtual-mailbox-domains.cf :

user = mailuser
password = azerty
hosts = 127.0.0.1
dbname = postfixadmin
query = SELECT 1 FROM domain WHERE domain='%s'

(Pensez à mettre votre mot de passe pour l'utilisateur mailuser)

Ce fichier va permettre à postfix, quand il reçoit un mail destiné à user@example.org, de déterminer si notre serveur est bien en charge du domaine example.org. Si c'est le cas, ça veut dire que le domaine se trouve dans notre base de données. Il faut qu'en executant la requête "query", un élément quelconque soit retourné, et rien si le domaine n'est pas présent.

Attention ! Ici, il n'est pas identique de marquer "localhost" et "127.0.0.1" dans le champ hosts. En effet, si vous mettez "localhost", postfix va chercher la socket UNIX de mysql, qui ne sera pas présente. Alors qu'en mettant l'IP, postfix va effectuer une connexion tcp sur le port de mysql.

Pour l'activez, lancez la commande :

# postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Cela ajoute la configuration au fichier /etc/postfix/main.cf et recharge automatiquement la configuration de postfix, évitant d'avoir à le faire à la main.

Pour tester si la recherche de domaine fonctionne bien, vous pouvez lancer la commande suivante :

# postmap -q example.org mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Si le domaine example.org est présent dans vos domaines, la valeur "1" sera affichée, sinon rien.

Boites mails

Ensuite, il faut vérifier si la boite mail existe, exactement comme avec les domaines. Cette fois ci on écrit dans le fichier /etc/postfix/mysql-virtual-mailbox-maps.cf :

user = mailuser
password = azerty
hosts = 127.0.0.1
dbname = postfixadmin
query = SELECT 1 FROM mailbox WHERE username='%s'

Pour activer :

# postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Et pour tester :

# postmap -q john@example.org mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Comme pour le domaine, le résultat est 1 si la boite existe, rien sinon.

Gestion des alias

Il faut maintenant rediriger les alias vers les utilisateurs existant. Dans le fichier /etc/postfix/mysql-virtual-alias-maps.cf :

user = mailuser
password = azerty
hosts = 127.0.0.1
dbname = postfixadmin
query = SELECT goto FROM alias WHERE address='%s'

Pour activer :

# postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Pour tester :

# postmap -q abuse@example.org mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Ici le résultat n'est plus le même : c'est l'utilisateur destination qui doit s'afficher, ce qui permet à postfix de faire la correspondance.

Dernière étape très importante : modifier les droits de ces trois fichiers. En effet, ils contiennent en clair des mots de passe SQL. Lancez les deux commandes :

# chgrp postfix /etc/postfix/mysql-*.cf
# chmod u=rw,g=r,o= /etc/postfix/mysql-*.cf

Comme ça postfix peut continuer à lire les configurations, et les visiteurs indiscrets ne peuvent pas.


Activation du port 587

Beaucoup de FAI bloquent le port 25 (smtp) pour éviter les serveurs de spam. Du coup on utilise le port 587 qui est un port alternatif "standard".

Pour le débloquer, il faut modifier le fichier /etc/postfix/master.cf et décommenter la ligne :

submission inet n       -       -       -       -       smtpd

Activation de SASL

Sasl permet de forcer l'authentification pour envoyer des mails, ce qui évite que n'importe quel spammer utilise votre serveur comme relai. Pour activer sasl avec postfix, modifiez le fichier /etc/postfix/main.cf en ajoutant les lignes suivantes :

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination

Ici on voit plusieurs choses :

  • auth_enable : on active l'authentification
  • tls_auth_only : on active l'authentification uniquement pour ceux qui ont une connexion TLS. Cela evite que votre mot de passe circule en clair.
  • recipient restrictions : on autorise uniquement les connexions en provenance des IP spécifiées dans "mynetwork", les personnes authentifiées correctement avec SASL (et donc avec TLS) et on autorise de relever les mails destinés aux utilisateurs du système.

La ligne la plus importante est la première : elle permet de faire passer l'authentification par dovecot. En effet l'authentification par SASL en passant par postfix est une usine à gaz. Ici, Postfix demande a SASL l'authentification, qui demande à Dovecot. Simple non ?

Maintenant qu'on arrive à faire circuler les mails sur notre serveur, et qu'on les arrête quand ils sont pour nous, il faut pouvoir les récupérer pour les mettre dans les dossiers. C'est le rôle de dovecot.

Configuration de Dovecot

La configuration de dovecot est éclatée dans plusieurs fichiers, qui se trouvent dans /etc/dovecot/conf.d/.

Configuration auth :

Le premier fichier à modifier est 10-auth.conf. Il faut modifier les mécanismes de connexions. Votre ligne doit ressembler à :

    auth_mechanisms = plain login

Par défaut, dovecot utilise les utilisateurs réels du système. Nous, nous utilisons des utilisateurs en base de données. Il faut donc modifier les includes à la fin du fichier :

#!include auth-system.conf.ext
!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext

Configuration SQL :

Il faut ensuite modifier le fichier auth-sql.conf.ext. Commentez les sections userdb existantes et saisissez celles-ci :

    userdb {
        driver = static
        args = uid=vmail gid=vmail home=/var/vmail/%d/%n
    }

Configuration mail :

Dans le fichier 10-mail.conf, modifiez le paramètre mail_location comme ceci :

    mail_location = maildir:/var/vmail/%d/%n/Maildir

Ainsi, les mails reçus seront placés dans le dossier /var/vmail/[domaine]/[utilisateur]/Maildir.

Vérifiez que le separator a bien pour valeur /, et non ..

Configuration master :

Dans le fichier 10-master.conf, dans le bloc service auth, spécifiez le smtp-auth de postfix :

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
}

Configuration SSL :

Pour utiliser les certificats SSL créés en partie 1, modifiez le fichier 10-ssl.conf :

ssl = yes
ssl_cert = </etc/ssl/certs/mailserver.pem
ssl_key = </etc/ssl/private/mailserver.pem

Configuration LDA :

Il faut activer le plugin sieve pour placer les fichier dans les dossiers. Pour cela, dans le fichier 15-lda.conf, trouvez le bloc protocol lda (ou créez le si besoin) :

protocol lda {
    # Space separated list of plugins to load (default is global mail_plugins).
    mail_plugins = $mail_plugins sieve
}

Connexion SQL :

Il faut indiquer a Dovecot comment se connecter à la base de données SQL. Pour cela, modifiez le ficher /etc/dovecot/dovecot-sql.conf.ext. Le fichier est plutot bien documenté. Trouvez (ou ajoutez à la fin) ces lignes :

    driver = mysql
    connect = host=127.0.0.1 dbname=postfixadmin user=mailuser password=azerty
    password_query = SELECT username,domain,password FROM mailbox WHERE username='%u';

(Pensez à modifier le mot de passe)

Ici aussi, on change les droits de ce fichier vu qu'il contient un mot de passe :

# chown root:root /etc/dovecot/dovecot-sql.conf.ext
# chmod go= /etc/dovecot/dovecot-sql.conf.ext

Finalisation :

Modifiez les droits du fichier de configuration, pour que dovecot soit lancé en tant qu'utilisateur vmail :

# chgrp vmail /etc/dovecot/dovecot.conf
# chmod g+r /etc/dovecot/dovecot.conf

Redémarrez dovecot :

    # service dovecot restart

Comme à chaque redémarrage de service, vérifiez les logs (# tail /var/log/mail.log). Ils doivent finir par la ligne

    ... dovecot: master: Dovecot v2.1.7 starting up (core dumps disabled)

Connecter Postfix à Dovecot :

Maintenant, on a d'un coté Postfix qui sait quand un mail qui passe est pour lui, et Dovecot qui sait où mettre les mails qu'on lui donne. Il faut donc que Postfix passe les mails a Dovecot qui les range.

Pour cela, ajoutez les lignes suivantes à la fin du fichier /etc/postfix/master.cf :

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

(Attention, la deuxième ligne est indentée par deux espaces)

Et redémarrez postfix :

    service postfix restart

La fin du fichier /var/log/mail.log :

    postfix/master[…]: daemon started -- version 2.9.6, configuration /etc/postfix

Et modifiez la configuration de postfix pour qu'il utilise ce qu'on vient de lui donner :

    postconf -e virtual_transport=dovecot
    postconf -e dovecot_destination_recipient_limit=1

Et voila pour postfix ! Prochaine étape : dovecot, pour mettre les mails dans les boites respectives !

Il est bizarre mon comptage hein ? ;)

Allez, après une petite absence, on est repartis sur le tuto serveur mail, avec le test de notre configuration !

Test de la configuration

Déjà, pour l'instant, notre dossier /var/vmail est vide. Vous pouvez le vérifier avec un simple tree /var/vmail ou, si vous n'avez pas la commande tree (que je vous conseille !), simplement ls -R /var/vmail

Maintenant, on va ouvrir les logs dans un terminal, avec la commande :

    tail -f /var/log/mail.log

...et envoyer un mail à notre utilisateur :

    echo test | mail user@example.com

Si tout marche bien, votre fichier de log devrait ressembler à ça :

    Jan 20 08:17:29 hostname postfix/pickup[17343]: 19F9CD00064: uid=0 from=<root>
    Jan 20 08:17:29 hostname postfix/cleanup[19091]: 19F9CD00064: message-id=<20150120071729.19F9CD00064@hostname>
    Jan 20 08:17:29 hostname postfix/qmgr[5341]: 19F9CD00064: from=<root@hostname>, size=387, nrcpt=1 (queue active)
    Jan 20 08:17:29 hostname dovecot: lda(user@example.com): msgid=<20150120071729.19F9CD00064@hostname>: saved mail to INBOX
    Jan 20 08:17:29 hostname postfix/pipe[19095]: 19F9CD00064: to=<user@example.com>, relay=dovecot, delay=0.38, delays=0.18/0.03/0/0.16, dsn=2.0.0, status=sent (delivered via dovecot service)
    Jan 20 08:17:29 hostname postfix/qmgr[5341]: 19F9CD00064: removed

Si echec mettre la ligne 39 du fichier /etc/postfix/main.cf comme ceci:

mydestination = localhost.info, localhost

Votre log sera peut être un peu différent, mais on voit bien les différentes étapes :

  • Postfix récupère le mail et l'arrête vu que c'est pour lui
  • Dovecot récupère le mail (avec le plugin lda) pour le placer dans la boite de réception (dossier INBOX)
  • Postfix confirme que le mail a été donné à dovecot et que c'est plus son problème
  • Postfix vire le mail de sa liste vu que dovecot s'en occupe

Maintenant, votre dossier /var/vmail/ doit ressembler à ça :

/var/vmail/
└── example.com
    └── user
        └── Maildir
            ├── cur
            ├── dovecot.index.cache
            ├── dovecot.index.log
            ├── dovecot.mailbox.log
            ├── dovecot-uidlist
            ├── dovecot-uidvalidity
            ├── dovecot-uidvalidity.54a66424
            ├── new
            │   └── 1421738249.M235803P19096.hostname,S=439,W=453
            ├── subscriptions
            └── tmp

On voit que notre mail est bien arrivé, et est placé dans le dossier "new", donc tout va bien !
(Au passage, on voit la mise en forme sympa avec tree pour l'arborescence !)

Installation de SpamAssassin:

apt install spamassassin spamc
nano /etc/postfix/master.cf
Change:
smtp      inet  n       -       n       -       -       smtpd
To:
smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin


Change:
smtps     inet  n       -       n       -       -       smtpd
To:
smtps     inet  n       -       n       -       -       smtpd -o content_filter=spamassassin

A la fin de fichier, ajoutez:

spamassassin unix - n n - - pipe flags=R user=debian-spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Installation de Sieve: (Apparemment facultatif)

apt install dovecot-sieve dovecot-managesieved
nano /etc/dovecot/conf.d/20-lmtp.conf

Ajoutez: 

protocol lmtp {
  postmaster_address = admin@example.com
  mail_plugins = $mail_plugins sieve
}
nano /etc/dovecot/conf.d/90-sieve.conf

Ajoutez: 

plugin {
   sieve = ~/.dovecot.sieve
   sieve_global_path = /var/lib/dovecot/sieve/default.sieve
   sieve_dir = ~/sieve
   sieve_global_dir = /var/lib/dovecot/sieve/
}

Vous pourvez desormais ajouter des filtres avec le webmail Rainloop par exemple:

Récupérer les mails

Voila la configuration que j'ai mis en place pour Thunderbird :
En réception, IMAPS :

  • serveur : mail.example.com
  • port : 143
  • nom d'utilisateur : user@example.com
  • sécurité : StartTLS
  • Méthode d'authentification : Mot de passe normal

En envoi :

  • serveur : mail.example.com
  • port : 587
  • nom d'utilisateur : user@example.com
  • sécurité : StartTLS
  • Méthode d'authentification : Mot de passe normal

Vous pouvez maintenant envoyer et recevoir des mails en passant par Thunderbird ! Prochaine étape, installer un webmail !

 

 


Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :


26 commentaires


ricardo #1 mardi 13 mars 2018 @ 17:54

Bonjour,
Je vous remercie beaucoup pour ce tutoriel qui est très clair et qui semble bien fait !
Malheureusement, ça ne marche pas complètement pour moi !
En effet lorsque j'arrive au chapitre Test de la Configuration "...et envoyer un mail à notre utilisateur : echo test | mail user@example.com " (bien sûr j'ai adapté l'adresse email destinatrice), dans la log, je n'obtiens pas la même chose que vous, c'est à dire, le passage par DOVECOT ne fonctionne pas ! Je passe directement en envoi SMTP !

Mar 13 16:28:14 mail postfix/pickup[1873]: 6618E120E8A: uid=1000 from=<ricardo@mail.rican.pw>
Mar 13 16:28:14 mail postfix/cleanup[1882]: 6618E120E8A: message-id=<20180313162814.6618E120E8A@mail.rican.pw>
Mar 13 16:28:14 mail postfix/qmgr[1874]: 6618E120E8A: from=<ricardo@mail.rican.pw>, size=407, nrcpt=1 (queue active)
Mar 13 16:28:14 mail postfix/smtp[1884]: 6618E120E8A: to=<anaya.richard@gmail.com> ...

Est-ce que vous avez une idée du problème ?
Alors que j'ai vraiment suivi à la lettre le tutoriel !
Par avance, merci.


h2tp #2 mercredi 14 mars 2018 @ 10:12

Bonjour,

avez-vous vérifié les logs dans /var/log/mail.err ou /var/log/mail.info ou /var/log/mail.log, afin d'avoir une piste ?

avez-vous fait cette partie du tuto ?

Si echec mettre la ligne 39 du fichier /etc/postfix/main.cf comme ceci:

mydestination = localhost.info, localhost

Cdlt.


bluefox #3 mardi 20 mars 2018 @ 00:44

Bonjour, merci pour ce tuto clair et bien documenté.
Je l'ai suivi à la lettre jusqu'au test, echo test | mail user@example.com
J'ai debian9, php 7.2.3-1 J'ai tenté la modif de la ligne 39...
Voici mes logs:
Mar 20 00:37:52 vps279343 dovecot: master: Warning: Killed with signal 15 (by pid=8080 uid=0 code=kill)
Mar 20 00:37:52 vps279343 dovecot: master: Dovecot v2.2.27 (c0f36b0) starting up for pop3, imap (core dumps disabled)
Mar 20 00:38:07 vps279343 postfix/postfix-script[8147]: stopping the Postfix mail system
Mar 20 00:38:07 vps279343 postfix/master[7320]: terminating on signal 15
Mar 20 00:38:07 vps279343 postfix/postfix-script[8310]: starting the Postfix mail system
Mar 20 00:38:07 vps279343 postfix/master[8312]: daemon started -- version 3.1.8, configuration /etc/postfix
echo coucou | mail contact@usehtech.com
Mar 20 00:40:01 vps279343 dovecot: imap-login: Disconnected (disconnected before auth was ready, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<eg0Gesxnppl/AAAB>
Mar 20 00:40:01 vps279343 dovecot: pop3-login: Disconnected (no auth attempts in 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<OnEGesxnTKd/AAAB>
Mar 20 00:40:01 vps279343 postfix/smtpd[8501]: connect from localhost[127.0.0.1]
Mar 20 00:40:01 vps279343 postfix/smtpd[8501]: lost connection after CONNECT from localhost[127.0.0.1]
Mar 20 00:40:01 vps279343 postfix/smtpd[8501]: disconnect from localhost[127.0.0.1] commands=0/0

Merci pour votre aide...


h2tp #4 mercredi 21 mars 2018 @ 14:55

Bonjour,

LA, comme ça, ça ne me parle pas.

Juste une question, avez vous fait les enregistrements DNS smtp chez votre hébergeur ?

cdlt.


JMarc #5 mardi 20 mars 2018 @ 14:33

Magnifique tuto : clair, opérationnel, qui explique bien et très bien écrit ! Mille merci.
Juste pour la commande de test de la config, et pour les incultes comme moi, la commande mail n'est accessible qu'après install de mailutils. Un détail...
Encore bravo !


h2tp #6 mercredi 21 mars 2018 @ 14:57

Merci ^^.

Mais je tiens à dire que ce tuto n'est pas de moi (enfin je l'ai juste un peu adapté pour Débian 9) mais de :

https://www.tictech.info/post/mail_intro

Cdlt.


bluefox #7 mercredi 21 mars 2018 @ 17:09

Merci pour la réponse, oui mes enregistrements DNS sont correct et actifs


bluefox #8 mercredi 21 mars 2018 @ 17:28

OUPS......Quelle bonne idée, en fait mes enregistrements DNS liés aux mails sont les suivants:
usehtech.com 3600 MX Mon IP
mail.usehtech.com 3600 A Mon IP
usehtech.com 3600 SPF "v=spf1 a mx -all"

Il manquerait donc les infos relatives au SMTP ?


h2tp #9 jeudi 22 mars 2018 @ 06:40

Ah oui effectivement, ça peut aider, ça doit être un truc du genre:

IN MX 10 smtp.usehtech.com

Bon courage.

cdlt.


bluefox #10 vendredi 06 avril 2018 @ 21:08

Bonjour, J'ai tout réinstallé sur un autre serveur, il y a du progrès.
Je parviens à envoyer des mails mais pas à en recevoir, sauf en boucle si je me les envoie à moi même via roundcube.
Voici mon mail queue.

Apr 6 21:00:42 vps-33397 postfix/smtpd[10302]: connect from localhost[::1]
Apr 6 21:00:42 vps-33397 postfix/smtpd[10302]: 2D9A6E12C4: client=localhost[::1]
Apr 6 21:00:42 vps-33397 postfix/cleanup[10306]: 2D9A6E12C4: message-id=<4ea14583b09c73de6b697b567277cc39@usehtech.com>
Apr 6 21:00:42 vps-33397 postfix/qmgr[10184]: 2D9A6E12C4: from=<contact@usehtech.com>, size=622, nrcpt=1 (queue active)
Apr 6 21:00:42 vps-33397 spamc[10309]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Apr 6 21:00:42 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10310, secured, session=<Sl46rDJp0J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:00:42 vps-33397 postfix/smtpd[10302]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Apr 6 21:00:42 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=515 out=657
Apr 6 21:00:43 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10312, secured, session=<gZdHrDJp1J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:00:43 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=44 out=535
Apr 6 21:00:43 vps-33397 spamc[10309]: connect to spamd on 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Apr 6 21:00:43 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10314, secured, session=<eLNMrDJp2J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:00:43 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=292 out=2735
Apr 6 21:00:43 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10316, secured, session=<L1BNrDJp2p8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:00:43 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=82 out=622
Apr 6 21:00:44 vps-33397 spamc[10309]: connect to spamd on 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Apr 6 21:00:44 vps-33397 spamc[10309]: connection attempt to spamd aborted after 3 retries
Apr 6 21:00:44 vps-33397 postfix/pickup[10183]: 5CA3AE12EE: uid=116 from=<contact@usehtech.com>
Apr 6 21:00:44 vps-33397 postfix/pipe[10307]: 2D9A6E12C4: to=<francois.de-vos@laposte.net>, relay=spamassassin, delay=2.2, delays=0.16/0.01/0/2, dsn=2.0.0, status=sent (delivered via spamassassin service)
Apr 6 21:00:44 vps-33397 postfix/qmgr[10184]: 2D9A6E12C4: removed
Apr 6 21:00:44 vps-33397 postfix/cleanup[10306]: 5CA3AE12EE: message-id=<4ea14583b09c73de6b697b567277cc39@usehtech.com>
Apr 6 21:00:44 vps-33397 postfix/qmgr[10184]: 5CA3AE12EE: from=<contact@usehtech.com>, size=738, nrcpt=1 (queue active)
Apr 6 21:00:48 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10321, secured, session=<mWKerDJp4J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:00:48 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=290 out=4662
Apr 6 21:01:14 vps-33397 postfix/smtp[10319]: connect to smtpz4.laposte.net[194.117.213.1]:25: Connection timed out
Apr 6 21:01:14 vps-33397 postfix/smtp[10319]: 5CA3AE12EE: to=<francois.de-vos@laposte.net>, relay=none, delay=30, delays=0.02/0.01/30/0, dsn=4.4.1, status=deferred (connect to smtpz4.laposte.net[194.117.213.1]:25: Connection timed out)
Apr 6 21:01:43 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10330, secured, session=<n3nhrzJp4p8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:01:43 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711
Apr 6 21:02:43 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10342, secured, session=<aHt0szJp5J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:02:43 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711
Apr 6 21:03:07 vps-33397 postfix/qmgr[10184]: 784E6E12EA: from=<contact@usehtech.com>, size=693, nrcpt=1 (queue active)
Apr 6 21:03:37 vps-33397 postfix/smtp[10344]: connect to smtpz4.laposte.net[194.117.213.1]:25: Connection timed out
Apr 6 21:03:37 vps-33397 postfix/smtp[10344]: 784E6E12EA: to=<francois.de-vos@laposte.net>, relay=none, delay=653, delays=623/0.03/30/0, dsn=4.4.1, status=deferred (connect to smtpz4.laposte.net[194.117.213.1]:25: Connection timed out)
Apr 6 21:03:44 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10348, secured, session=<nzEXtzJp7J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:03:44 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711
Apr 6 21:04:44 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10350, secured, session=<IyyrujJp8J8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:04:44 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711
Apr 6 21:05:44 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10361, secured, session=<ulI+vjJp8p8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:05:44 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711
Apr 6 21:06:44 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=10363, secured, session=<QALSwTJp9p8AAAAAAAAAAAAAAAAAAAAB>
Apr 6 21:06:44 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=195 out=1711

Si vous avez une idée?


h2tp #11 dimanche 08 avril 2018 @ 22:50

Bonjour,

Pourriez vous vérifier que spamassassin est bien démarré ?

/etc/init.d/spamassassin status

Essaye de créer un fichier "/etc/spamassassin/spamc.conf" et met dedans:

-d 127.0.0.1

ça dit quoi ?


bluefox #12 lundi 09 avril 2018 @ 02:10

bonjour h2tp et merci pour ton aide précieuse
J'avais déjà procédé à la création de ce fichier, voila ce que ça dit:
● spamassassin.service - Perl-based spam filter using text analysis
Loaded: loaded (/lib/systemd/system/spamassassin.service; disabled; vendor preset: enabled)
Active: inactive (dead)


bluefox #13 lundi 09 avril 2018 @ 02:25

Après un:
systemctl enable spamassassin.service
j'obtiens:
● spamassassin.service - Perl-based spam filter using text analysis
Loaded: loaded (/lib/systemd/system/spamassassin.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Mais je ne parviens toujours pas à envoyer de mail


bluefox #14 lundi 09 avril 2018 @ 02:30

J'ai aussi changé dans : /etc/default/spamassassin
ENABLED=1


bluefox #15 lundi 09 avril 2018 @ 02:54

Je précise aussi que je reçois bien les mails de l'extérieur, mais que la commande :
echo coucou | mail contact@usehtech.com ne donne rien
voici les logs
Apr 9 02:50:19 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=121 out=1042
echo coucou | mail contact@usehtech.com
Apr 9 02:50:56 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=9395, secured, session=<pGJ6zF9pzrIAAAAAAAAAAAAAAAAAAAAB>
Apr 9 02:50:56 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=294 out=2306
Apr 9 02:50:58 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=9397, secured, session=<zB+SzF9p0LIAAAAAAAAAAAAAAAAAAAAB>
Apr 9 02:50:58 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=294 out=2306
Apr 9 02:50:59 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=9399, secured, session=<xYeazF9p0rIAAAAAAAAAAAAAAAAAAAAB>


bluefox #16 lundi 09 avril 2018 @ 03:14

Et enfin:
● spamassassin.service - Perl-based spam filter using text analysis
Loaded: loaded (/lib/systemd/system/spamassassin.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-04-09 02:59:32 CEST; 3min 51s ago
Process: 9478 ExecStart=/usr/sbin/spamd -d --pidfile=/var/run/spamd.pid $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 9480 (/usr/sbin/spamd)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/spamassassin.service
├─9480 /usr/sbin/spamd -d --pidfile=/var/run/spamd.pid --create-prefs --max-children 5 --helper-home-dir
├─9481 spamd child
└─9482 spamd child

Apr 09 02:59:28 vps-33397 systemd[1]: Starting Perl-based spam filter using text analysis...
Apr 09 02:59:29 vps-33397 spamd[9478]: logger: removing stderr method
Apr 09 02:59:32 vps-33397 spamd[9480]: spamd: server started on IO::Socket::IP [::1]:783, IO::Socket::IP [127.0.0.1]:783 (running version 3.4.1)
Apr 09 02:59:32 vps-33397 spamd[9480]: spamd: server pid: 9480
Apr 09 02:59:32 vps-33397 spamd[9480]: spamd: server successfully spawned child process, pid 9481


bluefox #17 lundi 09 avril 2018 @ 04:10

Voila qui fonctionne en local maintenant:
04:05:42 [root@vps-33397:/] # echo Test | mail contact@usehtech.com
04:07:51 [root@vps-33397:/] # tail /var/log/mail.log
Apr 9 04:06:55 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=12079, secured, session=<KIQ03GBpSLQAAAAAAAAAAAAAAAAAAAAB>
Apr 9 04:06:55 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=90 out=876
Apr 9 04:07:51 vps-33397 postfix/pickup[11617]: 64F0CE1322: uid=0 from=<root@vps-33397.fhnet.fr>
Apr 9 04:07:51 vps-33397 postfix/cleanup[12084]: 64F0CE1322: message-id=<20180409020751.64F0CE1322@vps-33397.fhnet.fr>
Apr 9 04:07:51 vps-33397 postfix/qmgr[11618]: 64F0CE1322: from=<root@vps-33397.fhnet.fr>, size=332, nrcpt=1 (queue active)
Apr 9 04:07:51 vps-33397 dovecot: lda(contact@usehtech.com): msgid=<20180409020751.64F0CE1322@vps-33397.fhnet.fr>: saved mail to INBOX
Apr 9 04:07:51 vps-33397 postfix/pipe[12106]: 64F0CE1322: to=<contact@usehtech.com>, relay=dovecot, delay=0.51, delays=0.41/0.01/0/0.09, dsn=2.0.0, status=sent (delivered via dovecot service)
Apr 9 04:07:51 vps-33397 postfix/qmgr[11618]: 64F0CE1322: removed
Apr 9 04:07:55 vps-33397 dovecot: imap-login: Login: user=<contact@usehtech.com>, method=PLAIN, rip=::1, lip=::1, mpid=12113, secured, session=<6SPJ32BpUrQAAAAAAAAAAAAAAAAAAAAB>
Apr 9 04:07:55 vps-33397 dovecot: imap(contact@usehtech.com): Logged out in=90 out=908
04:08:13 [root@vps-33397:/] #

mais je ne peux toujours rien envoyer...


h2tp #18 lundi 09 avril 2018 @ 21:29

J'avoue que je ne vois pas trop ou si situe le problème, ce n'est peux être pas spamassassin le problème ...

Pour info mon

ENABLED=1

chez moi est à 0

Sinon tu est sous quel OS ?

Aussi je pense que tu devrais changer ton HOSTNAME.

C'est mieux si il correspond au CommonName, pour toi: usehtech

Je continuerais de regarder un peu mais le temps me manque en ce moment. ^^

Courage, n'empêche ça y est presque ..


bluefox #19 vendredi 13 avril 2018 @ 10:16

Je suis sous debian9 stretch
voici mon hostname,
09:49:54 [root@vps-33397:~] # hostname
vps-33397
10:09:39 [root@vps-33397:~] # hostname -f
vps-33397.fhnet.fr
10:09:50 [root@vps-33397:~] #


bluefox #20 vendredi 13 avril 2018 @ 10:20

Voici le tuto que j'ai suivi pour l'installation du serveur:
The Perfect Server - Debian 9 (Stretch) with Apache, BIND, Dovecot, PureFTPD and ISPConfig 3.1 - Page 1
Merci pour votre aide


bluefox #21 vendredi 13 avril 2018 @ 16:01

Voici mon main.cf
# 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 = /usr/share/doc/postfix

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# 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_tls_cert_file=/etc/ssl/certs/mailserver.pem
#smtpd_tls_key_file=/etc/ssl/private/mailserver.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

# 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 = vps-33397.fhnet.fr

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, vps-33397.fhnet.fr, localhost.fhnet.fr, localhost
#mydestination = localhost.fhnet.fr, 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
inet_protocols = all
html_directory = /usr/share/doc/postfix/html
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1


bluefox #22 vendredi 13 avril 2018 @ 16:06

et mon master.cf
# 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) (no) (never) (100)
# ==========================================================================
#smtp inet n - y - - smtpd
smtp inet n - n - - smtpd -o content_filter=spamassassin
#smtp inet n - y - 1 postscreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 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_client_restrictions=permit_sasl_authenticated,reject
# -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
smtps inet n - n - - smtpd -o content_filter=spamassassin
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -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 - y - - qmqpd
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - y - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 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}

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
spamassassin unix - n n - - pipe flags=R user=debian-spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}


h2tp #23 vendredi 13 avril 2018 @ 17:03

Pour le main.cf

A part la ligne inet_protocols, moi j'ai:

inet_protocols = ipv4

Pour le master.cf

Chez moi les lignes:

-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

sont toutes commentés


nachos #24 mercredi 08 août 2018 @ 13:54

Postfix Admin Setup Checker

Error: Smarty template compile directory templates_c is not writable.
Please make it writable.
If you are using SELinux or AppArmor, you might need to adjust their setup to allow write access.
Depends on: MySQL 4.1 - OK
(change the database_type to 'mysqli' in config.inc.php if you want to use MySQL)
Error: Can't connect to database
Please edit the $CONF['database_*'] parameters in config.inc.php.

DEBUG INFORMATION:
MySQL 3.x / 4.0 functions not available! (php5-mysql installed?)
database_type = 'mysql' in config.inc.php, are you using a different database?


youkizedog #25 lundi 10 septembre 2018 @ 19:53

Bonjour, merci pour ce tuto... juste un truc qui m'a bloqué un moment :
quand on crée mailuser avec son password (azerty dans l'exemple) ne pas créer de password avec un '#' dedans !
car ça bloque
"Warning: Configuration file /etc/dovecot/dovecot-sql.conf.ext line 144: Ambiguous '#' character in line"


h2tp #26 lundi 10 septembre 2018 @ 21:35

Merci pour l'info !
J'ai ajouté la précision au tuto.

cdlt


Écrire un commentaire

Quelle est la troisième lettre du mot mrko ? :