Imap/Postfix quelquechose m'échappe ..

Imap/Postfix quelquechose m'échappe .. - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 02-01-2006 à 11:36:39    

J'ai configuré Postfix sous Debian avec des hôtes virtuels. J'utilise Imap pour accéder aux boîtes emails.
 
Je parviens à me loguer en local et à distance sur le serveur.
 
Or alors que des messages (voir ci-dessous) sont stockés sur le serveur (emplacement de Maildir sur le système de fichiers /share/data/virtual), je ne vois aucun message avec un telnet ou via un client de messagerie.
 
 

Code :
  1. /share/data/virtual/user@mondomain/new# ls
  2. 1136198158.V807If38005.serveur  1136198718.V807If38009.serveur  1136199464.V807If3800b.serveur  1136199948.V807If3800d.serveur


 

Code :
  1. $ telnet localhost 143
  2. Trying 127.0.0.1...
  3. Connected to localhost.
  4. Escape character is '^]'.
  5. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc.  See COPYING for distribution information.
  6. a login user password
  7. a OK LOGIN Ok.
  8. a list "" *
  9. * LIST (\HasNoChildren) "." "INBOX.Trash"
  10. * LIST (\Unmarked \HasChildren) "." "INBOX"
  11. a OK LIST completed
  12. a select INBOX
  13. * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
  14. * OK [PERMANENTFLAGS (\* \Draft \Answered \Flagged \Deleted \Seen)] Limited
  15. * 0 EXISTS
  16. * 0 RECENT
  17. * OK [UIDVALIDITY 1136196307] Ok
  18. * OK [MYRIGHTS "acdilrsw"] ACL
  19. a OK [READ-WRITE] Ok


 
 
Toute suggestion est la bienvenue  
 
Merci

Reply

Marsh Posté le 02-01-2006 à 11:36:39   

Reply

Marsh Posté le 02-01-2006 à 11:44:43    

tu peux nous montrer ta conf de postfix ?
Je suppose que tu ne transmet pas les mail aux service IMAP.
Je ne sais pas comment cela se passe pour Courier-Imap, mais pour cyrus il faut transferer les messages au demon, et non pas le stocker dans un Maildir ou un mbox.

Reply

Marsh Posté le 02-01-2006 à 11:57:04    

J'ai un autre serveur qui tourne avec Postfix et Imap. J'ai utilisé les mêmes fichiers de configuration pour le serveur que j'essaye de faire fonctionner.
C'est pour cette raison qu'il y a quelque chose qui m'échappe.
 
Ci-dessous mon main.cf identique à celui du serveur qui tourne bien :
 

Code :
  1. # See /usr/share/postfix/main.cf.dist for a commented, more complete version
  2. mail_name = SMTP Server
  3. smtpd_banner = $myhostname ESMTP  $mail_name
  4. biff = no
  5. # appending .domain is the MUA's job.
  6. append_dot_mydomain = no
  7. # Uncomment the next line to generate "delayed mail" warnings
  8. #delay_warning_time = 4h
  9. myhostname = mail.mondomain
  10. alias_maps = hash:/etc/aliases
  11. alias_database = hash:/etc/aliases
  12. queue_directory = /var/spool/postfix
  13. debug_peer_level = 5
  14. # Uncomment the next line to generate "delayed mail" warnings
  15. #delay_warning_time = 4h
  16. smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
  17. mydomain = mondomain
  18. myorigin = /etc/mailname
  19. mydestination = $myhostname, localhost.$mydomain
  20. relayhost =
  21. relay_domains =
  22. mynetworks = 192.168.2.0/24, 127.0.0.0/8
  23. #mailbox_command = procmail -a "$EXTENSION"
  24. mailbox_size_limit = 0
  25. recipient_delimiter = +
  26. #inet_interfaces = all
  27. home_mailbox =  Maildir/
  28. transport_maps = hash:/etc/postfix/transport
  29. sender_canonical_maps = hash:/etc/postfix/canonical
  30. parent_domain_matches_subdomains =
  31. # Use AMaVis
  32. content_filter = smtp-amavis:[127.0.0.1]:10024
  33. #Configuration MySQL
  34. virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
  35. virtual_gid_maps = static:105
  36. virtual_mailbox_base = /share/data/virtual
  37. virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
  38. virtual_mailbox_limit = 51200000
  39. virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
  40. virtual_minimum_uid = 104
  41. virtual_transport = virtual
  42. virtual_uid_maps = static:104
  43. # Additional for quota support
  44. virtual_create_maildirsize = yes
  45. virtual_mailbox_extended = yes
  46. virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_limit_maps.cf
  47. virtual_mailbox_limit_override = yes
  48. virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
  49. virtual_overquota_bounce = yes


 
