C'est fait Hardware.
[Discussion] Installer un serveur de mail avec Postfix et Dovecot
Je viens de re-vérifier la doc de Postfix et Dovecot par rapport à SASL :
http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL
http://www.postfix.org/SASL_README.html#server_dovecot
Par défaut le chemin vers le spooler est définit avec cette valeur : /var/spool/postfix. Mais peut-être que dans ton cas, il est différent, donc pour s'en assurer, ajoute la directive queue_directory dans le fichier main.cf de Postfix :
http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL
http://www.postfix.org/SASL_README.html#server_dovecot
Par défaut le chemin vers le spooler est définit avec cette valeur : /var/spool/postfix. Mais peut-être que dans ton cas, il est différent, donc pour s'en assurer, ajoute la directive queue_directory dans le fichier main.cf de Postfix :
queue_directory = /var/spool/postfix
# Relatif à queue_directory ( /var/spool/postfix/private/auth )
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sasl_auth_enable = yes
- Modifié
Bonjour Hardware,
C'est fait et ça ne change rien :
La première ligne renvoie à :
Petite question qui me passe par la tête: dans le tutoriel, à cette partie :
Petite précision, j'ai réalisé ce tutoriel pour la première fois sur un VPS, et rencontrait les premières erreurs, cf. mes premiers messages. Hier, j'ai décidé de tenter le coup sur un autre de mes serveurs, et on obtient les erreurs citées plus-haut. Sachant que ce dernier possède une installation toute fraîche où ce tutoriel a été réalisé dans la foulée.
C'est fait et ça ne change rien :
tail -f /var/log/mail.log
Oct 31 09:48:50 postfix/master[30265]: terminating on signal 15
Oct 31 09:48:51 postfix/master[30563]: daemon started -- version 2.9.6, configuration /etc/postfix
Oct 31 09:48:57 dovecot: master: Warning: Killed with signal 15 (by pid=30593 uid=0 code=kill)
Oct 31 09:48:57 dovecot: master: Dovecot v2.1.7 starting up (core dumps disabled)
Oct 31 09:49:06 postfix/smtpd[30664]: connect from localhost.localdomain[127.0.0.1]
Oct 31 09:49:06 dovecot: auth: Fatal: mysql: Missing value in connect string: DE
Oct 31 09:49:06 dovecot: master: Error: service(auth): command startup failed, throttling for 2 secs
Oct 31 09:49:06 postfix/smtpd[30664]: fatal: no SASL authentication mechanisms
Oct 31 09:49:07 postfix/master[30563]: warning: process /usr/lib/postfix/smtpd pid 30664 exit status 1
Oct 31 09:49:07 postfix/master[30563]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Mon uname : uname -a
Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2 x86_64 GNU/Linux
Le chemin vers le spooler est pourtant bien /var/spool.La première ligne renvoie à :
Cela ne pourrait pas venir de mysql ?Fatal: mysql: Missing value in connect string : DE
Petite question qui me passe par la tête: dans le tutoriel, à cette partie :
# Création de la base de données "postfix"
mysqladmin -p create postfix
# Connexion au serveur MySQL en tant que root
mysql -u root -p
# Création de l'utilisateur postfix et ajout des permissions
mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'MOT DE PASSE';
mysql> GRANT USAGE ON *.* TO 'postfix'@'localhost' IDENTIFIED BY 'MOT DE PASSE';
mysql> GRANT ALL PRIVILEGES ON `postfix`.* TO 'postfix'@'localhost';
# On quitte la console MySQL
mysql> exit
Le champ ' MOT DE PASSE' est bien à remplacer par un mot de passe personnel, hein ?Petite précision, j'ai réalisé ce tutoriel pour la première fois sur un VPS, et rencontrait les premières erreurs, cf. mes premiers messages. Hier, j'ai décidé de tenter le coup sur un autre de mes serveurs, et on obtient les erreurs citées plus-haut. Sachant que ce dernier possède une installation toute fraîche où ce tutoriel a été réalisé dans la foulée.
Oui faut bien remplacer 'MOT DE PASSE'.
Essaye d'installer le serveur de mail avec mon script : http://mondedie.fr/d/5793
Lance une désinstallation avant ( ./uninstall.sh )
Essaye d'installer le serveur de mail avec mon script : http://mondedie.fr/d/5793
Lance une désinstallation avant ( ./uninstall.sh )
- Modifié
Je persiste, voulant comprendre... Et c'est mieux déjà ! 

telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 plooxx.gandi.oim ESMTP Postfix (Debian/GNU)
ehlo localhost
250-ploxx.gandi.oim
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
Par comparaison, je vois que j'ai ces deux lignes en plus :Est-ce normal ?250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
tail -f /var/log/mail.log
Oct 31 15:40:50 postfix/smtpd[2931]: connect from localhost.localdomain[127.0.0.1]
Oct 31 15:41:04 postfix/smtpd[2931]: disconnect from localhost.localdomain[127.0.0.1]
Je teste directement la connexion à partir d'un client mail et là... : tail -f /var/log/mail.log
Oct 31 16:03:56 dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<contact>, method=PLAIN, rip=81.53.90.214, lip=37.xx.xx.xx, TLS, session=<EEs0TrkG2QBRNVrW>
Oct 31 16:03:58 dovecot: imap-login: Aborted login (auth failed, 1 attempts in 2 secs): user=<contact>, method=PLAIN, rip=81.53.90.214, lip=37.xx.xx.xx, TLS, session=<q2tZTrkG2gBRNVrW>
Bon au moins j'ai avancé, c'est positif !Tu as fait quoi exactement pour que ça fonctionne ?
Active le mode verbose de Dovecot :
Active le mode verbose de Dovecot :
# /etc/dovecot/conf.d/10-logging.conf
log_path = /var/log/dovecot.log
auth_verbose = yes
mail_debug = yes
Puis regarde dans le fichier /var/log/dovecot.log- Modifié
Hormis reprendre toute l'installation, LEMP compris, rien de spécifique Hardware.
J'ai oublié de te préciser Hardware, j'ai fait ces tests à partir de mon mac.
Je te file d'autres logs à partir de Thunderbird, après avoir importer le certificat :
tail -f /var/log/dovecot.log
Oct 31 16:42:51 auth-worker(6631): Info: sql(contact,81.xx.xx.xx): unknown user
Oct 31 16:42:53 imap-login: Info: Aborted login (auth failed, 1 attempts in 2 secs): user=<contact>, method=PLAIN, rip=81.xx.xx.xx, lip=37.187.119.147, TLS, session=<v7KD2bkGBQBRNVrW>
En lisant le log, je me rends compte qu'il ne trouve pas "contact" dans la base de données 'postfix' si j'ai bien compris. Faut-il l'ajouter ? L'implémentation n'est pas automatiquement répercutée lors de la création dans postfix.admin ?J'ai oublié de te préciser Hardware, j'ai fait ces tests à partir de mon mac.
Je te file d'autres logs à partir de Thunderbird, après avoir importer le certificat :
tail -f /var/log/dovecot.log
Oct 31 16:54:30 imap-login: Info: Disconnected (no auth attempts in 0 secs): user=<>, rip=81.xx.xx.xx, lip=37.xx.xx.xx, TLS: SSL_read() failed: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate: SSL alert number 42, session=<PeEsA7oGxABRNVrW>
Tu as correctement lu le tuto au moins ? 

- Modifié
Oui, je pense, trop de fois même peut-être... D'où ma potentielle connerie, c'est ça ? Pour moi, Postfix interagit avec mysql. 

- Modifié
Bonsoir 
1*) Envoi :

