Comment s'authentifier en SASL avec icedove (outhunderbird)?

Bonjour,

j’ai installé un serveur mail postfix/dovecot avec authentification SASL postfix/dovecot sur une debian stable squeeze 64 bit (serveur kimsufi d’ovh).

J’arrive à envoyer des mails vers les adresses emails extérieurs (hotmail.fr, gmail.com, …) avec telnet en SASL.

Maintenant je souhaiterais faire la même chose avec icedove (ou thunderbird) ou evolution.
Sauf qu’avec ces logiciels client, c’est pas telnet, et je suis obligé de m’authentifier en SASL mais je ne sais pas comment faire avec ces logiciels.

Quand je rentre les paramètres imap (port : 143, SSL : Aucune, Authentification : mot de passe normal), je reçoit bien les courriers et dans syslog ou mail.log j’ai ça (j’ai remplacé l’ip du serveur par ip_serveur et l’ip du client par ip_client):

Sep  5 12:42:17 ns dovecot: auth(default): client in: AUTH#0111#011PLAIN#011service=imap#011lip=ip_serveur#011rip=ip_client#011lport=143#011rport=48227
Sep  5 12:42:17 ns dovecot: auth(default): client out: CONT#0111#011
Sep  5 12:42:17 ns dovecot: auth(default): client in: CONT#0111#011AGd1ZXN0AGRpeG9uemU=
Sep  5 12:42:17 ns dovecot: auth(default): passwd-file(guest,ip_client): lookup: user=guest file=/etc/dovecot/passwd.dovecot
Sep  5 12:42:17 ns dovecot: auth(default): client out: OK#0111#011user=guest
Sep  5 12:42:17 ns dovecot: auth(default): master in: REQUEST#0115#01118432#0111
Sep  5 12:42:17 ns dovecot: auth(default): passwd(guest,ip_client): lookup
Sep  5 12:42:17 ns dovecot: auth(default): master out: USER#0115#011guest#011system_groups_user=guest#011uid=1000#011gid=1000#011home=/home/guest
Sep  5 12:42:17 ns dovecot: imap-login: Login: user=<guest>, method=PLAIN, rip=ip_client, lip=ip_serveur
Sep  5 12:42:18 ns dovecot: auth(default): new auth connection: pid=18680

Mais quand j’essaye d’envoyer un mail vers l’extérieur (ou même vers moi-même), j’ai un message d’erreur de icedove :

[quote]Sending of message failed.
The message could not be sent because the connection to SMTP server smtp.example.com timed out. Try again or contact your network administrator.
[/quote]

Et dans syslog et mail.log, je n’ai rien.

Je sais que le problème ne vient pas de mon FAI, ni de mon poste client car je peux recevoir et envoyer des emails avec des comptes hotmail.fr ou gmail.com.

Donc le problème doit provenir de :

  • du fait que je ne sais pas comment s’authentifier en sasl avec icedove (ou thunderbird)
  • de la configuration de postfix qui doit autoriser d’envoyer les emails vers l’extérieur uniquement lorsque l’ip de l’expéditeur correspond à l’ip du serveur.

Je peux ci-vous voulez-vous donner ma configuration postfix, main.cf (j’ai remplacé le nom de domaine par example.com):

root@ns:/etc/postfix# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix html_directory = /usr/share/doc/postfix/html inet_interfaces = all mailbox_size_limit = 0 mydestination = ns.example.com, localhost.example.com, , localhost myhostname = ns.example.com mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = /usr/share/doc/postfix recipient_delimiter = + relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/auth smtpd_sasl_type = dovecot smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = no virtual_alias_domains = example.com virtual_alias_maps = hash:/etc/postfix/virtual root@ns:/etc/postfix#

Merci d’avance pour votre aide , cordialement ?

As tu coché la case sécurité SSL dans les options du compte (en imap)?
Il te faudra probablement le paquet openssl, si ce n’est pas déja installé.

Bonjour,

non, je n’ai pas coché ssl ni pour imap, ni pour smtp car dans ma config postfix, j’ai précisé smtpd_use_tls = no, et j’ai mis dans ma configuration dovecot use_ssl = no.

Les paramètres imap sont bonnes car je reçoit bien le courier :
imap => hote : mail.example.com | Port : 143 | SSL : Aucune | Authentification : Mot de passe normal

Par contre quand je mes paramètre smtp, ça ne marche pas :
smtp => hote : smtp.example.com | Port : 25 | SSL : Aucune | Authentification : Mot de passe normal

