Postfix, Mysql , PostfixAdmin , Courier-Imap ,SASL,TLS sur une Debian Sarge
Voila ce tutoriel a pour but de décrire de manière simplifié l’installation de postfix dans le cadre d’une debian sarge , avec un support mysql. il sera également question d’y introduire le support TLS . Il fait appel également a un certain nombre d’autres tutoriels fort utiles. Tous les commentaires sont bienvenues, Vous pouvez également utiliser jabber pour me contacter ( mikala@jabber.littleboboy.net)
Edit du 24/04/2005
Ajout d’une section Amavisd-new
Edit du 4/05/2005
Ajout d’une section sur SASL
Edit du 28/05/2005
Mise a jour de la section SASL ( ajout de saslauthd)
Edit du 21/08/2005
Mise a jour de la section TLS ( ajout d’une ligne concernant smtps afin de faire fonctionner thunderbird sous Windows …)
Postfix sous debian sarge est composé de plusieurs paquets:
- postfix - A high-performance mail transport agent
- postfix-doc - Postfix documentation
- postfix-ldap - LDAP map support for Postfix
- postfix-mysql - MYSQL map support for Postfix
- postfix-pcre - PCRE map support for Po
stfix - postfix-tls - TLS and SASL support for Postfix
La version actuelle de postfix est :
apt-show-versions postfix postfix/testing uptodate 2.1.5-9
Afin de gérer plus facilement les comptes mails de mon domaine ( et des domaines hébergés ) j’ai choisi d’utiliser PostfixAdmin (la version 2.05 accessible sur mon ftp si besoin) et je me suis donc basé sur leur tutoriel.Les mails seront stockés au format Maildir[1]
Je pars donc du principe que le serveur web Apache et le serveur Mysql sont correctement installés et fonctionnent sans problème.
Postfix
-) On installe les paquets dans un premier temps
aptitude install postfix postfix-pcre .
-) Configuration
Configurer postfix revient a modifier essentiellement deux fichiers dans /etc/postfix :
- /etc/postfix/main.cf
- /etc/postfix/master.cf
Classiquement il n’y a pas grand chose a modifier au niveau du master.cf
Tout au plus il faut s’assurer dans un premier temps que rien n’est chrooté exemple :
==========================================================================
service type private unpriv chroot wakeup maxproc command + args
(yes) (yes) (yes) (never) (50)
==========================================================================
smtp inet n - n - 10 smtpd
Pourquoi ce problème de chroot ? en fait il peut s’avérer un souci au niveau de la communication avec le serveur mysql . si on décide de garder le chroot ( il est actif par défaut sous debian ) alors il convient de faire appel au daemon proxy de postfix[2]
En ce qui concerne le main.cf on peut s’interresser a un certain nombre de variables : myhostname <– on y précise le ‘nom’ du serveur . (classiquement sauf si on modifie la variable smtpd_banner c’est le nom que l’on verra au niveau du ehlo . Plus précisement ayant choisi d’utiliser mysql , il faut renseigner ces variables : virtual_alias_maps,virtual_gid_maps,virtual_mailbox_base,virtual_mailbox_domains, virtual_mailbox_maps,virtual_minimum_uid,virtual_uid_maps .
Dans mon cas c’est ainsi :
virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf virtual_gid_maps = static:1029 virtual_mailbox_base = /data/virtual virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf virtual_mailbox_limit = 51200000 virtual_minimum_uid = 1029 virtual_transport = virtual virtual_uid_maps = static:1029
j’ai rangé tous les fichiers de configuration dans un repertoire a part (histoire d’y voir plus clair
) chaque fichier mysql_virtual contient les informations permettant a postfix de savoir quel serveur,base de données, tables, champ qu’il lui faudra interroger.
de mème je range tous mes mails dans le répertoire /data/virtual , celui ci appartient a l’utilisateur ‘vmail’ qui possède les uid/gid 1029 (ce qui coulait de source en lisant la configuration)
Le MDA (Mail Distributed Agent) choisi est maildrop dans mon cas [3].
Vous pouvez trouver le contenu de chaque fichier en suivant les liens , Il faut bien sur penser a ‘postmaper’ les fichiers ( postmap[4] mysql_virtual_alias_maps.cf par exemple )
Mysql
En créant ainsi les fichiers de configuration on peut avoir un postfix capable d’interroger une base mysql.
Il faudrait quand mème créer cette base et ces tables …
A ce niveau il faut suivre le tutorial de high5.net .
pour faire simple il faut Créer la table et l’utilisateur de celle ci :
USE mysql; INSERT INTO user (Host, User, Password) VALUES ('localhost','postfix',password('postfix')); INSERT INTO db (Host, Db, User, Select_priv) VALUES ('localhost','postfix','postfix','Y'); FLUSH PRIVILEGES; GRANT USAGE ON postfix.* TO postfix@localhost; GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfix@localhost; CREATE DATABASE postfix;
on crée les tables correspondantes aux données renseignés plus haut :
USE postfix; CREATE TABLE alias ( address varchar(255) NOT NULL default '', goto text NOT NULL, domain varchar(255) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', modified datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '1', PRIMARY KEY (address), KEY address (address) ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Aliases';
USE postfix; CREATE TABLE domain ( domain varchar(255) NOT NULL default '', description varchar(255) NOT NULL default '', aliases int(10) NOT NULL default '0', mailboxes int(10) NOT NULL default '0', maxquota int(10) NOT NULL default '0', transport varchar(255) default NULL, backupmx tinyint(1) NOT NULL default '0', created datetime NOT NULL default '0000-00-00 00:00:00', modified datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '1', PRIMARY KEY (domain), KEY domain (domain) ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Domains';
USE postfix; CREATE TABLE mailbox ( username varchar(255) NOT NULL default '', password varchar(255) NOT NULL default '', name varchar(255) NOT NULL default '', maildir varchar(255) NOT NULL default '', quota int(10) NOT NULL default '0', domain varchar(255) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', modified datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '1', PRIMARY KEY (username), KEY username (username) ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Mailboxes';
PostfixAdmin
Une fois ceci fait il ne vous reste plus qu’a installer PostfixAdmin en suivant le guide d’installation .
Concrètement c’est simple , vous récupérez le fichier qui va bien ici[5] ou là (sur mon ftp )
Vous décompressez cette version dans le bon repertoire ( tar xzf postfixadmin-2.0.5.tgz ) et il ne reste plus qu’a configurer le fichier config.inc et créer l’utilisateur mysql et les bases manquantes :
USE mysql; INSERT INTO user (Host, User, Password) VALUES ('localhost','postfixadmin',password('postfixadmin')); INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv) VALUES ('localhost', 'postfix', 'postfixadmin', 'Y', 'Y', 'Y', 'Y'); FLUSH PRIVILEGES; GRANT USAGE ON postfix.* TO postfixadmin@localhost; GRANT SELECT, INSERT, DELETE, UPDATE ON postfix.* TO postfixadmin@localhost;
USE postfix; CREATE TABLE admin ( username varchar(255) NOT NULL default '', password varchar(255) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', modified datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '1', PRIMARY KEY (username), KEY username (username) ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Admins';
CREATE TABLE log ( timestamp datetime NOT NULL default '0000-00-00 00:00:00', username varchar(255) NOT NULL default '', domain varchar(255) NOT NULL default '', action varchar(255) NOT NULL default '', data varchar(255) NOT NULL default '', KEY timestamp (timestamp) ) TYPE=MyISAM COMMENT='Postfix Admin - Log';
CREATE TABLE vacation ( email varchar(255) NOT NULL default '', subject varchar(255) NOT NULL default '', body text NOT NULL, cache text NOT NULL, domain varchar(255) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '1', PRIMARY KEY (email), KEY email (email) ) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Vacation';
Au niveau du config.inc pas grand chose de particulier en fait si ce n’est que j’aime bien avoir ceci :
$CONF‘domain_path’ = ‘YES’; // If you don’t want to have the domain in your mailbox set this to ‘NO’. // Example: /usr/local/virtual/domain.tld/username $CONF‘domain_in_mailbox’ = ‘YES’;
Le tour est normalement joué
Courier.
Bon c’est pas tout cela mais il faudrait quand mème pouvoir consulter ses mails …
C’est là qu’intervient courier-imap .
il peut fonctionner tant en imap qu’en pop , il suffit d’installer ce que l’on désire . Le plus simple est donc un :
aptitude install courier-pop courier-authmysql courier-imap courier-authdaemon
ceci étant fait la configuration se déroule dans /etc/courier/
Dans le fichier /etc/courier/authdaemonrc il faut s’assurer que l’auth mysql est prise en compte :
authmodulelist="authpam authmysql"
Au niveau du fichier /etc/courier/authmysqlrc ,nous allons pouvoir configurer le nécessaire pour que courier puisse trouver les informations nécessaires à l’acces aux mails.
Il n’y normalement rien a changer pour les fichiers /etc/courier/imapd , /etc/courier/pop3d.
Pour mémoire le login par pop/imap est du style loginutilisateur@domainevirtuel.tld , et non pas juste loginutilisateur.
SASL
On va détailler ici une authentification basé sur mysql . Il faut noter que la version des libsasl2-mysql ne permet pas de lire directement le pass si celui est crypté ( crypt() de mysql ) , par conséquent cela impose d’avoir les pass en clair dans la base de donnée , ou tout du moins d’un champ donné)
apt-show-versions libsasl2-modules-sql libsasl2-modules-sql/testing uptodate 2.1.19-1.5
On va donc procéder a l’installation des lib qui vont bien
aptitude install libsasl2 libsasl2-modules-sql
ensuite dans le répertoire /etc/postfix on va créer un répertoire /etc/postfix/sasl dans lequel on y glissera un fichier smtpd.conf contenant :
pwcheck_method: auxprop auxprop_plugin: sql sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: postfix sql_passwd: **** sql_database: postfix sql_select: select password from mailbox where username='%u@%r'
Il faut bien sur passer par une étape de configuration du main.cf
Sasl Auth
smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = no smtpd_tls_auth_only = yes
le dernier paramètre précise d’autoriser l’auth sasl uniquement après que le tls soit activé . Il est aussi possible d’utiliser une auth sasl basé sur le daemon saslauthd .
Le fait d’utiliser saslauthd permet notamment d’interroger les bases cryptés ( bien sur cela impose un daemon supplémentaire sur la machine ) tout d’abord il faut installer saslauthd ainsi que le plugin pam qui va bien ™ :
aptitude install sasl2-bin libpam-mysql
au niveau du fichier de configuration /etc/postfix/sasl/smtpd.conf [6] quelques changements interviennent le fichier devenant :
pwcheck_method: saslauthd mech_list: plain login
Ceci fait il faut configurer saslauthd. tout d’abord dans le fichier /etc/default/saslauthd on s’assure qu’il se lancera automatiquement , il faut donc décommenter la ligne
# START=yes
en suite il faut rajouter une ligne
PARAMS="-r"
cf les archives de postfix. au niveau du répertoire /etc/pam.d/ on crée un fichier smtp contenant les lignes :
auth sufficient pam_mysql.so host=127.0.0.1 db=postfix user=postfix passwd=secret table=mailbox usercolumn=username passwdcolumn=password crypt=y account required pam_mysql.so host=127.0.0.1 db=postfix user=postfix passwd=secret table=mailbox usercolumn=username passwdcolumn=password crypt=y
Il suffit ensuite de lancer saslauthd[7]
TLS
Le TLS permet de bénéficier d’une connexion sécurisée type ’ssl’ ( en fait c’est du ssl mais passons … )
En quoi est ce utile ? . Ce l’est dans le cadre d’une authentification SASL[8]
De mème elle peut permettre la communication entre serveurs smtp de manière sécurisé (bon ok il n’y a aucun interet pour l’heure mais bon , c’est possible ).
Pour apporter le support TLS a postfix c’est simple :
aptitude install postfix-tls .
Il faut ensuite générer les certificats ssl , en ce qui me concerne je fais appel a CAcert .
il faut dans un premier temps générer sa clé (penser a ne pas perdre son pass
) :
openssl genrsa -des3 -out server.key 1024
ensuite il faut générer la demande de signature de certificat :
openssl req -new -key server.key -out server.csr
C’est cette demande que l’on fournira à CAcert, on récupéra ainsi un certificat signé. Il faut dès lors renseigner les sens nécessaires au niveau de postfix
En ce qui concerne la partie main.cf , ce sont les variables smtpd_tls …
ainsi on rajoutera dans son main.cf ceci :
smtpd_use_tls = yes smtpd_tls_key_file = /etc/postfix/certificats/parmenion.key smtpd_tls_cert_file = /etc/postfix/certificats/parmenion.crt smtpd_tls_CAfile = /etc/postfix/certificats/cacert.crt
parmenion.key étant notre clé privée , parmenion.crt étant le certificat signé fourni par CAcert .
Ah oui il peut etre utile d’enlever le pass de la clé privé ( sinon il peut y avoir quelque souci au démarrage de postfix …. )
openssl rsa -in secret.key -out secret-unprotected.key
De mème il est possible a postfix de converser avec le smtp distant si celui si propose le TLS , pour ce faire il suffit de ‘remplir’ les variables smtp_tls_* ce qui nous donne ( il est parfaitement possible d’utiliser les mèmes certificats ) :
smtp_use_tls = yes smtp_tls_key_file = /etc/postfix/certificats/parmenion.key smtp_tls_cert_file = /etc/postfix/certificats/parmenion.crt smtp_tls_CAfile = /etc/postfix/certificats/cacert.crt
Il est aussi possible d’activer directement le mode sasl ( c’est a dire ne pas passer par le tls ) en décommentant une ligne du master.cf
#smtps inet n - n - - smtpd # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
Une fois cette ligne décommenté , un daemon écoutera sur le port 465 et ne répondra qu’aux sollicitations fonctionnant en mode crypté
cela peut répondre a certains problèmes , notamment avec thunderbird sous windows : je n’ai pas réussi pour l’heure a faire fonctionner le tls , alors que cela fonctionne bien sur sans problème sous Mac OS X ou GNU/Linux .
#Amavisd-new
Amavisd-new est une sorte de proxy permettant de rajouter a notre chaine mail un antivirus et d’utiliser spamassasin . Pour ce faire il suffit de l’installer :
aptitude install amavisd-new
tant qu’a faire autant installer aussi clamav
aptitude install clamav clamav-daemon clamav-base
une fois cette formalité effectuée , il convient d’effectuer un certain nombre de modifications . Dans un premier temps il faut configurer amavisd-new : ceci ce passe au niveau du fichier /etc/amavis/amavisd.conf . En fait il faut pouvoir recevoir les mails de postfix mais aussi les renvoyer . En ce qui me concerne je configure amavis pour recevoir les mails par lmtp .
$unix_socketname = "/var/lib/amavis/amavisd.sock";
ensuite il faut pouvoir renvoyer les mails à postfix :
$forward_method = 'smtp:127.0.0.1:10025'; # where to forward checked mail $notify_method = $forward_method; # where to submit notifications
Du coté de postfix il faut pouvoir récupérer ses mails , pour ce faire on va faire postfix écouter au bon endroit en modifiant le nécessaire dans le master.cf ce qui nous donne :
127.0.0.1:10025 inet n - y - 5 smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
en reloadant postfix , on doit donc pouvoir observer postfix écoutant sur le port 10025 il faut aussi qu’il puisse envoyer les mails a amavisd-new , la aussi une modification du master.cf :
lmtp-amavis unix - - - - 2 lmtp -o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
ceci étant fait postfix n’envois toujours pas de mail a traiter a amavisd . cette possibilité est assurée par la variable content_filter
content_filter=lmtp-amavis:127.0.0.1:10024
Et voila , les mails seront filtrés par amavis . En ce qui concerne spamassasin il est désactivé par défaut ,il faut donc penser a l’installer et a commenter la ligne qui va bien
@bypass_spam_checks_acl = qw( . );
Diverses sources
http://www.postfix.org bien sur
http://high5.net <– postfixadmin
http://postfix.state-of-mind.de/patrick.koetter/smtpauth/ <– pour le SaslAuthd
http://www.homeport.org/~adam/starttls.html <– en complément du premier
http://x.guimard.free.fr/postfix/ <– documentation en français
Courier Imap <– le site de Courier
http://wispdirect.com/docs/sasl-howto.html <– libsasl2 + patch mysql crypt ( non testé )
PostfixWiki <– Wiki concernant postfix
Postfix & LDAP <– Petit How-to avec du ldap
Maildrop & Quota
Notes
[1] Maildir est un format de boite mail introduit dans le mta Qmail .On peut trouver ici un benchmark vis a vis de mbox
[2] Ainsi virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf deviendra virtual_alias_maps= proxy:mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
[3] Pourquoi maildrop dans mon cas ? tout simplement car il gère les quotas virtuels et qu’il permet aussi de filtrer les mails.Ce site vous permettra notamment de comprendre comment compiler maildrop : la version fourni par débian est compilé sans le support mysql , il vous faudra donc recompiler celui-ci avec le support qui va bien , sinon vous pouvez aussi vous servir de virtual (mda fourni par postfix ) exemple que j’ai donné ici
[4] cela consiste a transformer dans un format ‘adapté a postfix’ les données présentes dans le fichier
[5] Il faut récupérer la version 2.05 , je n’ai pas tester avec la version 2.1
[6] (la restriction des mech list est lié a pam )
[7] Pour l’heure il faut penser a déchrooter postfix afin qu’il puisse accéder a saslauthd ( au niveau de master.cf)
[8] En fait l’auth SASL permet a un client mail ne faisant pas partie du réseau de postfix a utiliser votre smtp ( ce qui peut etre utile dans le cadre d’une utilisation distante)
19 April 2005 at 9:25 pm
Merci pour ce tuto John
24 May 2005 at 9:14 am
je comprend toujours rien à l’informatique!!!!!!!!!!!
jesper que tu va bien.moi c cool j’ai réussi mes concours à Pau et un dans le92.j’attend encor les résultats de Toulouse mais cette fois ci c’est sûr, dans 3 ou 4 ans je serai assistante sociale.je te fais de gros bisous.tu me manque un peu quand même.
24 May 2005 at 9:28 am
félicitations .
( mikala@littleboboy.net )
ceci dit le mail est plus approprié
26 May 2005 at 2:58 pm
Slt,
J’ai suivi ta doc pour l’installation d’un serveur mail multidomaines, mais j’ai ce message d’erreur dans mes log
Que dois je faire pour que ça marche
Paix & Amour
26 May 2005 at 3:19 pm
quel message d’erreur ?
27 May 2005 at 6:57 am
Voici le message d’erreur
May 27 09:55:41 mail postfix/master[4539]: warning: process /usr/lib/postfix/smtpd pid 4587 exit status 1
May 27 09:55:41 mail postfix/master[4539]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling
May 27 09:56:41 mail postfix/smtpd[4590]: fatal: /etc/postfix/mysql_virtual_mailbox_maps.cf: bad string length 0 < 1: table=
Paix & Amour
27 May 2005 at 7:25 am
tu dois avoir un souci au niveau de ton fichier mysql_virtual_mailbox .
vérifies le.
27 May 2005 at 7:37 am
Voici le contenu du fichier mysql_virtual_domains_maps.cf
user = postfix
password = monpassword
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username=’%s’
Paix & Amour
27 May 2005 at 7:39 am
Voici le contenu du fichier /mysql_virtual_mailbox_maps.cf
user = postfix
password = monpassword
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username=’%s’
27 May 2005 at 7:57 am
ce qui n’a rien a voir avec ceci :
conf.littleboboy.net/serv…
27 May 2005 at 8:03 am
Je reprends ma config et je te tiens informé. J’ai pratiquement tou melangé parce que j’avais le tutorial de high5.net le tien sous mes yeux.
Merci pour ton aide
Paix & Amour
7 June 2005 at 11:11 pm
Serait-il possible d’avoir le listing des fichiers "smtpd.conf" et "saslauthd" pour une configuration avec mots de passe dans une base MySQL cryptée.
Je bute sur la configuratin SASL :
postfix/smtpd[6890]: connect from [xxx.xxx.xxx.xxx]
postfix/smtpd[6890]: warning: SASL authentication failure: no secret in database
postfix/smtpd[6890]: warning: [xxx.xxx.xxx.xxx]: SASL NTLM authentication failed
postfix/smtpd[6890]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
postfix/smtpd[6890]: warning: SASL authentication failure: Password verification failed
postfix/smtpd[6890]: warning: [xxx.xxx.xxx.xxx]: SASL PLAIN authentication failed
postfix/smtpd[6890]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
postfix/smtpd[6890]: warning: [xxx.xxx.xxx.xxx]: SASL LOGIN authentication failed
Merci d’avance.
8 June 2005 at 12:01 am
ils y sont déja.
tu as un fichier smtp a placer dans /etc/pam.d/
ensuite tu modifies le smtpd.conf comme indiqué.
16 June 2005 at 3:46 am
salut mikala ^^
j’ai un pti soucis dans mes logs je retourve ceci.
localhost postfix/trivial-rewrite[1945]: fatal: mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf(0,100): table lookup problem
en vérifiant la table elle me semble correctement crée.
tu as été confronté au pb ?
16 June 2005 at 4:13 am
J’ai oublié de mettre mon virtualmap
user = postfix
password = monpass
#hosts = unix:/var/run/mysqld/mysqld.sock
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
16 June 2005 at 4:42 am
en regardant dans les logs syslog j’ai ça.
—-
warning: 297B21DB129: virtual_alias_maps map lookup problem for toto@domaine.tld
Jun 16 09:38:46 localhost postfix/pickup[2762]: warning: maildrop/D730533F15: Error writing message file
—-
16 June 2005 at 6:28 am
hum , non je n’ai jamais rencontré ce problème.
le fichier a subi l’effet de postmap ?
16 June 2005 at 7:59 am
hmmm non j’ai pas fait de postmap
merdoum
16 June 2005 at 8:03 am
je l’applique sur quel fichier ?
16 June 2005 at 8:08 am
sur tous les .cf
je vais modifier le tuto de manière adapté.
16 June 2005 at 8:13 am
apparement jai toujours le pb de socket connec mysql.
connect to mysql server unix:/var/run/mysqld/mysqld.sock: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ virtual_alias_maps map lookup problem
16 June 2005 at 8:16 am
le socket est bien sur présent a cet endroit ?
16 June 2005 at 8:20 am
oui il y est.
16 June 2005 at 9:00 am
c’est bizarre .
j’imagines aussi que mysql est bien lancé .
postfix est chrooté ?
essayes en le déchrootant.
16 June 2005 at 12:08 pm
hmmm
bon jai changé la valeur pour le chroot dans le master > rien
ensuite j’ai ajouté proxy dans le main.cf pour l’appel au fichier
et là ça à l’air de fonctionner.
j’ai d’autre erreurs mais deja ça à l’air de passer.
alors pourquoi en changeant la valeur dans le master.cf ça ne passe pas….je vois pas.
16 June 2005 at 1:05 pm
postfix par défaut sous débian est chrooté, donc par conséquent il ne peut pas accéder au socket de mysql.
l’utilisation du daemon proxy permet justement de pourvoir a ce problème ( une autre solution est de mettre le socket de mysql dans le chroot ) .
Il est vrai que dans ma conf je me sers de proxy et pas de l’appel direct a mysql.
16 June 2005 at 3:42 pm
avec proxy ça roule
par contre les users il faut les creer via le shell ou ça fonctionne sous postfixadmin ?
16 June 2005 at 6:51 pm
ce sont justement des users virtuels, donc il faut créer les comptes mails avec postfixadmin.
(tu peux aussi si tu maitrises mysql en console t’en servir en console. )
23 June 2005 at 8:55 pm
bon tout marche chez moi sauf imap :
# telnet 127.0.0.1 143
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
* OK [CAPABILITY IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA ACL ACL2=UNION XMAGICTRASH] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
0 login alienx ****
* BYE [ALERT] Fatal error: Maildir: No such file or directory
Connection closed by foreign host.
telnet 127.0.0.1 143
Trying 127.0.0.1…
Connected to 127.0.0.1.
Escape character is ‘^]’.
* OK [CAPABILITY IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA ACL ACL2=UNION XMAGICTRASH] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
0 login alienx@freexy.com *****
0 NO Login failed.
Voila je cherche a résoudre ce probleme mais j’y arrive pas si quelqu’un peut m’aider ca m’arrangerai j’ai pas tester sous pop je vais le faire mais ca changera rien …
Merci d’avance
23 June 2005 at 9:00 pm
courier est correctement configuré ?
23 June 2005 at 9:07 pm
la meme configue que toi …j’ai deja vérifié
23 June 2005 at 9:10 pm
sinon j’avais un MAILDIRPATH=Maildir
que j’ai commenté mais ca change rien
Jun 23 23:47:32 c3pO imaplogin: chdir Maildir: No such file or directory
bizard je vais faire un copier coller de ta conf je croit
23 June 2005 at 9:18 pm
Bin no tjs la meme erreur puis c que je trouve bizard c que si je met le @freexy.com ca marche pas du tout alors que si je le met pas ca me met l’erreur de maildir logiquement ca serai pas le contraire en plus dans mysql le username c pseudo@domain.com a mon avis c courier qui ce connect pas a sql grrr
23 June 2005 at 10:01 pm
c mysqlclient qui est pas a jour enfin c ce que me disent les logs sql
050624 0:55:11 17 Connect Client does not support authentication protocol requested by server; consider upgrading MySQL client
comment je peut upgrade la libmysqlclient surtout que je vien de la mettre y a 3heures de ca avec apt-get je sais que les packages debian son pas a jour mais la c vraiment abuser …
23 June 2005 at 10:19 pm
il faut installer libmysqlclient .
après je ne sais pas.
c’est bien une sarge ?
23 June 2005 at 10:37 pm
en faite le packages debian de courier-imap ne va pas avec les derniere version de mysql voila tout j’ai install courier-imap a partire d source et ca tourne nickel
merci quand meme
23 June 2005 at 10:59 pm
les paquets debian ne te suffisaient pas o.O ?
25 June 2005 at 2:27 pm
Slt,
J’ai l’erreur ci-dessous lorsque je lance postfixadmin
# Error: There is no database support in your PHP setup
To install MySQL 3.23 or 4.0 support on FreeBSD:
% cd /usr/ports/databases/php4-mysql/
% make clean install
- or with portupgrade -
% portinstall php4-mysql
To install PostgreSQL support on FreeBSD:
% cd /usr/ports/databases/php4-pgsql/
% make clean install
- or with portupgrade -
% portinstall php4-pgsql
# Error: There is no database support in your PHP setup
To install MySQL 3.23 or 4.0 support on FreeBSD:
% cd /usr/ports/databases/php4-mysql/
% make clean install
- or with portupgrade -
% portinstall php4-mysql
To install PostgreSQL support on FreeBSD:
% cd /usr/ports/databases/php4-pgsql/
% make clean install
- or with portupgrade -
% portinstall php4-pgsql
25 June 2005 at 2:31 pm
le support est activé dans le php.ini ?
25 June 2005 at 3:31 pm
Comment activer le support dans php.ini
25 June 2005 at 3:51 pm
en éditant le fichier.
tu l’as quand meme parcouru non ?
25 June 2005 at 3:57 pm
je l’ai parcouru, mais je ne trouve rien d’anormal dans le fichier. J’ai phpmyadmin sur le même poste et cela marche sans problème.
25 June 2005 at 4:09 pm
en ce cas , je ne sais pas.
25 June 2005 at 4:31 pm
j’ai reinstallé postfixadmin et il n’y a plus de message d’erreur.
28 June 2005 at 11:46 am
Slt,
J’ai l’erreur ci-dessous :
Jun 28 14:43:58 mail postfix/trivial-rewrite[14981]: fatal: mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf(0,100): table lookup problem
30 June 2005 at 8:15 pm
tu as bien sur postmaper les fichiers ?
6 July 2005 at 7:05 am
Bonjour,
hier j’ai tenté d’installer un serveur mail avec une interface webmail.
Installation de postfix apt-get install postfix tout va bien.
J’installe courier-imap.
J’installe à la mano squirrelmail avec tar xzf squi……
Je déplace mon répertoire squirrelmail dans mon répertoire de base apache, je le configure.
J’effectue le test apparrement tout est bon me manque juste la langue fr :p.
Quand je m’identifie voilà mon erreur.
Erreur : connection dropped by imap server.
qqu a une idée ?
7 July 2005 at 11:38 am
non pas vraiment.
mauvais login ?
erreur de pass ?
(au fait squirrelmail est fourni par debian aussi. )
9 July 2005 at 9:22 am
Quelle star ce Mikala avec son tuto
28 July 2005 at 1:07 pm
Salut,
Voila j’ai installé postfix etc tout va bien !
ensuite j’ai installer courier apparement sa va aussi mais des que j’install SASL
apparement il s’install mais
((((Ceci fait il faut configurer saslauthd. tout d’abord dans le fichier /etc/default/saslauthd on s’assure qu’il se lancera automatiquement , il faut donc décommenter la ligne))))
et bien je n’ai pas ce fichier !!
et apparement il n’est pas installer car dans les logs j’ai
Jul 28 18:02:49 XxX postfix/smtpd[14940]: warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in
Merci de m’aidé
!
28 July 2005 at 2:23 pm
tu as bien installé le binaire ? (sasl2-bin)
29 July 2005 at 7:17 am
Merci beaucoup c’est ceux qu’il me manqué !!
29 July 2005 at 12:27 pm
Salut,
Il serait possible d’avoir ton msn ? sinon !
mon erreur c’est sa !
Jul 29 17:23:20 XXXX postfix/trivial-rewrite[15521]: warning: do not list domain mondomaine.net in BOTH mydestination and virtual_mailbox_domains
merci !
29 July 2005 at 12:58 pm
je n’utilise pas msn mais jabber.
ensuite il te demande de ne pas mettre ton domaine en ‘dur’ et en virtuel .
(bref vires ton domaine du mydestination )
29 July 2005 at 5:22 pm
Comment faites-vous avec les proxy ?
Moi aussi j’ai un mysql qui ne peut pas accèder au socket et je ne comprend pas comment faire avec le "daemon proxy" (dont je n’ai jamais entendu parler).
Florent
29 July 2005 at 6:27 pm
Salut,
Merci apparement pour l’erreur que je t’avais demandé c’est reglé en enlevant mon domaine de mydestination !
par compte j’ai encore un probleme
warning: smtpd_sasl_auth_enable is true, but SASL support is not compiled in => alors que j’ai bien sasl de lancé je ne comprend pas
!
Et puis quand je lance outlook et que je m’identifie sa ne marche pas (erreur : User unknown in virtual mailbox table )
! alors que j’ai bien cree l’user avec postfix admin !
JE vais voir si je peux installer jabber pour te parlé merci !
29 July 2005 at 7:23 pm
Enfin de compte j’ai plus l’erreur maintenant j’ai
Jul 30 00:20:02 XXXx postfix/smtpd[3899]: warning: SASL authentication failure: no secret in database
Jul 30 00:20:02 XXX postfix/smtpd[3899]: warning: unknown[192.168.0.2]: SASL NTLM authentication failed
Jul 30 00:20:03 xXXX postfix/smtpd[3899]: warning: unknown[192.168.0.2]: SASL NTLM authentication failed
Jul 30 00:20:03 XXXx postfix/smtpd[3899]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
Jul 30 00:20:03 XXXX postfix/smtpd[3899]: warning: unknown[192.168.0.2]: SASL LOGIN authentication failed
donc voila je vois pas trop ou est le probleme !
!
(sur outlook y a ecrit ERR Maildir: No such file or directory)
Merci beaucoup de ton aide verment un super blog
29 July 2005 at 7:42 pm
Re encore moi
Jul 30 00:40:06 XXX postfix/smtpd[4457]: warning: SASL authentication failure: no secret in database
Jul 30 00:40:06 XXX postfix/smtpd[4457]: warning: unknown[192.168.0.2]: SASL NTLM authentication failed
donc voila j’ai réussi a enlever le permession denied en faisais un chmod a /var/run/saslauth/
donc il me reste plus que se probleme merci
29 July 2005 at 10:02 pm
Bon apparement se probleme est reglé aussi je sais pas comment !
Jul 30 02:59:45 XxXx imaplogin: chdir Maildir: No such file or directory
Voila il me manque plus que sa !
donc enfaite sa fait la meme erreur aussi quand j’essaye de lire mes mails de outlook donc que sa soit imap ou pas sa change rien ! pourtant si j’envoie un mail a ma boite les mails arrivent bien a destination (dans mon maildir) /home/user/data/domaine.com/user@domaine.com
mais apparement courier ne sait pas les chercher la alors que c’est noté dans le maildir de mysql :s !
Merci de me help je comprend pas !
30 July 2005 at 10:32 am
A priori pour ton erreur Nix ‘est que tu mailes vers un compte local aussi sur ta machine, essaie de te logguer avec l’adresse mail complète si tu veux que ca fonctionne, sinon en éditant le authdaemonrc, enleve le "authpam" ca n’identifiera pas les comptes locaux…
Bon tuto en tout cas, dommage que je le trouve quand j’ai monté plusieurs serveurs sur une technique similaire
30 July 2005 at 12:42 pm
Nan mais quand je te dis que je mail mon mail c’est a partir d’hotmail !
donc c’est pas en local !
30 July 2005 at 12:46 pm
nix> tu as bien configuré courier-imap ?
le support mysql est installé , tu as configuré correctement le authdaemonrc ?
30 July 2005 at 1:50 pm
Salut oui tout sa est fait (courier imap je vois pas c’est pour le config) mais de toute dacon avec Outlook sa me retourne la meme erreur (comme quoi il trouve pas le maildir) donc c’est un probleme au niveau de
"authmysqlrc"
MYSQL_HOME_FIELD => sa correspon a quoi enfaite ?
MYSQL_MAILDIR_FIELD => il sert a lui dire ou chercher le path du mail dir ?
Merci encore ! (ps : je recois les email donc postfix c’est nikel il me reste plus que la lecture)
30 July 2005 at 5:34 pm
Salut,
Je t’ai ajouté sur jabber sa sera plus facile merci
!
5 August 2005 at 3:50 am
Bonjour,
il m’arrive un truc tout con sur lequel je bloque; je n’arrive pas à melogger sur postfixadmin lors de la première exécution après le setup. Pourtant, le site officiel stipule admin/admin comme log et pass par défault, mais rien à y fairee j’ai essayé toutes les combinaisons possibles utilisées pour la machine. L’erreur est "Votre couriel est invalide.Assurez-vous d’avoir le bon couriel". Faut t’il creer un fichier .htpasswd, le placer dans un répertoire admin? j’ai essayé, ca fait que dalle. HELP ME PLEASE……
7 August 2005 at 1:32 am
bon tout simplement aller sur la page /postfixadmin/admin/ si tu ne met pas le admin sa te met la page de log des admin de domaine pas de log d admin de postfix
d ailleurs sur la page admin il n y a pas de securite
voila pkoi il te dise de cree un .htaccess sur cette page
Bon sinon moi la je vais craquer… :p j ai tout testé mais je n arrive tjrs pas a me log avec le compte user@domain.tld en pop ou imap que ce soit en local ou pas, il me rejete le login pass je ne c pas pkoi. peut etre le meme probleme que Alienx mais j aimerai confirmation avant de me prendre la tete a installer courier imap a la mano
merci
7 August 2005 at 1:37 am
j ai oublie de preciser que losque je mail un compte user ( root ou autre) cela marche impec en local ou pas et avec le compte user@domain.tld je peux lui envoyer des mail donc la base est bien cree etc mais je ne peux pas me log avec pour recup les message (d ou mon idee de prob entre courier-imap, courier-pop et mysql)
voila++
7 August 2005 at 10:36 am
tu n’as pas de log de courier-imap ?
7 August 2005 at 11:15 am
je t avouerai que je les ai pas trouve
dasn /var/log
j ai le syslog le mail.log
etc…
mais rien avec courier ou je cherche aps au bon endroit
enfin je vais m y remettre aujourd hui donc je te tiens au courant si je trouve
7 August 2005 at 11:49 am
Bon bein j ai trouve !! je savais bien que c etais un truc tout con c tjrs ça qui fais chier le plus
)
donc en fait j ai dut faire un chmod -R /usr/local/virtual
ce que je comprend c est ce que je vais devoir le faire a chaque fois que je vais add un compte virtuel ??
merci pour tout
8 August 2005 at 12:06 am
slt
8 August 2005 at 11:01 am
Moi j’y arrive toujours pas ;-(
8 August 2005 at 11:21 am
Enfin de compte c’est bon
j’avais
MYSQL_MAILDIR_FIELD $HOME/maildir
j’ai replacé par
MYSQL_MAILDIR_FIELD maildir
et sa fonctionne merci encoree !!
12 August 2005 at 11:03 am
je n’ai pas de répertoire virtual dans /usr/local
mais on parle de ceci
virtual_mailbox_base = /data/virtual
ceci n’est pas la même chose.
donc dans le fichier authmysqlrc il faut indiqué MYSQL_HOME_FIELD ‘/data/virtual’
????
merci d’avance pour m’éclairer sur ce point.
12 August 2005 at 11:28 am
Juste pour infos il faut ajouter ceci à postfix sinon postfixadmin 2.1.0 pleur :s :
CREATE TABLE domain_admins (
username varchar(255) NOT NULL default ‘’,
domain varchar(255) NOT NULL default ‘’,
created datetime NOT NULL default ‘0000-00-00 00:00:00′,
active tinyint(1) NOT NULL default ‘1′,
KEY username (username)
) TYPE=MyISAM COMMENT=’Postfix Admin - Domain Admins’;
22 August 2005 at 4:28 pm
Slt,
J’ai suivi ton tuto. Jusqu a la, rien a dire mais je ne sais pas quoi faire exactement pour le tester ( methodes et commandes ). J’aimerais pouvoir envoyer et recevoir d’internet a un serveur qui se trouve derriere un routeur. je pense avoir bien forwarde les ports 25 et 110 mais est ce tout? Mon serveur n a pas de nom de domaine, du coup, je ne c pas trop quoi mettre lorsque, lors de la configuration, on me demande le nom de domaine ( domaine.tdl ).
Merci de ton ( votre ) aide(s).
27 August 2005 at 12:38 am
Bonjour,
Bravo pour ton travail de documentation "en francais", ca change des docs us
Quelques petites questions :
1. pourquoi dis-tu "…Il faut bien sur penser a ‘postmaper’ les fichiers…" en parlant des fichiers de conf sql ? n est-ce pas reserve aux "hash" du main.conf ?
2. "…je configure amavis pour recevoir les mails par lmtp." quel est l interet exact de passer par lmtp ? la doc de postfix est (pour moi) assez obscure sur ce sujet.
merci
3 September 2005 at 3:01 pm
il est bien lme tuto mais jai des probleme:
)jai pas d’erreur afficher nul part pour l’instant un peu trop bizare a mon gout d’ailleur (trop calme)
par exemple aprés m’être loguez a postfixadmin j’ai une page blanche (me sert pas a grand chose :p
13 September 2005 at 4:02 pm
Bonjour,
Bravo pour le tuto, trés utile. J’ai rencontré tout de même quelques problèmes en particulier ‘mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf(0,100): table lookup problem’ le problème était qu’il me fallait le proxy pour le faire marcher et c’est bon maintenant. (je suis sous debian sarge)
J’ai encore un problème et après plus de 4heures de recherche je calle…
ns31861 postfix/qmgr[1400]: warning: connect to transport smtp: Connection refused
voila mon fichier main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA’s job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 30m
myhostname = ns31861.ovh.net
#mydomain = $myhostname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $mydomain, localhost, localhost.$mydomain
relayhost = mx3.ovh.net
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
unknown_local_recipient_reject_code = 450
#Configuration MySQL
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:1029
virtual_mailbox_base = /usr/local/virtual
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
virtual_mailbox_limit = 51200000
virtual_minimum_uid = 1029
virtual_transport = virtual
virtual_uid_maps = static:1029
résultat aucun de mes mails ne partent de la machine local… j’ai essayé pas mal de choses mais rien à faire.. si vous avez une idée merci…
Cordialement,
Marc
26 September 2005 at 2:19 pm
Bonjour tout le monde!
J’ai installé Postfix avec Red Hat 7.3 + Imap + Squirrelmail(webmail) + Mysql + PHP. Tout marche bien.
Je souhaiterais installer postfixadmin pour administrer ma base et mes users avec Mysql.
Y’a t-il un tuto adapté?
Merci
3 November 2005 at 5:09 am
bonjour, je galere avec sasl
j’avais install postfix de base j’envoyais et recevais mes mails sans pb mais seulement pour mon utilisateur unix
j’ai suivi se tuto, mais je n’arrive plus a envoyé ni recevoir les mails restent dans la mailq, les boites des utilisateurs ne se créent pas de plus j’ai le meme pb que nix au post 59
qq un aurait une solution ou un main.cf detaillé de base ?
merci
3 November 2005 at 5:46 am
Pour info voici ce que j’ai dans le log de postfix log.info
concernant mon post prececent numero 81
Nov 3 09:43:30 localhost postfix/cleanup[4475]: warning: connect to mysql server unix:/var/run/mysqld/mysqld.sock: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
Nov 3 09:43:30 localhost postfix/cleanup[4475]: warning: B2AC4533AD: virtual_alias_maps map lookup problem for
3 November 2005 at 6:46 am
pb resolu du post 81 c l’histoire du proxy pare contre je n’arrive a revevoir que sur mon utilisateur unix, les utilisateurs virtuel non de plus leur repertoire ne se crééent pas
des idées ?
3 November 2005 at 6:12 pm
Salut a tous,
De mon cote ca marche pas du tout avec mysql. voici les logs de mail.log:
authdaemond.mysql: failed to connect to mysql server (server=localhost, userid=postfix.)
courierpop3login: LOGIN FAILED, ip=[::ffff:192.168.100.25]
Pourtant losque j’envoi un mail a partir de postfixadmin en utilisant un compte d’admin, mon correspondant (domaine sur un autre serveur en qmail) le recois bien.
Y’a plus qu’a voir pourquoi je ne peux pas checker mes compte vituels locaux.
HELP!!!
3 November 2005 at 7:19 pm
Le top serait d’avoir des fichiers de conf complets d’un serveur postfix qui fonctionne, du genre tous les fichiers à créer pour faire un conf postfix opérationnelle.
d’autres points sont pas clairs: login et password setes à "toto" dans les fichiers mysql_virtual… il faut les remplacer par le login et pass de la db (postfix/postfix) ou par autre choses?
idem pour /usr/local/virtual - c’est un repertoire un un fichier ce virtual?
et si l’on ne souhaite pas utiliser tls… ca marche quand meme l’authentification avec mysql?
Merci en tous cas pour ce tuto qui a deja bien eclaire ma lanterne pour un novice dans l’install de serveur de mail.
A+
4 November 2005 at 9:46 am
mon probleme est resolu. Les mails arrivent bien dans les mailbox des proprio sauf: impossible de checker les emails des comptes à partir de thunderbird.
Message d’erreur: deb-server authdaemond.mysql: failed to connect to mysql server (server=localhost., userid=postfix.)
Ca vient de quoi
4 November 2005 at 3:58 pm
mpraljak> en suivant les liens que je fournis tu peux tomber sur conf.littleboboy.net ( ou il y a un exemple de configuration fonctionnant sans problème Ã
cela peut logiquement te servir .
4 November 2005 at 5:06 pm
Salut mikala, merci pour ce lien qui me sera precieux je pense.
cela fait 2 grosses journées que je suis sur la conf et rien en sort a part qu’a partir de mutt j’arrive bien a envoyer des mails a l’exterieur et sur les comptes virtuels crees par posfixadmin.
Sinon impossible de recuper par le biais d’un client sous windaube. toujours cette erreur de connexion mysql.
Penses-tu que je puisse te fournir mes fichiers de conf pour voir ou le pb?
Si oui, je te fait un email… et une bouteille de champ pour noel
a+
5 November 2005 at 2:36 pm
Bonjour,
en voila un bon tuto pour configurer postfix. Je me permets de poster ce lien sur la recompilation du package Debian de maildrop avec le support mysql: <a href="philippe.alexandre.free.f…
7 December 2005 at 10:44 am
Bonjour,
je viens d’essayer de mettre en place postfix + mysql à l’aide de ce tuto. Or je rencontre un probleme :
>Dec 7 14:35:08 localhost postfix/qmgr[17541]: 215104057: from=<root@localhost.lu>, size=286, nrcpt=1 (queue active)
pas de probleme ici
>Dec 7 14:35:08 localhost postfix/smtpd[17672]: fatal: no SASL authentication mechanisms
Comme je fais un test via la commande "mail", c’est normal.
>Dec 7 14:35:09 localhost postfix/master[17537]: warning: process /usr/lib/postfix/smtpd pid 17672 exit status 1
>Dec 7 14:35:09 localhost postfix/master[17537]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling
>Dec 7 14:35:09 localhost amavis[17664]: (17664-01) mail_via_smtp: 450 4.4.1 Can’t connect to 127.0.0.1 port 10025, Mauvais descripteur de fichier at /usr/sbin/amavisd-new line 2912, <GEN10> line 17., id=17664-01
Par contre ici, il y a un probleme. Or le port 10025 est bien ecouté, j’ai testé ça via telnet.
>Dec 7 14:35:09 localhost amavis[17664]: (17664-01) Not-Delivered, <root@localhost.lu> -> <lassalle@localhost.lu>, Message-ID: <20051207132309.215104057@srvmail01.localhost.lu>, Hits: -
>Dec 7 14:35:09 localhost postfix/lmtp[17668]: 215104057: to=<lassalle@localhost.lu>, relay=127.0.0.1[127.0.0.1], delay=720, status=deferred (host 127.0.0.1[127.0.0.1] said: 450 4.4.1 Can’t connect to 127.0.0.1 port 10025, Mauvais descripteur de fichier at /usr/sbin/amavisd-new line 2912, <GEN10> line 17., id=17664-01 (in reply to end of DATA command))
Je suppose donc un probleme dans mon fichier amavisd.conf car si je supprime le content_filter=ltmp-amavis:127.0.0.1:10024 cela fonctionne.
21 December 2005 at 8:46 am
Bonjour,
J’ai un Postfix qui fonctionne avec Mysql et Cyrus sous une debian, de temps en temps l’authentification POP et IMAP sont rejetés pendant environ 30seconde
dans mail.log il y a cette erreur ‘’SQUAT failed to open index file"
Merci pour de votre aide .
22 December 2005 at 7:45 am
je suis désolé mais je ne me sers ni ne connait cyrus.
26 December 2005 at 6:04 pm
Au secour !!!
J’étais sous Debian Woody, et tout ceci fonctionnait A MERVEILLE.
…
Jusqu’à ce que je mette mon systeme à jour sous Sarge…
Et là .
Catastrophe.
La messagerie ne fonctionne plus.
La réception de mail est OK (courier POP fonctionne, les mails sont délivrés…)
Mais,
le SASL ne fonctionne plus.
Quand je cherche à envoyer un message, voilà l’erreur qui apparait :
Dec 26 21:56:43 tria202 postfix/smtpd[23165]: fatal: no SASL authentication mechanisms
Dec 26 21:56:43 tria202 postfix/smtpd[23166]: fatal: no SASL authentication mechanisms
Dec 26 21:56:44 tria202 postfix/smtpd[23167]: fatal: no SASL authentication mechanisms
Dec 26 21:56:44 tria202 postfix/master[3477]: warning: process /usr/lib/postfix/smtpd pid 23165 exit status 1
Dec 26 21:56:44 tria202 postfix/master[3477]: warning: /usr/lib/postfix/smtpd: bad command startup — throttling
Dec 26 21:56:44 tria202 postfix/master[3477]: warning: process /usr/lib/postfix/smtpd pid 23166 exit status 1
Dec 26 21:56:45 tria202 postfix/master[3477]: warning: process /usr/lib/postfix/smtpd pid 23167 exit status 1
Et le message ne part pas.
Dans le main.cf, si je fais commente :
#smtpd_sasl_auth_enable = yes
#broken_sasl_auth_clients = yes
alors ça marchera…
Mais bon…
Pour info, voici mon main.cf en entier :
—–
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
append_dot_mydomain = no
myhostname = …….com
mynetworks = 127.0.0.0/8, 192.xxx.xxx.100/24, 62.xxx.xxx.32/16
mydestination = xxxx.org, xxx, localhost.xxxx, localhost, 192.xxx.xxx.xxx
transport_maps = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_domains.cf mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/messagerie
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
######################################
## COMMENTE POUR QUE CA MARCHE
#smtpd_sasl_auth_enable = yes
#broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
content_filter = amavis:[127.0.0.1]:10024
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
—————–
Voilà , je re-précise que ça a marché comme ça sous Woody pendant plus de 3 ans.
Et là , pouf, ça marche plus.
Pourquoi ?
Je vous remercie.
C’est très très urgent.
Je suis même prêt a appeler un volontaire pour avoir une assistance "téléphonique" (à mes frais biensur).
C’est très important.
merci
15 January 2006 at 9:12 pm
Problème lorsque je veux récupérer mes mails dans un client mail ; j’obtiens l’erreur suivante :
Problème de connexion à votre serveur de messagerie. Votre mot de passe a été refusé. Compte : ‘******’, Serveur : ‘*******’, Protocole : POP3, Réponse du serveur : ‘-ERR Maildir: Permission denied’, Port : 110, Sécurisé (SSL) : Non, Erreur de serveur : 0×800CCC90, Numéro d’erreur : 0×800CCC92
Au niveau du repertoire /data/virtual/ j ai :
drwx—— 5 vmail vmail 4096 2006-01-16 01:00 test@toto.com
Si je fais un chmod -R 777 sur ce dossier, je peux par la suite récupérer mes mails.
Pourquoi les droits ne sont pas bons ?
Que faire pour corriger cette erreur ?
En tout cas, merci beaucoup mikala pour ta gentillesse.
—
MoW
23 January 2006 at 4:56 am
Bonjour Mow,
J’ai eu exactement le meme probleme, pour eviter cela, il faut que tu definisses comme repertoire de connexion de tes utilisateurs , leurs home directory respectifs.
Sinon, ce sera seulement le compte vmail qui aura les droits en rwx!
Bon courage!
28 January 2006 at 5:55 pm
mysql> CREATE TABLE mailbox (
-> username varchar(255) NOT NULL default ‘’,
-> password varchar(255) NOT NULL default ‘’,
-> name varchar(255) NOT NULL default ‘’,
-> maildir varchar(255) NOT NULL default ‘’,
-> quota int(10) NOT NULL default ‘0′,
-> domain varchar(255) NOT NULL default ‘’,
-> created datetime NOT NULL default ‘0000-00-00 00:00:00′,
-> modified datetime NOT NULL default ‘0000-00-00 00:00:00′,
-> active tinyint(1) NOT NULL default ‘1′,
-> PRIMARY KEY (username),
-> KEY username (username)
-> ) TYPE=MyISAM COMMENT=’Postfix Admin - Virtual Mailboxes’;
Il manque une virgule à la fin de :
-> password varchar(255) NOT NULL default ‘’
et y a une virgule en trop ici :
-> KEY username (username),
28 January 2006 at 7:02 pm
c’est corrigé
31 January 2006 at 2:21 pm
Hello,
Petite question : tu es exclusivement sous debian sarge ou bien sur la branche testing ?
Pour savoir si ca marche en testing et si les problèmes remontés avec libmysqlclient sont corrigés / que dans la branche testing / que sais-je ???
J’ai essayé ce week end mais cela n’avait pas l’air de marcher sur ma conf existante à base de compte systèmes. Mais je viens de me faire la remarque que je n’avais pas relancer courier-authdaemon
, cela venait peut-être de là …
Nicolas
31 January 2006 at 7:16 pm
le tuto a été réalisé quand j’étais en testing/sarge , je suis bien sur resté en testing ( donc testing/etch maintenant ) et je n’ai aucun souci
14 February 2006 at 10:06 am
Juste une petite question. J’ai monté le meme type de solution mais sans postfixadmin.
J’ai développé mes propres scripts pour automatiser le tout. Le problème est que les mots de passe des mails ne sont pas cryptés dans la base. Est ce le cas avec postfixadmin.
21 February 2006 at 2:03 am
Bonsoir à tous,
d’abord, on ne répètera jamais assez merci a toi Mikala pour ce fabuleux tutos. Très clair sauf pour le UID/GUID, mais au bout de 2 jours tout semble opérationnel. Je me suis passé du module TLS et SASL… par forcément utile dans mon cas, a moins que quelqu’un me démontre l’importance de l’authentification… je suis a votre ecoute.
Bref j’ai comme meme un petit probleme, je n’arrive pas a vérifier que amavisd vérifies les mails. j’ai l’impression que les mails ne sont pas filtrés (test avec des fichiers .bat et .exe tout passe.) ;-( .
J’ai continué en activant spamassassin, apparament, il est bien pris en compte au demarrage de amavis je le vois dans le syslog Module Mail::SpamAssassin 3.00000
Pas d’erreur au lancement de Postfix et amavis. help me. en gros comment faire pour vérifier le filtrage.
Concernant la config du master.cf car je pense que le prob est la; j’ai repris les memes commandes que le fichier proposé par mikala dans la section conf.littleboboy.net/serv…
je mets une copie du mien au cas ou si quelqu’un peut m’aider.
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
-o cleanup_service_name=pre-cleanup
#submission inet n - - - - smtpd
# -o smtpd_etrn_restrictions=reject
#628 inet n - - - - qmqpd
pickup fifo n - n 60 1 pickup
-o cleanup_service_name=pre-cleanup
pre-cleanup unix n - y - 0 cleanup
-o canonical_maps=
-o sender_canonical_maps=
-o recipient_canonical_maps=
-o masquerade_domains=
-o content_filter=lmtp-amavis:[127.0.0.1]:10024
# J’ai pas tout compris a cette partie, g c pas trop…
cleanup unix n - y - 0 cleanup
-o mime_header_checks=
-o nested_header_checks=
-o body_checks=
-o header_checks=
-o header_checks=pcre:/etc/postfix/maps/headers_check/header_checks2
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# AmavisD smtp
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
# AmavisD lmtp
lmtp-amavis unix - - - - 2 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
# AmavisD
127.0.0.1:10025 inet n - y - 5 smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
Merci à tous.
Mikala vire les pubs ca fait mauvais genre. @+
CooLr@st@ ;-}
21 February 2006 at 3:06 am
Je viens de finir d’installer squirrelmail c parfait tout fonctionne, toujours mon prob de amavisd + spamassassin…
demain je m’attaque au quota si quelqu’un a plus d’infos la dessus.
Merci d’avance.
@ bientot
4 June 2006 at 12:50 am
patchoch> oui les mots de pass sont cryptés.
Coolr@ast> il suffit d’utiliser maildrop.
j’updaterais le tutorial sous peu