Tu vas me demander ce que j'ai fait Hardware ? J'ai recréé les certificats, dovecot & postfix. Pourquoi ? Parce que certaines personnes sur d'autres forums, me dirigeaient vers cette solution, suite à mon erreur :
edit : Ben, c'est bizarre, non ? Pourquoi ai-je autant de points dès le premier test ?

J'attends la propagation DNS pour le champ domainkey...
Sinon, des petites questions :
Dans Rainloop, est-il possible sur l'écran de login de remplacer "Email" (l'inscription en gris, vous voyez ?) par "ce qu'on veut" ? et, est-il possible d'avoir une fonction mot de passe oubliée ? On peut modifier son mot de passe par postfixadmin, mais si on l'oublie ?
Je vois qu'on peut ajouter des contacts, et je suppose, les balancer dans mysql. Suffit-il de créer une BDD "rainloop" ?
Merci

1*) Envoi :
tail -f /var/log/mail.log
postfix/smtp[972]: 4B94B2C0058: to=<blablad@gmail.com>, relay=gmail-smtp-in.l.google.com[173.194.78.27]:25, delay=1.1, delays=0.3/0.03/0.29/0.51, dsn=2.0.0, status=sent (250 2.0.0 OK 1414883968 bd10si8106852wjc.128 - gsmtp)
2*) Réception :tail -f /var/log/mail.log
postfix/lmtp[1467]: 555802C0058: to=<contact@gandi.oim>, relay=xx.gandi.oim[private/dovecot-lmtp], delay=0.43, delays=0.25/0.03/0.03/0.13, dsn=2.0.0, status=sent (250 2.0.0 <contact@gandi.oim> uaCBIS1tVVS8BQAAro/Gug Saved)

Tu vas me demander ce que j'ai fait Hardware ? J'ai recréé les certificats, dovecot & postfix. Pourquoi ? Parce que certaines personnes sur d'autres forums, me dirigeaient vers cette solution, suite à mon erreur :
TLS: SSL_read() failed: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate: SSL alert number 42
Ensuite, j'ai dû redéfinir le propriétaire /var/mail/... Vas savoir pourquoi, root était le propriétaire et du coup, rien ne se créait dans vhosts/domain. J'ai simplement réappliqué :chown -R vmail:vmail /var/mail
Allez, c'est parti pour la suite !edit : Ben, c'est bizarre, non ? Pourquoi ai-je autant de points dès le premier test ?


J'attends la propagation DNS pour le champ domainkey...
Sinon, des petites questions :
Dans Rainloop, est-il possible sur l'écran de login de remplacer "Email" (l'inscription en gris, vous voyez ?) par "ce qu'on veut" ? et, est-il possible d'avoir une fonction mot de passe oubliée ? On peut modifier son mot de passe par postfixadmin, mais si on l'oublie ?
Je vois qu'on peut ajouter des contacts, et je suppose, les balancer dans mysql. Suffit-il de créer une BDD "rainloop" ?
Merci

- Modifié
Par l'interface d'administration non mais en modifiant le code source oui, tu peux changer le label dans le fichier de langue. Par exemple :Solinvictus wrote:Dans Rainloop, est-il possible sur l'écran de login de remplacer "Email" (l'inscription en gris, vous voyez ?) par "ce qu'on veut" ?
# /var/www/rainloop/rainloop/v/1.x.xx.xxx/langs/fr.ini
[LOGIN]
LABEL_EMAIL = "Email"
Par contre à chaque mise à jour, tu devras refaire ce changement.Possible oui, par contre il faudra développer un plugin.Solinvictus wrote:Est-il possible d'avoir une fonction mot de passe oubliée ?
Voir : http://mondedie.fr/d/5751/122Solinvictus wrote:On peut modifier son mot de passe par postfixadmin, mais si on l'oublie ?
Tout à fait.Solinvictus wrote:Je vois qu'on peut ajouter des contacts, et je suppose, les balancer dans mysql. Suffit-il de créer une BDD "rainloop" ?
# Connexion au serveur MySQL en tant que root
mysql -u root -p
# Création de la base de données "rainloop"
mysql> CREATE database rainloop;
# Création de l'utilisateur "rainloop" et ajout des permissions
mysql> CREATE USER 'rainloop'@'localhost' IDENTIFIED BY 'MOT DE PASSE';
mysql> GRANT USAGE ON *.* TO 'rainloop'@'localhost';
mysql> GRANT ALL PRIVILEGES ON rainloop.* TO 'rainloop'@'localhost';
# On quitte la console MySQL
mysql> exit
Merci Hardware
. Pour le développement du plugin, je vais attendre 


