Problème de configuration Postfix

Oui ça fonctionne bien :

[code]korri@ks360526:~$ mysql -u postfix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3385
Server version: 5.0.51a-24 (Debian)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use postfix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM mailbox;
±-----------------------±--------------±------------±------±------±-----±-----+
| email | password | name | quota | actif | imap | pop3 |
±-----------------------±--------------±------------±------±------±-----±-----+
| webmaster@korri.fr | dvrcdst6WykuQ | | 0 | 1 | 1 | 1 |
| webmaster@belvisijc.fr | zvV6dUfhds086 | | 0 | 1 | 1 | 1 |
| admin@korri.fr | qhlchIh8/4ygt | Hugo Vacher | 0 | 1 | 1 | 1 |
±-----------------------±--------------±------------±------±------±-----±-----+
3 rows in set (0.00 sec)
[/code]

ça vien d’ou ? :’(

2 minutes lol.

Ok,
Une fois dans la DB postfix, fais un show tables - bien sûr en tant qu’utilisateur mysql postfix. Autant tout vérifier, tant qu’on y est.

Ensuite, montre nous les droits de l’utilisateur postfix :
dev.mysql.com/doc/refman/5.0/fr/privileges.html

SHOW GRANTS FOR ‘postfix’@‘localhost’ ;

(n’étant pas un spé de mysql, je suppose que c’est la bonne commande).

Voila :

[code]root@ks360526:/home/korri#mysql -u postfix -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3516
Server version: 5.0.51a-24 (Debian)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> use postfix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
±------------------+
| Tables_in_postfix |
±------------------+
| alias |
| domain |
| mailbox |
±------------------+
3 rows in set (0.00 sec)

mysql> show grants for ‘postfix’@’%’;
±-------------------------------------------------------------------------------------------------------+
| Grants for postfix@% |
±-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON . TO ‘postfix’@’%’ IDENTIFIED BY PASSWORD ‘DD613EDEKDGF898235E37C1725F123DQ591FF7EB’ |
| GRANT SELECT ON postfix.
TO ‘postfix’@’%’ |
±-------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
[/code]

Des pistes ?

Aucunne piste ??

Hello

Pardon Korri…
non, pour l’instant aucune piste, mais je n’ai pas du tout eu le temps de m’y repencher, ces derniers jours.

Je vais essayer de voir ça.

Juste un truc que j’ai oublié de te demander (je crois). Le contenu de tes tables? Il est conforme à ce qu’il devrait y avoir? la liste des utilisateurs postfix, ce genre de choses…

Oui les données doivent êtres conforme, voila ce que ça donne :

mysql> SELECT * FROM alias;
+--------+----------------+-------+
| source | destination    | actif |
+--------+----------------+-------+
| admin  | admin@korri.fr |     1 |
+--------+----------------+-------+
1 row in set (0.00 sec)

mysql> SELECT * FROM domain;
+--------------+-------+
| domain       | actif |
+--------------+-------+
| korri.fr     |     1 |
| belvisijc.fr |     1 |
+--------------+-------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM mailbox;
+------------------------+---------------+-------------+-------+-------+------+------+
| email                  | password      | name        | quota | actif | imap | pop3 |
+------------------------+---------------+-------------+-------+-------+------+------+
| webmaster@korri.fr     | dvrcDM86WykuQ |             |     0 |     1 |    1 |    1 |
| webmaster@belvisijc.fr | zvV6REyiSaIo6 |             |     0 |     1 |    1 |    1 |
| admin@korri.fr         | qh/23298/4ytk | Hugo Vacher |     0 |     1 |    1 |    1 |
+------------------------+---------------+-------------+-------+-------+------+------+
3 rows in set (0.00 sec)

Voila, merci pour ton aide !

Ok, refaisons le point - c’est devenu le bordel… lol.

Ton MX est configuré.
caubin@man0:~$ dig korri.fr MX +short
10 mail.korri.fr.
caubin@man0:~$ host mail.korri.fr
mail.korri.fr has address 91.121.163.164

On peut atteindre ta machine et le service est up :
caubin@man0:~$ telnet korri.fr 25
Trying 91.121.163.164…
Connected to korri.fr.

Ton host indique ton domaine :
91.121.163.164 korri.fr
(à ce stade, pour tester en local, ce n’est pas obligatoire, mais… c’est toujours ça de fait)

Un mail envoyé localement ne renvoie pas d’erreur :
mail from:admin@korri.fr
250 2.1.0 Ok
rcpt to:admin@korri.fr
250 2.1.5 Ok

Déjà je tiens à ce que nous soyons certains que tu n’as rien reçu.
Un mail -u ne t’a rien donné. Ok.
Maintenant vas dans :
/var/mail
Tu nous fais

  • un ls -l

Et un :

  • cat * | grep -Ei “admin|Petit mail de test”
    (normalement, tu dois bien avoir un admin? Ces fichiers contiennent l’ensemble des mails reçus)
    C’est histoire d’être sûr.

En ce qui concerne les DB, à présent.
Les tales alias domain et mailbox existe. ok.
Les users sont sont configurés, très bien.
Tu peux t’y connecter en tant que postfix. Parfait.
Les informations que tu me donnes ont l’air propres mais… je n’ai pas l’expérieunce de l’installation de postix/mysql. Aussi, pourrais-tu me donner le ou les sites que tu as utilisé pour ta configuration? Que nous ayons au moins les mêmes références?

Petit ls :

root@ks360526:/var/mail#ls -l total 2552 -rw------- 1 korri mail 0 mar 19 09:57 korri -rw------- 1 smmsp mail 2605456 mar 27 11:20 smmsp
petit cat :

root@ks360526:/var/mail#cat * | grep -Ei "admin|Petit mail de test" root@ks360526:/var/mail#

Mais, quand on envoi un mail, on reçois une réponse stipulant clairement que le mail n’a pas été remis…
(tu peut essayer depuis ta boite)

Comme je lai dit plus haut j’ai utilisé le tutoriel de developpezcom : Lien du tutoriel

Merci beaucoup pour ton investissement dans la résolution de mes problèmes :slightly_smiling: (wahouu quel phrase !)

[quote=“Korri”]Petit ls :

root@ks360526:/var/mail#ls -l total 2552 -rw------- 1 korri mail 0 mar 19 09:57 korri -rw------- 1 smmsp mail 2605456 mar 27 11:20 smmsp
petit cat :

root@ks360526:/var/mail#cat * | grep -Ei "admin|Petit mail de test" root@ks360526:/var/mail#

Mais, quand on envoi un mail, on reçois une réponse stipulant clairement que le mail n’a pas été remis…
(tu peut essayer depuis ta boite)

Comme je lai dit plus haut j’ai utilisé le tutoriel de developpezcom : Lien du tutoriel

Merci beaucoup pour ton investissement dans la résolution de mes problèmes :slightly_smiling: (wahouu quel phrase !)[/quote]

Ouaip, avoue : tu l’as copié/collé quelque part, hein? lol.
Bon je continue de mater, mais y a un truc qui m’étonne (raison pour laquelle je t’ai demandé de faire un ls -l…

Dans mon cas, j’ai la liste des fichiers ayant pour nom la liste des utilisateurs :
Monstre:/var/mail# ls -l | grep postfix
-rw-rw---- 1 postfix mail 1018 nov 12 15:46 postfix

Comme tu le vois, il y a un droit d’écriture sur le groupe, que tu n’as pas (selon ta configuration, cela n’a peut-être pas d’importance… mais si l’utilisateur qui agit est “postfix”, par exemple, il a intéret à soit être proprio, ce qu’il n’est pas, soit être dans le groupe et avoir le droit de lecture/ecriture, ce qui n’est pas le cas…). De plus, je ne vois pas d’utilisateur “admin”.

Tu peux vérifier ça, stp ?
:slightly_smiling:

Bonjour,

Mon dossier est plutôt dans /var/spool/vmail/ (cf config plus haut).

Bon j’ai testé, mis les deux dossier /var/mail/ et /var/spool/vmail/ en proprio postfix groupe postfix

Et toujours la même erreur lors de l’envoi d’un mail :

[code]This is the mail system at host mail.korri.fr.

I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

              The mail system

admin@korri.fr: unknown user: “admin”

Final-Recipient: rfc822; XXXXX@korri.fr
Original-Recipient: rfc822;XXXXX@korri.fr
Action: failed
Status: 5.1.1
Diagnostic-Code: X-Postfix; unknown user: “admin”

---------- Message transféré ----------
From: Hugo Vacher _______@gmail.com
To: admin@korri.fr
Date: Fri, 27 Mar 2009 16:08:51 +0100
Subject: tredh
TEST[/code]

J’ai remplacé admin par XXXXX pour eviter le spam :wink:

Voile, encore merci de ton aide :slightly_smiling:

Des idées ?

Ok, j’ai été un peu flou.

Tu as vérifié les droits et c’est ok.
D’ailleurs, je t’ai dit une bétise : tu es en rw. Donc en read/write pour le propriétaire postfix.

Bien ouej, moi-même… lol.

Et en plus, j’en ai oublié un bout:

Tu as :
root@ks360526:/var/mail#ls -l
total 2552
-rw------- 1 korri mail 0 mar 19 09:57 korri
-rw------- 1 smmsp mail 2605456 mar 27 11:20 smmsp

Mais tu devrais avoir un autre fichier “admin”, pour l’utilisateur du même nom. Il me semble, du moins… Ou alors, ton idée est de tout rediriger tes mails vers “Korri”? Dans ce cas, où l’as-tu indiqué dans ta configuration? (là j’essaie juste de capter ta config). Peux-être… existe-t-il dans /var/spool/mail? Dans mon cas, par exemple, j’ai la même chose dans /var/mail et /var/spool/mail… ce qui est normal puisque /var/spool/mail est la file d’attente (pense “spooler”, en impression… même principe) et “/var/mail” est un lien symbolique de “/var/spool/mail/”.

Regarde :
sh-3.2# ls -la /var | grep mail
drwxrwsr-x 2 root mail 4096 mar 16 22:35 mail
sh-3.2# ls -la /var/spool | grep mail
lrwxrwxrwx 1 root root 7 aoû 11 2008 mail -> …/mail
sh-3.2#

Sans “récipient”, sans file d’attente adéquate, les mails se seront pas dispatchés dans les BAL (il me semble…).

Merci pour le tuto, je vais le mater tout à l’heure.

En fait celon les dires du gars du tuto, les dossiers sont créés lors de la reception du premier mail, comme l’indique la conf mysql normalement le chemin est domaine/user (donc korri.fr/admin) (ici : “CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)”)

Mais celons moi le problème vien plutôt du fait qu’il ne trouve pas l’user admin, (peut-être ai-je oublié une partie de la config, qui dit a postfix d’utiliser les users virtuels et pas ceux de la debian…

Voila, je te laisser jeter un coup d’oeuil au tuto !

Bonne soirée

Merci encore pour ton aide.

A priori, mes mails devraient arriver dans /var/spool/vmail/korri.fr/admin ou /var/mail/korri.fr/admin

Mais le problème celons moi viens du fait que postfix cherche parmi les utilisateurs unix et pas les utilisateurs virtuels.

La clef est sûrement dans le tutoriel, mais je ne comprend pas assez le fonctionnement pour trouver (j’ai vérifié plusieurs fois les valeurs du tutoriel sans trouver d’erreurs).

Bon Week End !

Bonjour Korri, je te confirme que postfix essaie de livrer les mails sur les comptes unix au lieu d’utiliser les Virtual Users.

Est-ce que tu as redémarré postfix après ta configuration ?
Que répond la commande postfix check ?

As tu bien un user et un groupe vmail dont l’id est 5000 ?
As-tu vérifié les noms et les droits sur les fichiers de conf ? (une faute de frappe et c’est le drame)

j’ai bien cette ligne dans mon htpasswd : vmail:x:5000:5000::/var/spool/vmail/:/bin/sh

Quelques résultats, postfix check ne donne rien : root@ks360526:/etc/postfix#/etc/init.d/postfix restart Stopping Postfix Mail Transport Agent: postfix. Starting Postfix Mail Transport Agent: postfix. root@ks360526:/etc/postfix#postfix check root@ks360526:/etc/postfix#

un petit ls -l dans le dossier postfix :

root@ks360526:/etc/postfix#ls -l total 88 -rw-r--r-- 1 root postfix 373 fév 8 15:50 dynamicmaps.cf -rw-r--r-- 1 root postfix 1459 mar 8 11:25 main.cf -rw-r--r-- 1 root postfix 4030 mar 12 10:52 master.cf -rw-r----- 1 root postfix 178 mar 8 10:04 mysql-virtual_aliases.cf -rw-r----- 1 root postfix 173 fév 8 17:49 mysql-virtual_aliases_mailbox.cf -rw-r----- 1 root postfix 177 fév 8 17:52 mysql-virtual_domains.cf -rw-r----- 1 root postfix 242 fév 8 17:51 mysql-virtual_mailboxes.cf -rw-r----- 1 root postfix 135 fév 8 17:48 mysql-virtual_mailbox_limit_maps.cf -rw-r--r-- 1 root postfix 18231 sep 14 2008 postfix-files -rwxr-xr-x 1 root postfix 7421 sep 14 2008 postfix-script -rwxr-xr-x 1 root postfix 22774 sep 14 2008 post-install drwxr-xr-x 2 root postfix 4096 aoû 19 2008 sasl

voila, j’ai vraiment aucune idée…

J’ai la sensation qu’il manque des lignes dans ton fichier /etc/postfix/main.cf, peut-être que le tutoriel comporte des erreurs.
J’ai appliqué une méthode qui fonctionne sur 3 serveurs, voici le lien :
doc.ubuntu-fr.org/serveur/postfix_mysql_tls_sasl

Et voici mon fichier main.cf (enfin l’extrait qui concerne le transport virtuel) :

# Support Mysql
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 5000
virtual_transport = virtual
virtual_uid_maps = static:5000
# Support du quota
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Desole, la boite email de l'utilisateur est pleine, essayez plus tard.
virtual_overquota_bounce = yes

Je vais relire la doc de Postfix mais ajoute au moins la ligne virtual_transport.

J’ai ajouté a ligne, et relancé postfix, mais toujours rien de plus…

hmmm et tu as des infos dans les logs quand tu redémarres postfix ?

Pour info montre ton master.cf tant qu’on y est…

Master.cf :

[code]root@ks360526:/home/korri#cat /etc/postfix/master.cf

Postfix master process configuration file. For details on the format

of the file, see the master(5) manual page (command: “man 5 master”).

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

service type private unpriv chroot wakeup maxproc command + args

(yes) (yes) (yes) (never) (100)

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

smtp inet n - - - - smtpd
#submission inet n - - - - smtpd

-o smtpd_enforce_tls=yes

-o smtpd_sasl_auth_enable=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

#smtps inet n - - - - smtpd

-o smtpd_tls_wrappermode=yes

-o smtpd_sasl_auth_enable=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo 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
smtp unix - - - - - smtp

When relaying mail as backup MX, disable fallback_relay to avoid MX loops

relay unix - - - - - smtp
-o fallback_relay=

-o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - - - - showq
error 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}

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}

retry unix - - - - - error
[/code]

Pour le log c’est lekel ? (j’ai testé /var/log/mail.info , mais depuis que je l’ai vidé il n’y a plus rien dedan).

Dans le mail.warn j’ai :

Mar 29 01:20:02 ks360526 postfix/trivial-rewrite[8888]: warning: do not list domain korri.fr in BOTH mydestination and virtual_mailbox_domains
Mar 29 01:20:02 ks360526 postfix/local[8898]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Mar 29 01:20:02 ks360526 postfix/trivial-rewrite[8888]: warning: do not list domain korri.fr in BOTH mydestination and virtual_mailbox_domains
Mar 29 01:20:02 ks360526 postfix/trivial-rewrite[8888]: warning: do not list domain korri.fr in BOTH mydestination and virtual_mailbox_domains

Les erreurs sont envoyées (entre autres) dans /var/log/mail.err, /var/log/syslog

S’il n’y a pas d’erreur, essaie de recommencer avec le tutoriel que j’ai posté.
J’ai relu le man de postfix, pas d’erreur grossière qui me saute aux yeux pour l’instant.