Postfix, Mysql , PostfixAdmin , Courier-Imap ,SASL,TLS sur une Debian Sarge

avril 15, 2005

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 Postfix
  • 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 :D ) 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 :

mysql_virtual_alias_maps.cf

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';

mysql_virtual_domains_maps.cf

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';

mysql_virtual_mailbox_maps.cf

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 (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 :D ) :

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)

104 Responses to “Postfix, Mysql , PostfixAdmin , Courier-Imap ,SASL,TLS sur une Debian Sarge”

  1. Merci pour ce tuto John 8-)

  2. 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.

  3. félicitations .
    ceci dit le mail est plus approprié :) ( mikala@littleboboy.net )

  4. 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

  5. quel message d’erreur ?

  6. 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

  7. tu dois avoir un souci au niveau de ton fichier mysql_virtual_mailbox .
    vérifies le.

  8. 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

  9. 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’

  10. ce qui n’a rien a voir avec ceci :
    conf.littleboboy.net/serv…

  11. 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

  12. 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.

  13. ils y sont déja.
    tu as un fichier smtp a placer dans /etc/pam.d/
    ensuite tu modifies le smtpd.conf comme indiqué.

  14. 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 ?

  15. 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. 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

    —-

  17. hum , non je n’ai jamais rencontré ce problème.
    le fichier a subi l’effet de postmap ?

  18. hmmm non j’ai pas fait de postmap :o merdoum

  19. je l’applique sur quel fichier ?

  20. sur tous les .cf ;)
    je vais modifier le tuto de manière adapté.

  21. 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

  22. le socket est bien sur présent a cet endroit ?

  23. oui il y est.

  24. c’est bizarre .
    j’imagines aussi que mysql est bien lancé .
    postfix est chrooté ?
    essayes en le déchrootant.

  25. 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.

  26. 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.

  27. avec proxy ça roule

    par contre les users il faut les creer via le shell ou ça fonctionne sous postfixadmin ?

  28. 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. )

  29. 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

  30. courier est correctement configuré ?

  31. la meme configue que toi …j’ai deja vérifié

  32. 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

  33. 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

  34. 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 …

  35. il faut installer libmysqlclient .
    après je ne sais pas.
    c’est bien une sarge ?

  36. 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

  37. les paquets debian ne te suffisaient pas o.O ?

  38. 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

  39. le support est activé dans le php.ini ?

  40. Comment activer le support dans php.ini

  41. en éditant le fichier.
    tu l’as quand meme parcouru non ?

  42. 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.

  43. en ce cas , je ne sais pas.

  44. j’ai reinstallé postfixadmin et il n’y a plus de message d’erreur.

  45. 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

  46. tu as bien sur postmaper les fichiers ?

  47. 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 ?

  48. non pas vraiment.
    mauvais login ?
    erreur de pass ?
    (au fait squirrelmail est fourni par debian aussi. )

  49. Quelle star ce Mikala avec son tuto 8-)

  50. 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é :) !

  51. tu as bien installé le binaire ? (sasl2-bin)

  52. Merci beaucoup c’est ceux qu’il me manqué !!

  53. 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 !

  54. 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 )

  55. 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

  56. 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 !

  57. 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 :) !

  58. 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 :)

  59. 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 !

  60. 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 :)

  61. Nan mais quand je te dis que je mail mon mail c’est a partir d’hotmail !
    donc c’est pas en local !

  62. nix> tu as bien configuré courier-imap ?
    le support mysql est installé , tu as configuré correctement le authdaemonrc ?

  63. 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)

  64. Salut,

    Je t’ai ajouté sur jabber sa sera plus facile merci :) !

  65. 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……

  66. 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

  67. 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++

  68. tu n’as pas de log de courier-imap ?

  69. 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 ;)

  70. 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 ;)

  71. slt

  72. Moi j’y arrive toujours pas ;-(

  73. 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 !!

  74. 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.

  75. 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’;

  76. 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).

  77. 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

  78. il est bien lme tuto mais jai des probleme:
    par exemple aprés m’être loguez a postfixadmin j’ai une page blanche (me sert pas a grand chose :p :) )jai pas d’erreur afficher nul part pour l’instant un peu trop bizare a mon gout d’ailleur (trop calme)

  79. 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

  80. Bonjour tout le monde!

    J’ai installé Postfix avec Red Hat 7.3 + Imap + Squirrelmail(webmail) + Mysql + PHP. Tout marche bien. 8-)

    Je souhaiterais installer postfixadmin pour administrer ma base et mes users avec Mysql.
    Y’a t-il un tuto adapté? 8-O

    Merci

  81. 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

  82. 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

  83. 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 ?

  84. 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!!!

  85. 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+

  86. 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

  87. 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 .

  88. 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+

  89. 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…

  90. 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.

  91. 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 .

  92. je suis désolé mais je ne me sers ni ne connait cyrus.

  93. 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

  94. 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 : 0x800CCC90, Numéro d’erreur : 0x800CCC92

    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

  95. 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!

  96. 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),

  97. c’est corrigé ;)

  98. 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

  99. 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 :)

  100. 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.

  101. 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@ ;-}

  102. 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

  103. patchoch> oui les mots de pass sont cryptés.
    Coolr@ast> il suffit d’utiliser maildrop.
    j’updaterais le tutorial sous peu :)

  104. Bonjour
    Merci pour le tuto.
    Je voudrais savoir est ce qu’on peut intégrer le postfix-mysql avec postfix Ldap c’est à dire avoir un postfix basé sur un annuaire ldap , et des utilisateurs basés sur mysql.
    Merci pour votre aide.
    Nat

Leave a Reply