Malgré un 10/10, mon mail est considéré comme spam, par gmail notamment, ça arrive encore malgré ce score parfait ? 

- Modifié
C'est possible oui, peut-être que ton serveur est considéré par google comme un relai à spam. Fait un essai avec d'autres providers (Yahoo, Outlook, laposte.net, ton FAI...etc). Si le problème persiste, tu peux contacter le support de google avec ce formulaire :
https://support.google.com/mail/contact/msgdelivery
https://support.google.com/mail/contact/msgdelivery
- Modifié
Merci Hardware ! Je vais tester vers d'autres providers, mais je sais déjà que je chez hotmail.fr, j'atterris directement dans les spams aussi.
Je comprends pas dans l'admin de rainloop mes adresses d'envoi et reception de mon domaine sont : domain.tld
Et non pas imap.domain.tld et smtp.domain.tld
Est-ce normal ?
Et non pas imap.domain.tld et smtp.domain.tld
Est-ce normal ?
Non ce n'est pas normal, remet imap.domain.tld et smtp.domain.tld
Pourtant ça fonctionne bien, comment est-ce possible ?
- Modifié
Parce que ton domaine doit avoir un enregistrement A qui doit pointer sur ton serveur de mail. Mais c'est plutôt conseillé de mettre un FQDN à la place, genre imap.domain.tld. smtp.domain.tld. (que tu auras configuré au préalable dans la zone DNS de ton domaine), comme ça tu es sûr que l'adresse pointe bien sur ton serveur de mail.
- Modifié
Quand je regarde les enregistrements DNS, je me rends compte que :
Est-il possible de faire en sorte que postfixadmin.domain.tld ne soit joignable qu'en renseignant son url ? Par extension, tous les CNAME renseignés ramènent aussi vers postfixadmin, tant que je suppose, on n'a pas défini une vhost nginx en lien avec le CNAME.
Et autre chose en passant, mon instance rainloop est accessible en http et en https. Peut-on supprimer ou rediriger l'accès http vers https? (de même pour postfixadmin aussi)
edit : J'ai trouvé une parade mais j'ai tout de même un avertissement lorsque je relance nginx :
pointe sur notre serveur, mais surtout, est redirigé vers postfixadmin.domain.tld (pourquoi pas vers rainloop d'ailleurs ?)hostname-----A-------xx.xx.xx.xx
Est-il possible de faire en sorte que postfixadmin.domain.tld ne soit joignable qu'en renseignant son url ? Par extension, tous les CNAME renseignés ramènent aussi vers postfixadmin, tant que je suppose, on n'a pas défini une vhost nginx en lien avec le CNAME.
Et autre chose en passant, mon instance rainloop est accessible en http et en https. Peut-on supprimer ou rediriger l'accès http vers https? (de même pour postfixadmin aussi)
edit : J'ai trouvé une parade mais j'ai tout de même un avertissement lorsque je relance nginx :
nginx: [warn] conflicting server name "postfixadmin.domain.ltd" on 0.0.0.0:80, ignored
nginx
server {
listen 80;
server_name rainloop.domain.ltd;
root /var/www/postfixadmin;
index index.php;
charset utf-8;
return 301 https://$server_name$request_uri;
}
Je devrais peut-être remplacer par :server {
listen 80;
server_name _;
rewrite ^ https://XX.XX.XX.XX$request_uri? permanent;
}