[Résolu] Serveur Mail : Postfix/courier

Bonjour à tous,
j’essai depuis quelques jour de monter un serveur mail sur une debian Etch mais je rencontre pas mal de problème.
J’ai suivit ce tutoriel : olange.developpez.com/articles/d … age=page_6

J’arrive bien à m’identifier via un client mail ou via “authtest” :

[quote]Authenticated: olivier@mondom.com (uid 5000, gid 5000)
Home Directory: /home/vmail/
Maildir: mondom.com/olivier/
Quota: 0
Encrypted Password: monmdp_encrypté
Cleartext Password: monmdp
Options: (none)
[/quote]
Mais aucun mail n’est recu ni envoyé par postfix. De plus /home/vmail/ reste vide.
Dans Webmin j’ai pu voir que les mail que j’avais tenter d’envoyer via l a commande mail était dans une file d’attente (il ne sont donc pas perdu) mais comment les faire sortir de cette file d’attente ?

D’après mail.log il semblerai que postfix n’arrive pas à se connecter à la base de donnée :

[quote]Aug 8 17:25:14 ns351792 postfix/trivial-rewrite[15322]: warning: connect to mysql server 127.0.0.1: Can’t connect to MySQL server on ‘127.0.0.1’ (111)
Aug 8 17:25:14 ns351792 postfix/trivial-rewrite[15322]: fatal: mysql:/etc/postfix/mysql-virtual_aliases.cf(0,lock|fold_fix): table lookup problem
Aug 8 17:25:15 ns351792 postfix/smtpd[13376]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Aug 8 17:25:15 ns351792 postfix/smtpd[13376]: warning: problem talking to service rewrite: Success
Aug 8 17:25:15 ns351792 postfix/master[11199]: warning: process /usr/lib/postfix/trivial-rewrite pid 15322 exit status 1
Aug 8 17:25:15 ns351792 postfix/master[11199]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup – throttling
Aug 8 17:25:15 ns351792 postfix/cleanup[11643]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Aug 8 17:25:15 ns351792 postfix/cleanup[11643]: warning: problem talking to service rewrite: Connection reset by peer
[/quote]

Pourtant ma configuration à été vérifiée et re vérifiée :frowning:

Si vous avez besoin de plus de précision n’hésitez pas

Ci joint les mail en attente :

tu es sur de ne pas avoir fait d’erreur dans la creation de /etc/postfix/mysql-virtual_aliases.cf
(le nom par exemple) ou bien peut être un problême d’accés en lecture par postfix à ce fichier ?

Merci pour cette réponse rapide.

Il ne me semble pas y avoir d’erreur au niveau des droits :

[quote]-rw-r–r-- 1 root root 373 2007-08-07 21:16 dynamicmaps.cf
-rw-r–r-- 1 root root 1452 2007-08-08 17:27 main.cf
-rw-r–r-- 1 root root 3968 2007-08-06 15:57 master.cf
-rw-r–r-- 1 root postfix 172 2007-08-08 16:14 mysql-virtual_aliases.cf
-rw-r–r-- 1 root postfix 167 2007-08-08 16:13 mysql-virtual_aliases_mailbox.cf
-rw-r–r-- 1 root postfix 171 2007-08-08 16:15 mysql-virtual_domains.cf
-rw-r–r-- 1 root postfix 236 2007-08-08 16:14 mysql-virtual_mailboxes.cf
-rw-r–r-- 1 root postfix 129 2007-08-08 16:12 mysql-virtual_mailbox_limit_maps.cf
-rw-r–r-- 1 root root 17975 2007-03-21 12:17 postfix-files
-rwxr-xr-x 1 root root 6840 2007-03-21 12:17 postfix-script
-rwxr-xr-x 1 root root 22239 2007-03-21 12:17 post-install
drwxr-xr-x 2 root root 4096 2007-03-21 12:17 sasl
[/quote]

salut
faudrait voir toute la conf:

postconf -n
le contenu des fichiers de lookup mysql
le contenu des tables sql liés
la conf de courier

est ce que ton sql ecoute bien en tcp ?

Voici pour le postconf :

append_dot_mydomain = no best_mx_transport = virtual biff = no config_directory = /etc/postfix disable_vrfy_command = yes inet_interfaces = all mydestination = ns351792.ovh.net, localhost, localhost.localdomain mydomain = ns351792.ovh.net myhostname = ns351792.ovh.net mynetworks = 127.0.0.0/8 mon.ip.serveur.xxx relayhost = smtpd_client_restrictions = reject_unknown_client, permit_mynetworks smtpd_helo_required = yes smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_non_fqdn_recipient smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain, warn_if_reject reject_unverified_sender virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf, mysql:/etc/postfix/mysql-virtual_aliases_mailbox.cf virtual_gid_maps = static:5000 virtual_mailbox_base = /home/vmail/ virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_uid_maps = static:5000

Les fichiers lookup mysql , quels sont ils ?

Pour les tables mysql :

[code]CREATE TABLE alias (
source varchar(255) NOT NULL default ‘’,
destination text NOT NULL,
actif tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY (source)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=‘Postfix Admin - Alias Virtuels’;



– Structure de la table domain

CREATE TABLE domain (
domain varchar(255) NOT NULL default ‘’,
actif tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY (domain)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=‘Postfix Admin - Domaines Virtuels’;


– Contenu de la table domain

INSERT INTO domain (domain, actif) VALUES
(‘widnews.com’, 1);



– Structure de la table mailbox

CREATE TABLE mailbox (
email varchar(255) NOT NULL default ‘’,
password varchar(255) NOT NULL default ‘’,
quota int(10) NOT NULL default ‘0’,
actif tinyint(1) NOT NULL default ‘1’,
imap tinyint(1) NOT NULL default ‘1’,
pop3 tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY (email)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=‘Postfix Admin - Boites Emails Virtuelles’;


– Contenu de la table mailbox

INSERT INTO mailbox (email, password, quota, actif, imap, pop3) VALUES
(‘olivier@widnews.com’, ‘0YCzrVbKWrOdc’, 0, 1, 1, 1);[/code]

Pour la config de courier c’est texto ce qui se trouve ici : olange.developpez.com/articles/d … ge_6#LVI-E

Mis à part la ligne MYSQL_HOME_FIELD “/var/spool/vmail/” qui est devenu MYSQL_HOME_FIELD “/home/vmail/”

les fichiers de lookup sql:

/etc/postfix/mysql-virtual_aliases.cf
/etc/postfix/mysql-virtual_aliases_mailbox.cf
/etc/postfix/mysql-virtual_domains.cf
/etc/postfix/mysql-virtual_mailboxes.cf

mais donc tu dois avoir mis les memes que dans le tuto en question.

et mysql ? il ecoute bien sur le 127.0.0.1 ?

Oui en effet les fichiers lookup sont les même que le tuto.

Pour la commande netstat voici le retour :

[quote]tcp 0 0 91.121.71.118:3306 0.0.0.0:* LISTEN 4513/mysqld
[/quote]

Dans my.cnf j’ai bien la ligne bind-adress 127.0.0.1

montre quand meme ton fichier /etc/postfix/mysql-virtual_aliases.cf

fais egalement un
ls -la /etc/postfix

Voici pour le fichier mysql-virtual_aliases.cf :

hosts = 127.0.0.1 user = postfix password = ******* dbname = postfix select_field = destination table = alias where_field = source additional_conditions = AND actif='1'

et pour le ls :

[quote]drwxr-xr-x 3 root root 4096 2007-08-08 17:27 .
drwxr-xr-x 82 root root 4096 2007-08-08 16:36 …
-rw-r–r-- 1 root root 373 2007-08-07 21:16 dynamicmaps.cf
-rw-r–r-- 1 root root 1452 2007-08-08 17:27 main.cf
-rw-r–r-- 1 root root 3968 2007-08-06 15:57 master.cf
-rw-r–r-- 1 root postfix 172 2007-08-08 16:14 mysql-virtual_aliases.cf
-rw-r–r-- 1 root postfix 167 2007-08-08 16:13 mysql-virtual_aliases_mailbox.cf
-rw-r–r-- 1 root postfix 171 2007-08-08 16:15 mysql-virtual_domains.cf
-rw-r–r-- 1 root postfix 236 2007-08-08 16:14 mysql-virtual_mailboxes.cf
-rw-r–r-- 1 root postfix 129 2007-08-08 16:12 mysql-virtual_mailbox_limit_maps.cf
-rw-r–r-- 1 root root 17975 2007-03-21 12:17 postfix-files
-rwxr-xr-x 1 root root 6840 2007-03-21 12:17 postfix-script
-rwxr-xr-x 1 root root 22239 2007-03-21 12:17 post-install
drwxr-xr-x 2 root root 4096 2007-03-21 12:17 sasl
[/quote]


tu as 2 lookup ici, ce qui est un peu bancal.

mais bon 

fais voir alors le /etc/postfix/mysql-virtual_aliases_mailbox.cf



et puis tes fichiers de lookup ne sont pas securisés (droit en lecture pour tt le monde)

tu as 2 lookup ici, ce qui est un peu bancal.

mais bon

fais voir alors le /etc/postfix/mysql-virtual_aliases_mailbox.cf

et puis tes fichiers de lookup ne sont pas securisés (droit en lecture pour tt le monde)

Ok , merci de la précision pour les droits, je change ca de suite.

Voici pour l’autre fichier :

hosts = 127.0.0.1 user = postfix password = ******** dbname = postfix select_field = email table = mailbox where_field = email additional_conditions = AND actif='1'

fais voir ton master.cf

essaie de te connecter a la base en ligne de commande avec les memes credentials que dans tes fichiers de lookup:

et le password le meme que dans les fichiers de lookup.

La connexion marche bien. J’ai fait quelques requetes et tout semble correcte.

–edit –
Pour le master.cf :

[code]#

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
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}

[/code][/quote]

fais quand meme un postconf -m pour etre sur mais bon.

ensuite essaye de faire une requete:

Le postconf -m me donne :

[quote]btree
cidr
environ
hash
mysql
nis
proxy
regexp
sdbm
static
tcp
unix
[/quote]

Et le postmap la même erreur que dans les logs c’est à dire :

[quote]postmap: warning: connect to mysql server 127.0.0.1: Can’t connect to MySQL server on ‘127.0.0.1’ (111)
[/quote]

Edit–
Je viens d essayere de changer 127.0.0.1 par localhost dans myql-virtual_aliases.cf et pas d’erreur avec le postconf cette fois ci

j’aurais du commencer par te demander le master.cf :wink:

ajoute au main.cf:

et tu modifies les lookup sql comme ceci:

virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_aliases.cf, proxy:mysql:/etc/postfix/mysql-virtual_aliases_mailbox.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf

tu recharges postfix

puis tu retestes avec

La commande postmap ne retourne plus d’erreur mais j’ai ceci dans les log :

[quote]Aug 9 14:18:00 ns351792 postfix/master[5871]: fatal: /etc/postfix/master.cf: line 76: bad transport type: =
[/quote]

et effectivmeent mettre localhost c’est mieux (j’aurai vraiment du commencer par tout ca :frowning: )

tu as changé un truc dans master.cf ?