Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2454 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Postfix ... beaucoup de choses m'échappent

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Postfix ... beaucoup de choses m'échappent

n°742560
sneakz
Posté le 19-10-2005 à 21:15:57  profilanswer
 

J'essaye en vain de faire fonctionner Postfix couplé avecune base Mysql en utilisant des boîtes à lettres virtuelles.
Pour ce faire, j'ai utilisé le tuto http://minilien.com/?rxfQzGDBbO
 
J'ai un domaine que l'on nommera mon.domaine.org.
J'ai créé via postfixadmin une boîte aux lettres virtuelle (compte non Unix) que l'on nommera toto@mon.domaine.org
 
Les enregistrements dans la base sont corrects. L'utilisateur postfix y accède sans erreurs.
 
J'ai défini le répertoire de base pour toutes les boîtes aux lettres virtuelles dans le fichier de configuration /etc/postfix/main.cf avec virtual_mailbox_base = /usr/local/virtual
J'ai bien dans ce répertoire la dossier toto@mon.domaine.org qui a été créé après l'envoi d'un premier mail à destination de  toto@mon.domaine.org.
 
Lorsque j'envoie un mail via le réseau Internet. Je reçois bien l'email à destination de toto@mon.domaine.org. Cet email reçu est bien stocké dans /usr/local/virtual
 
Or mon MUA ne consulte pas /usr/local/virtual et je ne parviens pas à visualiser le contenu des emails reçus.
 
Je demande de l'aide .... !!!! :'(
 
Il y a certainement un pb de configuration mais je ne sais pas où.
 
 
Merci

mood
Publicité
Posté le 19-10-2005 à 21:15:57  profilanswer
 

n°742598
syl94
Ni!
Posté le 19-10-2005 à 22:32:29  profilanswer
 

quel solution utilise tu pour récupérer tes mails via ton mua ? pop, imap ?

n°742612
sneakz
Posté le 19-10-2005 à 22:58:37  profilanswer
 

J'ai essayé avec pop et imap. J'obtiens le même résultat.

n°742629
syl94
Ni!
Posté le 19-10-2005 à 23:18:16  profilanswer
 

y a t'il quelque chose qui apparait dans les logs postfix au moment de la connexion pop par exemple ?
 
Tu pourrais tester une connexion pop en local deja, pour voir ce que ca retourne. Pour info, au cas ou tu ne connaitrais pas les commandes :
 

Code :
  1. $ telnet localhost 110
  2. Trying xxx.xxx.xxx.xxx...
  3. Connected to hostname.
  4. Escape character is '^]'.
  5. +OK Hello there.
  6. user user@domain.tld
  7. +OK Password required.
  8. pass tonpass
  9. +OK logged in.
  10. list
  11. +OK POP3 clients that break here, they violate STD53.
  12. ...
  13. quit


 
Si quelque chose se passe mal, ca apparaitra ici

n°742685
sneakz
Posté le 20-10-2005 à 09:28:57  profilanswer
 

Avec 192.168.0.1 (machine serveur) et 192.168.0.2 (machine serveur) ...
 
$ telnet 192.168.0.1 110
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
+OK Hello there.
user toto
+OK Password required.
pass ******
-ERR Login failed.
Connection closed by foreign host.
 
$ tail -f /var/log/mail.log
 
Oct 20 09:24:52 server courierpop3login: Connection, ip=[:ffff:192.168.0.2]
Oct 20 09:25:12 server courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.2], command=USER
Oct 20 09:25:16 server courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.2], command=PASS
Oct 20 09:25:16 server courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.2], username=toto
Oct 20 09:25:16 server courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.2], password=******
Oct 20 09:25:16 server courierpop3login: authdaemon: starting client module
Oct 20 09:25:17 server courierpop3login: authdaemon: REJECT
Oct 20 09:25:22 server courierpop3login: LOGIN FAILED, ip=[:ffff:192.168.0.2]