En outre, je viens de faire un ps -aux sur imapd, je constate que c'est l'user qui le lance alors que dans la configuration qui va bien c'est l'utilisateur postfix  
 

Code :
  1. postfix   3014  0.0  0.2   4184  1516 ?        S    09:16   0:04 /usr/bin/imapd Maildir


 

Code :
  1. user     3543  0.0  0.2  4684 1484 ?        S    12:06   0:00 /usr/bin/imapd Maildir


Message édité par sneakz le 02-01-2006 à 12:02:09
Reply

Marsh Posté le 02-01-2006 à 12:04:54    

le fichier master.cf ressemble à quoi ?

Reply

Marsh Posté le 02-01-2006 à 12:23:38    

master est identique au fichier de config du serveur qui va bien :
 

Code :
  1. #
  2. # DO NOT SHARE THE POSTFIX QUEUE BETWEEN MULTIPLE POSTFIX INSTANCES.
  3. #
  4. # ==========================================================================
  5. # service type  private unpriv  chroot  wakeup  maxproc command + args
  6. #               (yes)   (yes)   (yes)   (never) (100)
  7. # ==========================================================================
  8. smtp      inet  n       -       n       -       -       smtpd
  9. #submission inet n      -       n       -       -       smtpd
  10. #       -o smtpd_etrn_restrictions=reject
  11. #628      inet  n       -       n       -       -       qmqpd
  12. pickup    fifo  n       -       n       60      1       pickup
  13. cleanup   unix  n       -       n       -       0       cleanup
  14. qmgr      fifo  n       -       n       300     1       qmgr
  15. #qmgr     fifo  n       -       n       300     1       oqmgr
  16. rewrite   unix  -       -       n       -       -       trivial-rewrite
  17. bounce    unix  -       -       n       -       0       bounce
  18. defer     unix  -       -       n       -       0       bounce
  19. trace     unix  -       -       n       -       0       bounce
  20. verify    unix  -       -       n       -       1       verify
  21. flush     unix  n       -       n       1000?   0       flush
  22. proxymap  unix  -       -       n       -       -       proxymap
  23. smtp      unix  -       -       n       -       -       smtp
  24. relay     unix  -       -       n       -       -       smtp
  25. #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
  26. showq     unix  n       -       n       -       -       showq
  27. error     unix  -       -       n       -       -       error
  28. local     unix  -       n       n       -       -       local
  29. virtual   unix  -       n       n       -       -       virtual
  30. lmtmaildrop  unix  -       n       n       -       -       pipe
  31.   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
  32. uucp      unix  -       n       n       -       -       pipe
  33.   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
  34. ifmail    unix  -       n       n       -       -       pipe
  35.   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
  36. bsmtp     unix  -       n       n       -       -       pipe
  37.   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
  38. scalemail-backend unix  -       n       n       -       2       pipe
  39.   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}p      unix  -       -       n       -       -       lmtp


Message édité par sneakz le 02-01-2006 à 12:23:52
Reply

Marsh Posté le 07-01-2006 à 11:56:15    

Un petit UP car je ne trouve pas la solution.
IMAPD ne lis pas le contenu de /share/data/virtual.
Il consulte ~/Maildir de l'utilisateur mais comme tous les mails sont stockés dans /share/data/virtual/Maildir; il ne voit rien.
Il n'y a pas de pb de connexion à la base.
 
Le pb est similaire à ce post. J'ai envoyé un mail à l'interessé mais pas réponse.
 
http://minilien.com/?tMZnF99Q1B
 
Cela devrait allé tout seul mais je galère.
Les fichiers de config. fonctionnent correctement sur une sid. Je ré-utilise les mêmes sur une sarge et cela ne fonctionne pas. Je suis en train de me demander s'il ne faut pas recompiler les sources.
Or j'essaye de passer d'une sid  à une stable pour éviter de compiler.  gggrrr !

Reply

Marsh Posté le 07-01-2006 à 13:25:19    