(pourtant un dig smtp.example.com m’indique que smtp.example.com pointe bien vers mon serveur mail).

PS : Quand je met les paramètres de mon FAI Client (free.fr), ça marche (je peux envoyer des emails vers l’extérieur comme vers hotmail.fr, gmail.com…):
smtp => hote : smtp.free.fr | Port : 25 | SSL : Aucune | Authentification : Aucune
Mais je voudrais que ça marche aussi quand je rentre les paramètres smtp de mon serveur mail

Donc pourquoi les ça ne marche pas quand je rentre les paramètres smtp de mon serveur mail ?

Merci d’avance.

essaie de lancer icedove en console si ce n’est pas déja fait pour avoir un peu plus d’info sur ce qui coince.

Notre wiki contient deux tutoriels pour installer postfix/dovecot avec SASL :
isalo.org/wiki.debian-fr/ind … des_quotas
isalo.org/wiki.debian-fr/ind … ec_Postfix

Ça te permettra de voir où tu t’es planté dans la configuration.

Note également que certains FAI bloquent le port 25 pour tout autre serveur SMTP que le leur. Si c’est le cas pour toi le réglage doit se trouver quelque part dans l’interface d’admin de ta “box”. Tes tests en telnet tu les as faits à partir de ta machine perso ou bien dans une session SSH sur ton serveur ?

[quote=“fluo”]Bonjour,

non, je n’ai pas coché ssl ni pour imap, ni pour smtp car dans ma config postfix, j’ai précisé smtpd_use_tls = no, et j’ai mis dans ma configuration dovecot use_ssl = no.

Les paramètres imap sont bonnes car je reçoit bien le courier :
imap => hote : mail.example.com | Port : 143 | SSL : Aucune | Authentification : Mot de passe normal

Par contre quand je mes paramètre smtp, ça ne marche pas :
smtp => hote : smtp.example.com | Port : 25 | SSL : Aucune | Authentification : Mot de passe normal

(pourtant un dig smtp.example.com m’indique que smtp.example.com pointe bien vers mon serveur mail).

PS : Quand je met les paramètres de mon FAI Client (free.fr), ça marche (je peux envoyer des emails vers l’extérieur comme vers hotmail.fr, gmail.com…):
smtp => hote : smtp.free.fr | Port : 25 | SSL : Aucune | Authentification : Aucune
Mais je voudrais que ça marche aussi quand je rentre les paramètres smtp de mon serveur mail

Donc pourquoi ça ne marche pas quand je rentre les paramètres smtp de mon serveur mail ?

Merci d’avance.[/quote]

ReBonjour,

pour vous répondre,

piratebab a dit :

=>

guest@localhost~$/usr/bin/icedove

Icedove marche bien, pas de message d’erreur sur le fonctionnement de icedove.

syam a dit :

=> c’est ce que je fais depuis deux jours.

=> comme les comptes hotmail.fr marchent avec les paramètres smtp de hotmail.fr et idem pour gmail.com,
le problème ne vient pas de mo FAI

=> seulement en session SSH de mon serveur.
Par contre sur ma machine perso, quand je tape telnet ns.example.com, je n’arrive pas à me connecter à mon serveur car (j’ai remplacé l’ip de mon serveur par XX.XX.XX.XX):

telnet ns.example.com 25 (ou telnet smtp.example.com 25)
Trying XX.XX.XX.XX...
telnet: Unable to connect to remote host: Connection timed out

Est-ce pour cette raison que icedove n’arrive pas à se connecter à mon serveur smtp ?

=> seulement en session SSH de mon serveur.
Par contre sur ma machine perso, quand je tape telnet ns.example.com, je n’arrive pas à me connecter à mon serveur car (j’ai remplacé l’ip de mon serveur par XX.XX.XX.XX):

telnet ns.example.com 25 (ou telnet smtp.example.com 25)
Trying XX.XX.XX.XX...
telnet: Unable to connect to remote host: Connection timed out

Est-ce pour cette raison que icedove n’arrive pas à se connecter à mon serveur smtp ?[/quote]
Si telnet n’arrive pas à s’y connecter, icedove ne risque pas d’y arriver non plus.
Du coup c’est très certainement un bête problème réseau.

aptitude install traceroute tcptraceroute traceroute ip_serveur traceroute ip_serveur 25 :question:

Syam a dit :

Voici les résultats de traceroute ip_serveur et de traceroute ip_serveur 25 (commandes que j’ai tapé sur ma machine perso). J’ai remplacé l’ip du serveur dédié par ip_serveur, et son domaine par example.com :

guest@localhost:~$ traceroute ip_serveur
traceroute to ip_serveur (ip_serveur), 30 hops max, 60 byte packets
 1  freebox-server.local (192.168.1.254)  1.338 ms  1.591 ms  1.789 ms
 2  82.239.10.254 (82.239.10.254)  24.333 ms  25.660 ms  26.366 ms
 3  78.254.2.126 (78.254.2.126)  27.569 ms  28.469 ms  31.897 ms
 4  cbv-6k-2-po11.intf.nra.proxad.net (78.254.255.85)  32.106 ms  32.522 ms  32.728 ms
 5  th2-crs16-1-be1013.intf.routers.proxad.net (212.27.59.10)  33.447 ms *  34.437 ms
 6  91.121.128.244 (91.121.128.244)  36.421 ms  23.558 ms *
 7  gsw-g1-a9.fr.eu (213.186.32.210)  25.639 ms  26.013 ms  27.204 ms
 8  rbx-g2-a9.fr.eu (91.121.215.151)  35.743 ms rbx-g2-a9.fr.eu (91.121.131.213)  40.779 ms rbx-g2-a9.fr.eu (91.121.215.151)  41.212 ms
 9  vss-7a-6k.fr.eu (91.121.128.119)  41.438 ms * *
10  ns.example.com (ip_serveur)  41.574 ms  41.578 ms  42.042 ms
guest@localhost:~$
guest@localhost:~$ traceroute ip_serveur 25
traceroute to ip_serveur (ip_serveur), 30 hops max, 28 byte packets
 1  freebox-server.local (192.168.1.254)  3.475 ms  4.734 ms  5.341 ms
 2  82.239.10.254 (82.239.10.254)  26.906 ms  28.194 ms  28.772 ms
 3  78.254.2.126 (78.254.2.126)  30.262 ms  32.424 ms  34.793 ms
 4  cbv-6k-2-po11.intf.nra.proxad.net (78.254.255.85)  35.042 ms  35.408 ms  36.079 ms
 5  th2-crs16-1-be1013.intf.routers.proxad.net (212.27.59.10)  37.296 ms  37.547 ms  37.871 ms
 6  91.121.128.244 (91.121.128.244)  38.486 ms * *
 7  gsw-g1-a9.fr.eu (213.186.32.210)  24.564 ms  23.916 ms  24.370 ms
 8  rbx-g2-a9.fr.eu (91.121.131.213)  31.074 ms rbx-g2-a9.fr.eu (91.121.215.151)  31.498 ms  31.072 ms
 9  vss-7a-6k.fr.eu (91.121.128.119)  153.763 ms * *
10  ns.example.com (ip_serveur)  31.990 ms  32.334 ms  32.532 ms
guest@localhost:~$ 

A+

Les traceroute ont l’air bons. Ton firewall peut-être ? (iptables -S sur le serveur)

Syam a dit :

Voici le resultat de la commande (que j’ai tapé en session ssh de mon serveur dédié)

root@ns:/home/guest/# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 2209 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 2209 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT 
root@ns:/home/guest/# 

:neutral_face:

Pour info ton firewall est totalement inefficace, il laisse tout passer (-P INPUT ACCEPT / -P OUTPUT ACCEPT). Donc ce n’est pas lui qui empêche la connexion (et de toutes façons même si tu changes les stratégies INPUT/OUTPUT par défaut, tu autorises quand même le port 25).

Dernière idée, après je sèche : netstat -tapn (toujours sur le serveur)

root@ns:/home/guest/# netstat -tapn
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      17625/mysqld    
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      28369/dovecot   
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      14667/imap-login
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      32142/named     
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      10347/vsftpd    
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      28346/master    
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      32142/named     
tcp        0      0 0.0.0.0:2209            0.0.0.0:*               LISTEN      27166/sshd      
tcp        0    240 ip_serveur:2209     82.239.10.131:38034     ESTABLISHED 13769/sshd: guest2 
tcp        0      0 ip_serveur:2209     82.239.10.131:38966     ESTABLISHED 23805/sshd: guest2 
tcp        0      0 ip_serveur:2209     82.239.10.131:38037     ESTABLISHED 13801/sshd: guest2 
tcp        0      0 ip_serveur:2209     82.239.10.131:38597     ESTABLISHED 20485/sshd: guest2 
tcp        0      0 ip_serveur:143      ip_serveur:48283    TIME_WAIT   -               
tcp6       0      0 :::80                   :::*                    LISTEN      24651/apache2   
tcp6       0      0 ::1:53                  :::*                    LISTEN      32142/named     
tcp6       0      0 ::1:953                 :::*                    LISTEN      32142/named     
tcp6       0      0 :::443                  :::*                    LISTEN      24651/apache2   
tcp6       0      0 :::2209                 :::*                    LISTEN      27166/sshd      
tcp6       0    568 ip_serveur:80       66.249.72.98:48823      ESTABLISHED 27528/apache2   
root@ns:/home/guest/# 

Bon ton port 25 écoute bien sur toutes les interfaces (0.0.0.0:25), le tcptraceroute et le dig sont bons, le firewall n’est pas en cause donc là je sais pas trop. :frowning:
Si c’était un problème de config de Postfix je pense que tu n’aurais pas un timeout réseau mais un “vrai” message d’erreur de la part de Postfix…

Même si tu n’a pas trouvé, je te dis quand même 10.000 fois merci pour ta solidarité !.

Je te revaudrais ça.

Merci encore.

Ben au moins ça aura déblayé le chemin pour ceux qui viendront t’aider après moi… :wink:

Edit: ah merde, y’a une commande que j’ai mal tapée (copier/coller malheureux) du coup on a pas toutes les infos… Désolé. :blush: Heureusement que j’y ai jeté un dernier coup d’œil.
Tu peux essayer tcptraceroute ip_serveur 25 à partir de ton poste ?

Syam a dit :

[quote]Heureusement que j’y ai jeté un dernier coup d’œil.
Tu peux essayer tcptraceroute ip_serveur 25 à partir de ton poste ?
[/quote]

Pas de problème, Voila le résultat de la commande tapée de ma machine perso

guest@localhost:~$ tcptraceroute ip_serveur 25
Selected device eth0, address 192.168.1.43, port 60521 for outgoing packets
Tracing the path to ip_serveur on TCP port 25 (smtp), 30 hops max
 1  192.168.1.254  1.247 ms  0.999 ms  1.008 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  *^C
guest@localhost:~$ 

Comme il n’avait que des étoiles qui s’affichaient, j’ai du tapé Ctrl+C au bout de la 11 ligne.

:pray:

Et ben voilà ! :mrgreen:
Les paquets ne dépassent pas ta Freebox. Pour moi ça ressemble bien à un blocage du port 25 par ton FAI. Pour t’en assurer tu peux essayer tcptraceroute smtp.free.fr 25
Va quand même vérifier dans l’interface de gestion de la Freebox, quelque part il y a un réglage à ce propos. On sait jamais, même si les SMTP de GMail et de Hotmail fonctionnent il n’est pas impossible que Free restreigne le port 25 à des serveurs “connus” (anciennement c’était limité aux serveurs Free mais si ça se trouve ça a changé).

Syam a dit :

Voici la réponse.

guest@localhost:~$ tcptraceroute smtp.free.fr 25 Selected device eth0, address 192.168.1.43, port 39360 for outgoing packets Tracing the path to smtp.free.fr (212.27.48.4) on TCP port 25 (smtp), 30 hops max 1 192.168.1.254 1.288 ms 4.577 ms 1.004 ms 2 82.239.10.254 24.045 ms 22.784 ms 22.387 ms 3 78.254.2.126 24.919 ms 25.030 ms 24.271 ms 4 cbv-6k-2-po11.intf.nra.proxad.net (78.254.255.85) 22.311 ms 23.595 ms 22.345 ms 5 th2-crs16-1-be1013.intf.routers.proxad.net (212.27.59.10) 22.958 ms 22.619 ms 43.443 ms 6 bzn-6k-sys-po21.intf.routers.proxad.net (212.27.50.6) 24.602 ms 23.101 ms 22.502 ms 7 smtp.free.fr (212.27.48.4) [open] 25.141 ms 24.542 ms 25.823 ms guest@localhost:~$
Conclusion ? :think:

Va voir dans l’interface de ta Freebox et désactive le blocage du port 25. :mrgreen:
(pff ça aurait été quand même vachement plus vite si je m’étais pas planté en tapant les commandes (tcp)traceroute :013)