Message édité par sneakz le 20-10-2005 à 09:30:14
n°742688
syl94
Ni!
Posté le 20-10-2005 à 09:34:57  profilanswer
 

donc c'est dans le authdaemonrc que quelque chose ne vas pas ... Voici ce que j'ai dans ma conf, et qui fonctionne.
 
dans le fichier /etc/courier/authdaemonrc :

Code :
  1. authmodulelist="authmysql authpam"


 
dans le fichier /etc/courier/authmysqlrc, apres les parametres de connexion à la base :

Code :
  1. MYSQL_SELECT_CLAUSE SELECT username, \
  2. ENCRYPT(password), \
  3. password, \
  4. 1002, \
  5. 1002, \
  6. '/usr/local/virtual', \
  7. CONCAT(username, '/'), \
  8. 0, \
  9. '' \
  10. FROM mailbox \
  11. WHERE username = '$(local_part)@$(domain)'


 
Il faut adapter le UID et GID, ainsi que le répertoire et le nom des champs

n°742714
sneakz
Posté le 20-10-2005 à 11:10:53  profilanswer
 

dans mon fichier /etc/courier/authdaemonrc :  
 
authmodulelist="authcustom authuserdb authmysql authpam"
 
dans mon fichier /etc/courier/authmysqlrc (assez différent du tien):
 
#DEFAULT_DOMAIN         mon.domaine.org
#MYSQL_CRYPT_PWFIELD    password
MYSQL_CLEAR_PWFIELD     password
MYSQL_DATABASE          postfix
MYSQL_GID_FIELD         104
MYSQL_HOME_FIELD        '/usr/local/virtual'
MYSQL_LOGIN_FIELD       username
MYSQL_MAILDIR_FIELD     maildir
MYSQL_NAME_FIELD        name
MYSQL_OPT               0
MYSQL_PASSWORD          postfix
#MYSQL_PORT             0
#MYSQL_QUOTA_FIELD      quota
MYSQL_SERVER            localhost
#MYSQL_SOCKET           /var/mysql/mysql.sock
MYSQL_UID_FIELD         104
MYSQL_USERNAME          postfix
MYSQL_USER_TABLE        mailbox
#MYSQL_WHERE_CLAUSE     server='mailhost.example.com'
 
 
UID et GID correspondent bien à postfix
 
Ton avis ?


Message édité par sneakz le 20-10-2005 à 11:11:39
n°742722
syl94
Ni!
Posté le 20-10-2005 à 11:46:45  profilanswer
 

oui, ceci est correct, mais il faut que tu ajoute le bloc que je t'ai donné a la fin du fichier /etc/courier/authmysqlrc, puis relance courier-auth
 
En parallele, tu peux activer le log sur le serveur MySQL et tenter une connexion POP et regarder les logs MySQL en meme temps pour voir si la requete d'authentification passe bien..

n°742724
sneakz
Posté le 20-10-2005 à 11:49:40  profilanswer
 

ok je vais suivre tes indications

n°742730
sneakz
Posté le 20-10-2005 à 12:14:42  profilanswer
 

Avec le nouveau bloc ajouté ...
 
$ telnet 192.168.0.1 110
 

Code :
  1. Trying 192.168.0.1...
  2. Connected to 192.168.0.1.
  3. Escape character is '^]'.
  4. +OK Hello there.
  5. user toto
  6. +OK Password required.
  7. pass ******
  8. -ERR Login failed.
  9. Connection closed by foreign host.


 
# tail -f  /var/log/mysql/mysql.log