quel est le serveur imap ?
si oui est t'il correctement configuré ?
(postfix n'a rien a voir avec le problème dans le cas présent )


---------------
Intermittent du GNU
Reply

Marsh Posté le 07-01-2006 à 13:40:05    

Je suis de ton avis mikala postfix a certainement rien à voir dans le cas présent. Imap à priori n'est pas configuré sur l'espace de stockage /share/data/virtual.
 
$ imapd --version
Courier 0.47 (Courier-IMAP 3.0.8)/i686-pc-linux-gnu/Sun Nov 20 17:17:31 UTC 200
 
Le fichier de configuration est /etc/courier/imapd
 
Je vais comparer les 2 fichiers pour voir s'il y a une différence.

Reply

Marsh Posté le 07-01-2006 à 17:16:53    

Voici le fichier de configuration de imapd. Il n'y a aucune différence avec celui qui va bien sous la sid.
 

Code :
  1. ADDRESS=0
  2. PORT=143
  3. MAXDAEMONS=40
  4. MAXPERIP=20
  5. PIDFILE=/var/run/courier/imapd.pid
  6. TCPDOPTS="-nodnslookup -noidentlookup"
  7. AUTHMODULES="authdaemon"
  8. AUTHMODULES_ORIG="authdaemon"
  9. DEBUG_LOGIN=0
  10. IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
  11. IMAP_KEYWORDS=1
  12. IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
  13. IMAP_IDLE_TIMEOUT=60
  14. IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
  15. IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
  16. IMAP_DISABLETHREADSORT=0
  17. IMAP_CHECK_ALL_FOLDERS=0
  18. IMAP_OBSOLETE_CLIENT=0
  19. IMAP_ULIMITD=65536
  20. IMAP_USELOCKS=1
  21. IMAP_SHAREDINDEXFILE=/etc/courier/shared/index
  22. IMAP_ENHANCEDIDLE=0
  23. IMAP_EMPTYTRASH
  24. IMAP_TRASHFOLDERNAME=Trash
  25. IMAP_EMPTYTRASH=Trash:7
  26. IMAP_MOVE_EXPUNGE_TO_TRASH=0
  27. SENDMAIL=/usr/sbin/sendmail
  28. HEADERFROM=X-IMAP-Sender
  29. IMAPDSTART=YES
  30. MAILDIRPATH=Maildir


Reply

Marsh Posté le 07-01-2006 à 19:04:16    

le MAILDIRPATH= ne te pose pas de problèmes [:mikala]


---------------
Intermittent du GNU
Reply

Marsh Posté le 07-01-2006 à 19:04:16   

Reply

Marsh Posté le 07-01-2006 à 19:33:26    

Bien j'y ai pensé !
 
J'ai essayé MAILDIRPATH=.
MAILDIRPATH=/share/data/virtual
 
mais pas de changement ... à moins qu'il y ait une autre syntaxe.

Reply

Marsh Posté le 07-01-2006 à 22:47:31    

je n'avais pas fait attention au fait que tu utilisais mysql.
tu as bien sur configuré correctement le authmysqlrc ?


---------------
Intermittent du GNU
Reply

Marsh Posté le 07-01-2006 à 23:01:02    

mikala a écrit :

tu as bien sur configuré correctement le authmysqlrc ?


 
La syntaxe est quelque peu différente de celui tournant sur le debian sid (par exemple, les valeurs doivent être espacées d'un espace plus des tabulations, rien n'est mentionné sur les quotes).
J'avais repris les paramètres 1 après l'autre. Tout semblait correct. De fait, je n'ai pas de probème d'accès à la base puisque les mails sont bien transmis et stockés dans /share/data/virtual.
 
Je ne sais pas si authmysqlrc est en cause ici.
 
Merci encore mikala d'essayer de m'aider.
 
je posterai demain le contenu de authmysqlrc. Je pense qu'il y a quelque chose de tout bête qui nous échappe.

Reply

Marsh Posté le 08-01-2006 à 01:17:05    

le fichier authmysqlrc permet a courier de bénéficier du support mysql (et donc des boites mails virtuelles ).
en n'étant pas configuré cela posera forcément problème.
le authdaemonrc doit également faire réference a ce mode d'authentification


---------------
Intermittent du GNU
Reply

Marsh Posté le 08-01-2006 à 11:11:22    

J'ai commencé à y croire lorsque j'ai vu que dans authmysqlrc j'avais noté :
 
MYSQL_CLEAR_PWFIELD     clear
au lieu de
MYSQL_CLEAR_PWFIELD     password (fichier qui va bien)
 
J'ai modifié mais rien a changé.
 
Voici le contenu de mon authmysqlrc :
 

Code :
  1. MYSQL_SERVER            127.0.0.1
  2. MYSQL_USERNAME          postfix
  3. MYSQL_PASSWORD          postfix
  4. MYSQL_PORT              0
  5. MYSQL_OPT               0
  6. MYSQL_DATABASE          postfix
  7. MYSQL_USER_TABLE        mailbox
  8. MYSQL_CLEAR_PWFIELD     password
  9. DEFAULT_DOMAIN          mondomaine
  10. MYSQL_UID_FIELD         104
  11. MYSQL_GID_FIELD         105
  12. MYSQL_LOGIN_FIELD       username
  13. MYSQL_HOME_FIELD        '/share/data/virtual'
  14. MYSQL_NAME_FIELD        name
  15. #MYSQL_MAILDIR_FIELD CONCAT('/share/data/virtual/',maildir)
  16. MYSQL_MAILDIR_FIELD     maildir


 
 
Je désespère ...

Reply

Marsh Posté le 08-01-2006 à 14:12:13    

utilises le mysql_crypt_field.
vérifies ensuite le contenu du authdaemonrc .
je doute qu'entourer les uid et gid de '' change quelque chose mais bon.
et bien sur relances courier.
(sinon tu peux aussi lire les logs pour localiser l'erreur.


---------------
Intermittent du GNU
Reply

Marsh Posté le 08-01-2006 à 14:32:58    

J'ai rien dans les logs mysql. J'avais eu il y a quelques temps sur la config de la debian sid quelques pbs d'authentification. Sans consulter les logs mysql, une connexion telnet en localhost suffisait à voir que l'authentification ne passait pas. Or ici rien de tout cela. Je parviens à me connecter en telnet sur 143 ou sur 110. Sauf, que je liste aucun mail alors que tous les mails sont biens stockés dans la zone /share/data/virtual.
 
Alors que j'ai sous la sid, les fichiers suivants dans le home de l'utilisateur que l'on nommera user :
courierimapkeywords  courierimapsubscribed  courierimapuiddb
 
Que j'ai également ces fichiers sous la sid dans /share/data/virtual.
 
Dans la configuration  du serveur que je suis en train de mettre en place (soit une debian sarge); ces fichiers n'apparaissent que dans le home de l'user.
 
J'ai vu cette url, qui traite de la config mysql/postfix/imap sous une sarge.
Je n'y trouve pas une grande différence avec ce que j'ai fait si ce n'est le patch du paquet courier-postfix.
 
http://www.howtoforge.com/virtual_ [...] ta_courier
 
Il y a certainement un grain de riz qui coince.
 
Je vais à nouveau regarder authdaemonrc mais je reste perplexe.


Message édité par sneakz le 08-01-2006 à 14:34:54
Reply

Marsh Posté le 08-01-2006 à 15:46:58    

et le authdaemonrc ? [:mikala]
je ne l'ai tjs pas vu.
(Accessoirement tu te logues sous quel forme ?  user ? ou user@domaine.tld ? )


---------------
Intermittent du GNU
Reply

Marsh Posté le 08-01-2006 à 17:40:43    

J'ai des différences sur authdaemonrc. Je corrige et je fais un test.
 
Le log s'effectue sous la forme user.

Reply

Marsh Posté le 08-01-2006 à 18:19:40    

Test concluant.
 
authmodulelist était mal renseigné.
 
authmodulelist="authpam"
 
au lieu de :
authmodulelist="authmysql authpam"
 
Cela ne pouvait effectivement pas marcher.
 
Merci mikala pour ta patience et sur le fait d'avoir insisté pour tout reprendre.
 
Sur le réseau, je parviens donc à lire les messages sur le serveur or mon logiciel client Thunderbird lorsque j'essaye de supprimer un message m'affiche :
 
La commande actuelle a échoué. Le serveur de courier a répondu :
[TRYCREATE] Mailbox does not exist
 
???


Message édité par sneakz le 08-01-2006 à 18:23:49
Reply

Marsh Posté le 08-01-2006 à 18:53:06    

A priori je peux effacer le mail à partir d'un autre client IMAP (j'ai pu l'effacer avec une autre machine).
 
Cela reste étrange.
 
Pas si étrange que cela. Il fallait que je relance tout simplement thunderbird.


Message édité par sneakz le 08-01-2006 à 18:56:04
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed