Probléme server mail Postfix + Dovecot + MySQL

Bonjour,

J’ai voulu installer un serveur mail en suivant ce tutoriel : [URL=“https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin”]https://www.digitalocean.com/community/tutorials/how-to-configure-a-mail-server-using-postfix-dovecot-mysql-and-spamassassin[/URL]

Je dispose d’une Debian Jessie à jour.

Lorsque j’envoie un mail sur alias@playntek.fr, le mail est bien détecté dans les logs (tail -f /var/log/mail.log) mais j’ai toujours une erreur :

Jul 5 07:53:18 kamino postfix/smtpd[3752]: warning: SASL: Connect to private/auth failed: No such file or directory
Jul 5 07:53:18 kamino postfix/smtpd[3752]: fatal: no SASL authentication mechanisms

Mes mails sont stocké dans /var/mail/vhosts/playntek.fr, normalement :wink: mais là rien…

J’ai quand même pris le temps de chercher sur Google mais rien nada… du moins rien qui me parle et qui n’a fonctionné.

Je pense avoir un soucis avec la config Dovecot.

Si quelqu’un peu m’aider cela serait le top ^^

Voici mon fichier de config postfix:

[CODE]

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=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes

#Enabling SMTP for authenticated users, and handing off authentication to Dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for

information on enabling SSL in the smtp client.

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

myhostname = kamino.playntek.fr
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = kamino.playntek.fr
#mydestination = ns3370504.ip-37-187-5.eu, localhost.localdomain, localhost
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8, 37.187.5.174
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

#Virtual domains, users, and aliases
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

virtual_transport = lmtp:unix:private/dovecot-lmtp

queue_directory = /var/spool/postfix
[/CODE]

Et voici mon master.cf

[CODE]

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)

==========================================================================

smtp inet n - - - - smtpd
#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}
[/CODE]

Pour Dovecot il y a trop de fichier.

Plusieurs piste mais je ne sais pas laquelle prendre :

  • Probléme de hostname
  • Probléme de SASL
  • Probléme de droit

De toute façon j’ai suivi se tuto donc ca se trouve il est pas bon… du moins il y a un truc qui foire.

Merci encore enormement de votre aide.

Wheezy

:up: :joy:

Tu as raison c’est bien un problème a la jointure des 2:

Ce que tu met est un chemin relatif … ce qui est recommandé.
Coté Dovecot tu as bien renseigné le paramètre correspondant ?

Salut,

Merci pour ton aide. J’ai refait tous le tuto et je pense avoir cliqué sur tous les liens en rapport avec mon problème… impossible ;(

Jul 6 23:51:01 kamino postfix/smtpd[24369]: connect from dub004-omc4s33.hotmail.com[157.55.2.108] Jul 6 23:51:01 kamino postfix/smtpd[24369]: warning: SASL: Connect to private/auth failed: No such file or directory Jul 6 23:51:01 kamino postfix/smtpd[24369]: fatal: no SASL authentication mechanisms Jul 6 23:51:02 kamino postfix/master[24365]: warning: process /usr/lib/postfix/smtpd pid 24369 exit status 1 Jul 6 23:51:02 kamino postfix/master[24365]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling

Je désespère…

J’ai d’autre piste quand même :wink:

Dans le répertoire private/auth j’ai rien… du moins je n’ai pas de fichier auth de créé.

J’ai essayé le paramètre user de dovecot à “root” rien y fait.

Merci encore,

Wheezy

En fait ce fichier est créé par Dovecot pour permettre l’authentification de Postfix. Donc dans ton cas il semble que le fichier n’est pas créé ou dans un mauvais emplacement, sachant que en général il est créé dans «/var/spool/postfix/private/auth».
Sur le wiki tu as 2 tuto qui en parle :

https://wiki.debian-fr.xyz/Configuration_d’un_serveur_mail_avec_Postfix
https://wiki.debian-fr.xyz/Installation_sur_une_Squeeze_d’un_serveur_mail_complet_(Postfix_Postfixadmin_Dovecot_Mysql_Amavisd-new_Spamassassin_Clamav_Postgrey_Squirrelmail_Roundcube)_avec_gestion_des_filtres_Imap_et_des_quotas

Fait une recheche avec «private/auth» tu trouvera ton bonheur je pense. Montre moi la conf de dovecot pour vérifier

Salut Mimoza,

Bon du coup j’ai réussi à faire fonctionner mon serveur mail. Tu vas rire mais il s’agissait d’un truc bidon comme d’habitude :angry:

Alors en fait quand tu installe Dovecot, il te créer des fichiers conf.ext, sql.conf.ext… J’ai renommé seulement le dovecot.conf.ext en .conf seulement. Un petit coup de /etc/init.d/dovecot restart et ça fonctionne :dizzy_face:

Je pense que postfix ne trouvait pas la config dovecot. Ce que je trouve bizarre c’est pourquoi ils ont nommé ce fichier comme ça ??? Et pourquoi les autres sont aussi nommés de la sorte alors que cela fonctionne maintenant… ???

Bon les mails arrivent dans les boites… Maintenant j’ai un autre soucis… Je ne peux pas me connecter avec un thunderbird ou un outlook.

Mais ca c’est un autre sujet. Je planche dessus et je reviens si je ne trouve pas. A moins que l’on ‘CLOSE’ le sujet en beauté avec un serveur 100% fonctionnel ^^ Donc si tu as une idée de où je dois regarder pour comprendre l’erreur je suis preneur.

Je vais quand même regarder tes liens si ca se trouve la réponse est dedans.

Encore merci :slight_smile:

Pas d’idée comme ça … regarde les logs c’est très utile pour ce genre de soucis :wink:

:thumbsup:

Re ^^

Enfin j’ai réussi à configurer mon serveur mail Postfix + Dovecot + mysql.
J’ai suivi ce tuto : https://mondedie.fr/viewtopic.php?id=5750

Maintenant j’ai remarqué un problème avec Free. Je suis derrière une box Free et quand j’essaye de me connecter avec Thunderbird impossible.

Voici les logs

Jul 9 17:05:11 **** postfix/submission/smtpd[15720]: connect from amg******.fbx.proxad.net[**.***.**.**] Jul 9 17:05:12 **** postfix/submission/smtpd[15720]: disconnect from amg******.fbx.proxad.net[**.***.**.**]

J’ai l’impression que cela vient de ma config smtp dans main.cf

[CODE]

Règles sur les adresses de destination

permit_sasl_authenticated : Accepter la connexion lorsque le client est authentifié

reject_non_fqdn_recipient : Refuser les adresses de destinations invalides (non FQDN)

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_rbl_client zen.spamhaus.org

Règles sur l’échange HELO qui survient avant la connexion

reject_invalid_helo_hostname : Refuser les échanges HELO invalides

reject_non_fqdn_helo_hostname : Refuser les noms d’hôte invalides (non FQDN)

reject_unknown_helo_hostname : Refuser les noms d’hôte qui n’ont pas de champ DNS A ou MX dans leurs DNS.

smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
# reject_unknown_helo_hostname

Règles de connexion des clients

permit_sasl_authenticated : Accepter la connexion lorsque le client est authentifié

reject_plaintext_session : Refuser les connexions non sécurisées

reject_unauth_pipelining : Refuser les défauts lors de la connexion

smtpd_client_restrictions =
permit_mynetworks,
permit_inet_interfaces,
permit_sasl_authenticated,
# reject_plaintext_session,
# reject_unauth_pipelining

Règles sur les expéditeurs

reject_non_fqdn_sender : Refuser les expéditeurs invalides (non FQDN)

reject_unknown_sender_domain : Refuser les expéditeurs qui n’ont pas de champ DNS A ou MX dans leurs DNS.

reject_sender_login_mismatch : Refuser les expéditeurs locaux non authentifiés

smtpd_sender_restrictions =
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_sender_login_mismatch
[/CODE]

Ta une idée ?

Merci,

Wheezy

Là il faudrait augmenter le niveau de verbosité des logs car il ne donne pas la raison de la déconnexion.