Code :
  1. 051020 12:09:38       4 Query       INSERT INTO logs
  2.       (host, facility, priority, level, tag, datetime, program, msg)
  3.       VALUES ( 'server', 'mail', 'debug', 'debug', '17', '2005-10-20 12:09:38',
  4.       'courierpop3login', 'courierpop3login: Connection, ip=[:ffff:192.168.0.1]' )
  5. 051020 12:09:47       4 Query       INSERT INTO logs
  6.       (host, facility, priority, level, tag, datetime, program, msg)
  7.       VALUES ( 'server', 'mail', 'info', 'info', '16', '2005-10-20 12:09:47',
  8.       'courierpop3login', 'courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.1], command=USER' )
  9. 051020 12:09:51       4 Query       INSERT INTO logs
  10.       (host, facility, priority, level, tag, datetime, program, msg)
  11.       VALUES ( 'server', 'mail', 'info', 'info', '16', '2005-10-20 12:09:51',
  12.       'courierpop3login', 'courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.1], command=PASS' )
  13.                       4 Query       INSERT INTO logs
  14.       (host, facility, priority, level, tag, datetime, program, msg)
  15.       VALUES ( 'server', 'mail', 'info', 'info', '16', '2005-10-20 12:09:51',
  16.       'courierpop3login', 'courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.1], username=toto' )
  17.                       4 Query       INSERT INTO logs
  18.       (host, facility, priority, level, tag, datetime, program, msg)
  19.       VALUES ( 'server', 'mail', 'info', 'info', '16', '2005-10-20 12:09:51',
  20.       'courierpop3login', 'courierpop3login: LOGIN: DEBUG: ip=[:ffff:192.168.0.1], password=******' )
  21.                       4 Query       INSERT INTO logs
  22.       (host, facility, priority, level, tag, datetime, program, msg)
  23.       VALUES ( 'server', 'mail', 'debug', 'debug', '17', '2005-10-20 12:09:51',
  24.       'courierpop3login', 'courierpop3login: authdaemon: starting client module' )
  25.                       4 Query       INSERT INTO logs
  26.       (host, facility, priority, level, tag, datetime, program, msg)
  27.       VALUES ( 'server', 'mail', 'debug', 'debug', '17', '2005-10-20 12:09:51',
  28.       'courierpop3login', 'courierpop3login: authdaemon: TEMPFAIL - no more modules will be tried' )
  29. 051020 12:09:53       4 Query       INSERT INTO logs
  30.       (host, facility, priority, level, tag, datetime, program, msg)
  31.       VALUES ( 'server', 'syslog', 'notice', 'notice', '2d', '2005-10-20 12:09:53',
  32.       'syslog-ng', 'syslog-ng[494]: STATS: dropped 0' )
  33. 051020 12:09:56       4 Query       INSERT INTO logs
  34.       (host, facility, priority, level, tag, datetime, program, msg)
  35.       VALUES ( 'server', 'mail', 'err', 'err', '13', '2005-10-20 12:09:56',
  36.       'courierpop3login', 'courierpop3login: LOGIN FAILED, ip=[:ffff:192.168.0.1]' )


Message édité par sneakz le 20-10-2005 à 12:16:26
mood
Publicité
Posté le 20-10-2005 à 12:14:42  profilanswer
 

n°742733
syl94
Ni!
Posté le 20-10-2005 à 12:30:04  profilanswer
 

tes users sont de la forme toto ou toto@domain.tld ? si c'est sous la forme toto@domain.tld, alors le login doit etre de cette forme egalement. C'est du moins ce qu'attend la requete SQL :
 

Code :
  1. WHERE username = '$(local_part)@$(domain)'

n°742741
sneakz
Posté le 20-10-2005 à 13:07:57  profilanswer
 

Mes users sont sous la forme toto@mon.domaine.org.
 
# mysql -D postfix -upostfix -ppostfix -h127.0.0.1
mysql> select * from mailbox;
 

Code :
  1. +----------------------------+-----------+------+-----------------------------+-------+-----------------+---------------------+---------------------+--------+
  2. | username                   | password  | name | maildir                     | quota | domain          | created             | modified            | active |
  3. +----------------------------+-----------+------+-----------------------------+-------+-------------   -+---------------------+---------------------+--------+
  4. | toto@mon.domaine.org       | *****     |      | toto@mon.domaine.org/       |     0 | mon.domaine.org | 2005-10-17 14:38:26 | 2005-10-17 16:57:32 |      1 |
  5. +----------------------------+-----------+------+-----------------------------+-------+-----------------+---------------------+---------------------+--------+
  6. 2 rows in set (0.00 sec)


 
Avec user toto@mon.domaine.org, j'obtiens également un LOGIN FAILED
 
A noter que password dans Mysql est en clair.


Message édité par sneakz le 20-10-2005 à 13:09:55
n°742753
syl94
Ni!
Posté le 20-10-2005 à 14:10:37  profilanswer
 

si tu as bien desactivé le chroot dans le fichier master.cf de postfix, a priori il n'y a pas de raison que ca coince :/

n°742761
sneakz
Posté le 20-10-2005 à 14:48:50  profilanswer
 

Tout semble ok du côté du chroot non ?
 

Code :
  1. # ==========================================================================
  2. # service type  private unpriv  chroot  wakeup  maxproc command + args
  3. #               (yes)   (yes)   (yes)   (never) (100)
  4. # ==========================================================================
  5. smtp      inet  n       -       n       -       -       smtpd
  6. #submission inet n      -       -       -       -       smtpd
  7. #       -o smtpd_etrn_restrictions=reject
  8. #628      inet  n       -       -       -       -       qmqpd
  9. pickup    fifo  n       -       -       60      1       pickup
  10. cleanup   unix  n       -       -       -       0       cleanup
  11. qmgr      fifo  n       -       -       300     1       qmgr
  12. #qmgr     fifo  n       -       -       300     1       oqmgr
  13. rewrite   unix  -       -       -       -       -       trivial-rewrite
  14. bounce    unix  -       -       -       -       0       bounce
  15. defer     unix  -       -       -       -       0       bounce
  16. trace     unix  -       -       -       -       0       bounce
  17. verify    unix  -       -       -       -       1       verify
  18. flush     unix  n       -       -       1000?   0       flush
  19. proxymap  unix  -       -       n       -       -       proxymap
  20. smtp      unix  -       -       -       -       -       smtp
  21. relay     unix  -       -       -       -       -       smtp
  22. #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
  23. showq     unix  n       -       -       -       -       showq
  24. error     unix  -       -       -       -       -       error
  25. local     unix  -       n       n       -       -       local
  26. virtual   unix  -       n       n       -       -       virtual
  27. lmtp      unix  -       -       n       -       -       lmtp
  28. anvil     unix  -       -       n       -       1       anvil

n°742762
syl94
Ni!
Posté le 20-10-2005 à 14:49:55  profilanswer
 

l'ideal est de passer toutes les valeurs en n
 

Code :
  1. # ==========================================================================
  2. # service type  private unpriv  chroot  wakeup  maxproc command + args
  3. #               (yes)   (yes)   (yes)   (never) (50)
  4. # ==========================================================================
  5. smtp      inet  n       -       n       -       -       smtpd
  6. #628      inet  n       -       n       -       -       qmqpd
  7. pickup    fifo  n       -       n       60      1       pickup
  8. cleanup   unix  n       -       n       -       0       cleanup
  9. qmgr      fifo  n       -       n       300     1       qmgr
  10. #qmgr     fifo  n       -       n       300     1       nqmgr
  11. rewrite   unix  -       -       n       -       -       trivial-rewrite
  12. bounce    unix  -       -       n       -       0       bounce
  13. defer     unix  -       -       n       -       0       bounce
  14. flush     unix  n       -       n       1000?   0       flush
  15. smtp      unix  -       -       n       -       -       smtp
  16. showq     unix  n       -       n       -       -       showq
  17. error     unix  -       -       n       -       -       error
  18. local     unix  -       n       n       -       -       local
  19. virtual   unix  -       n       n       -       -       virtual
  20. lmtp      unix  -       -       n       -       -       lmtp
  21. lmtp-amavis unix        -       -       n       -       40      lmtp -o smtp_data_done_timeout=1200

n°742768
sneakz
Posté le 20-10-2005 à 15:11:17  profilanswer
 

Je suis dsl mais même avec l'ensemble des valeurs passés en n, cela ne marche pas.

n°742933
syl94
Ni!
Posté le 20-10-2005 à 21:43:25  profilanswer
 

bon bah désolé mais la comme ca ... je vois pas :/

n°743109
sneakz
Posté le 21-10-2005 à 13:20:07  profilanswer
 

merci syl94 pour ton aide.
Je reste coincé. J'ai posté sur http://forums.high5.net/ mais pas de réponse.

n°743523
sneakz
Posté le 22-10-2005 à 09:38:13  profilanswer
 

Tout fonctionne correctement. Les heures passées à solutionner le pb m'auront permis également de me plonger dans le fonctionnement des requêtes Mysql.
 
Après une modif du fichier de config de postfix (main.cf)
 

Code :
  1. #local_transport = virtual


 
J'ai commenté local_transport
 
Voici le fichier /etc/courier/authmysqlrc qui va bien
 

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. DEFAULT_DOMAIN          mon.domaine.org
  9. MYSQL_LOGIN_FIELD       username
  10. MYSQL_CLEAR_PWFIELD     password
  11. MYSQL_UID_FIELD         104
  12. MYSQL_GID_FIELD         104
  13. MYSQL_HOME_FIELD        '/usr/local/virtual'
  14. MYSQL_MAILDIR_FIELD     maildir
  15. MYSQL_NAME_FIELD        name


 
J'ai laissé les valeurs passées à n dans master.cf


Message édité par sneakz le 22-10-2005 à 09:41:19
n°749307
sneakz
Posté le 06-11-2005 à 15:13:42  profilanswer
 

A nouveau cela ne fonctionne pas.
 
J'ai voulu corriger un pb cf post :
http://forum.hardware.fr/hardwaref [...] 3216-1.htm
 
Voilà que je ne reçois plus d'email.
 
J'ai modifié main.cf :
 
transport_maps = hash:/etc/postfix/transport
 
J'ai édité le fichier  /etc/postfix/transport
 
J'ai créé la table :
postmap /etc/postfix/transport
 
J'ai rechargé la config :
 
/etc/init.d/postfix reload
 
Bon entre temps g installé clamav et amavis
 
De plus je reçois bien des messages en passant par mon serveur SMTP :
 
bibi@nomdedomaine.fr écrit à pseudo@monnomdedomaine.fr (hôte virtuel) via mon serveur SMTP.
pseudo@monnomdedomaine.fr reçoit bien le message de bibi@nomdedomaine.fr
 
Si bibi@nomdedomaine.fr utilise le serveur SMTP de son FAI, pseudo@monnomdedomaine.fr (hôte virtuel) ne reçoit pas de message.
 
Voilà que je ne reçois plus d'email. Je peux envoyé mais pas recevoir ..
 
 
HELP HELP HELP


Message édité par sneakz le 06-11-2005 à 16:37:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  Postfix ... beaucoup de choses m'échappent

 

Sujets relatifs
Postfix lmtp mailtransport : Mailbox unknownPostfix + mysql ... help
postfix & clamavProblème fetchmail/postfix/procmail
Procmail et Postfix[FC4] Postfix cyrus pam mysql ... pb d'authentification
[FC4] Recompiler Postfix avec support mysqlpostfix+cyrus-imap+ldap : problème autocreate
Postfix et les Blind CopySMTP (postfix) joignable mais ne reagi pas
Plus de sujets relatifs à : Postfix ... beaucoup de choses m'échappent


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR