Serveur de messagerie · 18 min read · Oct 09, 2025

Le cluster Web parfait équilibré et à haute disponibilité avec 2 serveurs exécutant Xen sur Ubuntu 8.04 Hardy Heron - Page 5

11. Serveur de messagerie (web1, web2)

11.1 Installer Postfix, Courier, Saslauthd, MySQL, phpMyAdmin

Installer Postfix, Courier, Saslauthd, MySQL, phpMyAdmin :

apt-get install postfix postfix-mysql postfix-doc courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl phpmyadmin libpam-smbpass

Vous serez invité à répondre à quelques questions :

Créer des répertoires pour l’administration web ? <– Non
Type général de configuration de messagerie : <– Site Internet
Nom de la messagerie système : <– web1.example.com (ou web2.example.com)
Certificat SSL requis <– Ok
Serveur web à reconfigurer automatiquement : <– apache2

11.2 Configurer Postfix

Maintenant, nous devons dire à Postfix où il peut trouver toutes les informations dans la base de données. Par conséquent, nous devons créer six fichiers texte. Vous remarquerez que je dis à Postfix de se connecter à MySQL à l’adresse IP 127.0.0.1 au lieu de localhost. C’est parce que Postfix s’exécute dans une prison chroot et n’a pas accès au socket MySQL auquel il essaierait de se connecter si je disais à Postfix d’utiliser localhost. Si j’utilise 127.0.0.1, Postfix utilise le réseau TCP pour se connecter à MySQL, ce qui ne pose aucun problème même dans une prison chroot (l’alternative serait de déplacer le socket MySQL dans la prison chroot, ce qui entraîne d’autres problèmes).

Maintenant, créons nos six fichiers texte.

vi /etc/postfix/mysql-virtual_domains.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain='%s'
hosts = 127.0.0.1

vi /etc/postfix/mysql-virtual_forwardings.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT destination FROM forwardings WHERE source='%s'
hosts = 127.0.0.1

vi /etc/postfix/mysql-virtual_mailboxes.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = 127.0.0.1

vi /etc/postfix/mysql-virtual_email2email.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT email FROM users WHERE email='%s'
hosts = 127.0.0.1

vi /etc/postfix/mysql-virtual_transports.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT transport FROM transport WHERE domain='%s'
hosts = 127.0.0.1

vi /etc/postfix/mysql-virtual_transports_notactive.cf

user = mail_admin
password = mail_admin_password
dbname = mail
query = SELECT transport FROM domains WHERE domain='%s'
hosts = 127.0.0.1

Ensuite, changez les permissions et le groupe de ces fichiers :

chmod o= /etc/postfix/mysql-virtual*.cf
chgrp postfix /etc/postfix/mysql-virtual
*.cf

Maintenant, nous créons un utilisateur et un groupe appelés vmail avec le répertoire personnel /home/vmail. C’est là que toutes les boîtes aux lettres seront stockées.

groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m
passwd vmail

Ensuite, nous faisons quelques configurations de Postfix.

Assurez-vous de mettre le bon ‘myhostname’ et ‘mydestination’ sur web2.example.com :

postconf -e ‘myhostname = web1.example.com’
postconf -e ‘mydestination = web1.example.com, localhost, localhost.localdomain’
postconf -e ‘mynetworks = 127.0.0.0/8’
postconf -e ‘virtual_alias_domains =’
postconf -e ‘virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf’
postconf -e ‘virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf’
postconf -e ‘virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf’
postconf -e ‘virtual_mailbox_base = /home/vmail’
postconf -e ‘virtual_uid_maps = static:5000’
postconf -e ‘virtual_gid_maps = static:5000’
postconf -e ‘smtpd_sasl_auth_enable = yes’
postconf -e ‘broken_sasl_auth_clients = yes’
postconf -e ‘smtpd_sasl_authenticated_header = yes’
postconf -e ‘smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination’
postconf -e ‘smtpd_use_tls = yes’
postconf -e ‘smtpd_tls_cert_file = /etc/postfix/smtpd.cert’
postconf -e ‘smtpd_tls_key_file = /etc/postfix/smtpd.key’
postconf -e ‘transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf’
postconf -e ‘virtual_create_maildirsize = yes’
postconf -e ‘virtual_mailbox_extended = yes’
postconf -e ‘proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks’

Ensuite, nous créons le certificat SSL nécessaire pour TLS :

cd /etc/postfix
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Nom du pays (code à 2 lettres) [AU] : <– Entrez le nom de votre pays (par exemple, “DE”).
Nom de l’État ou de la province (nom complet) [Some-State] : <– Entrez le nom de votre État ou province.
Nom de la localité (par exemple, ville) [] : <– Entrez votre ville.
Nom de l’organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <– Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l’unité organisationnelle (par exemple, section) [] : <– Entrez le nom de votre unité organisationnelle (par exemple, “Service informatique”).
Nom commun (par exemple, VOTRE nom) [] : <– Entrez le nom de domaine complet du système (par exemple, “server1.example.com”).
Adresse e-mail [] : <– Entrez votre adresse e-mail.

Ensuite, changez les permissions de smtpd.key :

chmod o= /etc/postfix/smtpd.key

11.3 Solution au problème de messagerie locale sur web2.example.com

Lorsque nous configurerons ldirectord, seul web1.example.com sera actif pour SMTP (port 25). Notre deuxième serveur sera en attente et prendra le rôle actif uniquement si postfix échoue sur web1.example.com.

La raison pour laquelle nous faisons cela est que si les deux serveurs sont actifs sur le port 25, la moitié des courriers de l’extérieur ira sur web1 et l’autre moitié sur web2. Ce serait un cauchemar à synchroniser…

Cela fonctionne bien pour les courriers de l’extérieur, mais pour le courrier local sur web2.example.com, il sera livré localement. En d’autres termes, disons que vous avez un formulaire “contactez-nous” sur votre site Web qui envoie un e-mail et que le visiteur est sur web2.example.com, le courrier n’atteindra jamais web1.example.com où tous les courriers devraient aller. Cela se produit parce que lorsqu’un courrier est envoyé de web2.example.com à [email protected], par exemple, il demande au serveur DNS quelle est l’adresse du serveur de messagerie de example.com, obtient une réponse de 192.168.1.106 qui est lui-même, donc le courrier ne quitte jamais le serveur.

Le truc est d’utiliser le transport de postfix pour envoyer le courrier local à web1.example.com.

Pour y parvenir, nous utiliserons un script bash qui s’exécutera chaque minute et qui enverra le courrier local à web1.example.com :

web2.example.com

vi /root/check_smtp

#!/bin/bash
# Correction du courrier local pour l'équilibrage de charge
# Copyright (c) 2008 blogama.org
# Ce script est sous licence GNU GPL version 2.0 ou supérieure
# ---------------------------------------------------------------------
### Le but de ce script est de corriger le problème de messagerie locale avec l'équilibrage de charge ###
### Si quelqu'un peut faire fonctionner ce script avec postconf -e au lieu de sed (laid)
### pour modifier /etc/postfix/main.cf AVEC CRONTAB faites-le moi savoir, cela n'a pas fonctionné pour moi
### À modifier ###
MASTERSERVER="web1.example.com"
###### Ne pas faire de modifications ci-dessous ######
### Binaires ###
MAIL=$(which mail)
TELNET=$(which telnet)
#Ce 
POSTCONF="/etc/postfix/main.cf"
### Vérifiez si le serveur 1 répond sur smtp ###
(
echo "quit"
) | $TELNET $MASTERSERVER 25 | grep Connected > /dev/null 2>&1
if [ "$?" -ne "1" ]; then
  ### Si lors d'une tentative précédente web1 ne se connectait pas mais maintenant se connecte, web2 transférera tout le courrier local à web1 ###
  if [ -f smtpactive ]; then
    sed -i 's/transport_maps = .*/transport_maps = proxy:mysql:\/etc\/postfix\/mysql-virtual_transports_notactive.cf/' $POSTCONF
    /etc/init.d/postfix restart
    rm /root/smtpactive
  ### Si lors d'une tentative précédente web1 se connectait et se connecte toujours, ne rien faire et quitter ###
  else
    exit 1;
  fi
 
el
  ### Si lors d'une tentative précédente web1 ne se connectait pas et ne se connecte toujours pas, web2 est déjà actif pour le courrier local, ne rien faire et quitter ###
  cd /root
  if [ -f smtpactive ]; then
    exit 1;
  fi
  ### Si lors d'une tentative précédente web1 se connectait mais maintenant ne se connecte pas, web2 prendra le rôle actif pour le courrier local ###
  echo "SMTP actif sur web2" > /root/smtpactive
  sed -i 's/transport_maps = .*/transport_maps = proxy:mysql:\/etc\/postfix\/mysql-virtual_transports.cf/' $POSTCONF
  /etc/init.d/postfix restart
fi

chmod +x /root/check_smtp

Maintenant, nous allons transférer tout le courrier local à web1.example.com en faisant ce qui suit :

postconf -e ‘transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports_notactive.cf
/etc/init.d/postfix restart

et ajoutez le script à votre crontab :

crontab -e

[...]
* * * * * /root/check_smtp >/dev/null 2>&1
[...]  

11.4 Configurer Saslauthd

mkdir -p /var/spool/postfix/var/run/saslauthd

Ensuite, éditez /etc/default/saslauthd. Mettez START à yes et changez la ligne OPTIONS=”-c -m /var/run/saslauthd” en OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r” :

vi /etc/default/saslauthd

#
# Paramètres pour le démon saslauthd
# Veuillez lire /usr/share/doc/sasl2-bin/README.Debian pour plus de détails.
#
# Le saslauthd doit-il s'exécuter automatiquement au démarrage ? (par défaut : non)
START=yes
# Description de cette instance de saslauthd. Recommandé.
# (suggestion : SASL Authentication Daemon)
DESC="SASL Authentication Daemon"
# Nom court de cette instance de saslauthd. Fortement recommandé.
# (suggestion : saslauthd)
NAME="saslauthd"
# Quels mécanismes d'authentification saslauthd doit-il utiliser ? (par défaut : pam)
#
# Options disponibles dans ce paquet Debian :
# getpwent  -- utiliser la fonction de bibliothèque getpwent()
# kerberos5 -- utiliser Kerberos 5
# pam       -- utiliser PAM
# rimap     -- utiliser un serveur IMAP distant
# shadow    -- utiliser le fichier de mots de passe shadow local
# sasldb    -- utiliser le fichier de base de données sasldb local
# ldap      -- utiliser LDAP (la configuration est dans /etc/saslauthd.conf)
#
# Une seule option peut être utilisée à la fois. Voir la page de manuel saslauthd
# pour plus d'informations.
#
# Exemple : MECHANISMS="pam"
MECHANISMS="pam"
# Options supplémentaires pour ce mécanisme. (par défaut : aucune)
# Voir la page de manuel saslauthd pour des informations sur les options spécifiques au mécanisme.
MECH_OPTIONS=""
# Combien de processus saslauthd devons-nous exécuter ? (par défaut : 5)
# Une valeur de 0 créera un nouveau processus pour chaque connexion.
THREADS=5
# Autres options (par défaut : -c -m /var/run/saslauthd)
# Remarque : Vous DEVEZ spécifier l'option -m ou saslauthd ne s'exécutera pas !
#
# Voir /usr/share/doc/sasl2-bin/README.Debian pour des informations spécifiques à Debian.
# Voir la page de manuel saslauthd pour des informations générales sur ces options.
#
# Exemple pour les utilisateurs de postfix : "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Ensuite, créez le fichier /etc/pam.d/smtp. Il doit contenir uniquement les deux lignes suivantes (assurez-vous de remplir vos détails de base de données corrects) :

vi /etc/pam.d/smtp

auth    required   pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1

Ensuite, créez le fichier /etc/postfix/sasl/smtpd.conf. Il doit ressembler à ceci :

vi /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: mail_admin_password
sql_database: mail
sql_select: select password from users where email = '%u'

Ensuite, ajoutez l’utilisateur postfix au groupe sasl (cela garantit que Postfix a la permission d’accéder à saslauthd) :

adduser postfix sasl

Ensuite, redémarrez Postfix et Saslauthd :

/etc/init.d/postfix restart
/etc/init.d/saslauthd restart

11.5 Configurer Courier

Maintenant, nous devons dire à Courier qu’il doit s’authentifier contre notre base de données MySQL. Tout d’abord, éditez /etc/courier/authdaemonrc et changez la valeur de authmodulelist pour qu’elle se lise :

vi /etc/courier/authdaemonrc

[...]
authmodulelist="authmysql"
[...]

Ensuite, faites une sauvegarde de /etc/courier/authmysqlrc et videz l’ancien fichier :

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig
cat /dev/null > /etc/courier/authmysqlrc

Ensuite, ouvrez /etc/courier/authmysqlrc et mettez les lignes suivantes :

vi /etc/courier/authmysqlrc

MYSQL_SERVER localhost
MYSQL_USERNAME mail_admin
MYSQL_PASSWORD mail_admin_password
MYSQL_PORT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE users
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_UID_FIELD 5000
MYSQL_GID_FIELD 5000
MYSQL_LOGIN_FIELD email
MYSQL_HOME_FIELD "/home/vmail"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
#MYSQL_NAME_FIELD
#MYSQL_QUOTA_FIELD quota

Ensuite, redémarrez Courier :

/etc/init.d/courier-authdaemon restart
/etc/init.d/courier-imap restart
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop restart
/etc/init.d/courier-pop-ssl restart

En exécutant

telnet localhost pop3

vous pouvez voir si votre serveur POP3 fonctionne correctement. Il devrait renvoyer +OK Hello there. (Tapez quit pour revenir au shell Linux.)

root@server1:/etc/postfix# telnet localhost pop3
Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
+OK Hello there.
quit
+OK Better luck next time.
Connection closed by foreign host.

11.6 Modifier /etc/aliases

Maintenant, nous devrions ouvrir /etc/aliases. Assurez-vous que le postmaster pointe vers root et root vers votre propre nom d’utilisateur ou votre adresse e-mail, par exemple comme ceci :

vi /etc/aliases

[...]
postmaster: root
root: [email protected]
[...]

Chaque fois que vous modifiez /etc/aliases, vous devez exécuter

newaliases

ensuite et redémarrer Postfix :

/etc/init.d/postfix restart

11.7 Spamassassin

Maintenant, nous allons installer Spamassassin :

apt-get install spamassassin spamc

Nous voulons qu’il s’exécute en tant que non-root, donc ajoutez un utilisateur et un groupe spamd :

groupadd spamd
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
mkdir /var/log/spamassassin
chown spamd:spamd /var/log/spamassassin

Éditez /etc/default/spamassassin pour que ces options soient définies :

vi /etc/default/spamassassin

# /etc/default/spamassassin
# Duncan Findlay
# AVERTISSEMENT : veuillez lire README.spamd avant d'utiliser.
# Il peut y avoir des risques de sécurité.
# Changez à un pour activer spamd
ENABLED=1
# Options
# Voir man spamd pour les options possibles. L'option -d est automatiquement ajoutée.
# SpamAssassin utilise un modèle de pré-forking, donc faites attention ! Vous devez vous assurer que --max-children n'est pas réglé sur quelque chose de plus de 5,
# à moins que vous ne sachiez ce que vous faites.
#OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
SAHOME="/var/log/spamassassin/"
OPTIONS="--create-prefs --max-children 5 --username spamd -H ${SAHOME} -s ${SAHOME}spamd.log"
# Fichier PID
# Où spamd doit-il écrire son PID dans un fichier ? Si vous utilisez l'option -u ou
# --username ci-dessus, cela doit être accessible en écriture par cet utilisateur.
# Sinon, le script d'initialisation ne pourra pas arrêter spamd.
PIDFILE="/var/run/spamd.pid"
# Définir le niveau de nice de spamd
#NICE="--nicelevel 15"
# Cronjob
# Réglez sur n'importe quoi sauf 0 pour activer le cron job pour mettre à jour automatiquement
# les règles de spamassassin sur une base nocturne
CRON=0

Démarrez le démon spamassassin :

/etc/init.d/spamassassin start

Nous allons ajouter spamassassin à postfix en faisant ce qui suit :

vi /etc/postfix/master.cf

Éditez la première ligne du fichier de configuration pour qu’elle ressemble à ceci :

smtp      inet  n       -       -       -       -       smtpd -o content_filter=spamassassin

Et ajoutez ceci à la fin du fichier :

spamassassin unix -     n       n       -       -       pipe
        user=spamd argv=/usr/bin/spamc -f -e  
        /usr/sbin/sendmail -oi -f ${sender} ${recipient}

11.8 Tester Postfix

Pour voir si Postfix est prêt pour SMTP-AUTH et TLS, exécutez

telnet localhost 25

Après avoir établi la connexion à votre serveur de messagerie Postfix, tapez

ehlo localhost

Si vous voyez les lignes

250-STARTTLS et 250-AUTH LOGIN PLAIN

tout va bien.

Maintenant, tapez

quit

pour revenir au shell.

11.9 Remplir la base de données

Sur l’un ou l’autre serveur (pas les deux !) :

mysql -u root -p

USE mail; INSERT INTO domains (domain) VALUES (‘example.com’);
INSERT INTO users (email, password) VALUES (‘ [email protected] ‘, ENCRYPT(‘secret’));
quit;

N’OUBLIEZ JAMAIS D’UTILISER LA FONCTION MYSQL ENCRYPT POUR LE MOT DE PASSE !

11.10 Envoyer un e-mail de bienvenue pour créer Maildir

Lorsque vous créez un nouveau compte de messagerie et essayez d’en récupérer des e-mails (avec POP3/IMAP), vous recevrez probablement des messages d’erreur disant que le Maildir n’existe pas. Le Maildir est créé automatiquement lorsque le premier e-mail arrive pour le nouveau compte. Par conséquent, il est judicieux d’envoyer un e-mail de bienvenue à un nouveau compte.

Tout d’abord, nous installons le paquet mailx :

apt-get install mailx

Pour envoyer un e-mail de bienvenue à [email protected], nous faisons ceci :

mailx [email protected]

Vous serez invité à entrer le sujet. Tapez le sujet (par exemple, Bienvenue), puis appuyez sur ENTRÉE, et dans la ligne suivante, tapez votre message. Lorsque le message est terminé, appuyez à nouveau sur ENTRÉE pour que vous soyez sur une nouvelle ligne, puis appuyez sur CTRL+D ; si vous ne voulez pas mettre en copie le mail, appuyez à nouveau sur ENTRÉE :

root@server1:/usr/local/sbin# mailx [email protected] Sujet : Bienvenue <– ENTRÉE Bienvenue ! Amusez-vous avec votre nouveau compte de messagerie. <– ENTRÉE <– CTRL+D Cc : <– ENTRÉE

11.11 Installer SquirrelMail

SquirrelMail est une interface webmail qui permettra à vos utilisateurs d’envoyer et de recevoir des e-mails dans un navigateur. Ce chapitre montre comment l’installer et l’ajuster à notre configuration afin que les utilisateurs puissent même changer leur mot de passe de compte de messagerie depuis l’interface SquirrelMail.

Pour installer SquirrelMail, nous exécutons :

apt-get install squirrelmail php-pear

Ensuite, nous copions la configuration Apache qui accompagne le paquet SquirrelMail dans le répertoire /etc/apache2/conf.d et redémarrons Apache :

cp /etc/squirrelmail/apache.conf /etc/apache2/conf.d/squirrelmail.conf
/etc/init.d/apache2 restart

SquirrelMail est livré avec quelques plugins préinstallés, malheureusement aucun d’eux n’est capable de nous permettre de changer notre mot de passe de messagerie dans notre base de données MySQL. Mais il y a le plugin Change SQL Password que nous pouvons installer manuellement :

Le plugin dépend du paquet Pear-DB, donc nous l’installons :

pear install DB

Ensuite, nous installons le plugin Change SQL Password lui-même :

cd /usr/share/squirrelmail/plugins
wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_sqlpass-3.3-1.2.tar.gz
tar xvfz change_sqlpass-3.3-1.2.tar.gz
cd change_sqlpass
cp config.php.sample config.php

Maintenant, nous devons éditer config.php et l’ajuster à notre configuration. Veuillez ajuster les variables $csp_dsn, $lookup_password_query, $password_update_queries, $password_encryption, $csp_salt_static et $csp_delimiter comme suit et commenter $csp_salt_query :

mv /usr/share/squirrelmail/plugins/change_sqlpass/config.php /usr/share/squirrelmail/plugins/change_sqlpass/config.php.bak
vi /usr/share/squirrelmail/plugins/change_sqlpass/config.php

et copiez-collez ceci :

Pour référence, les lignes qui ont été modifiées sont les suivantes :

[...]
$csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail';
[...]
$lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4';
[...]
$password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"');
[...]
$password_encryption = 'MYSQLENCRYPT';
[...]
$csp_salt_static = 'LEFT(password, 2)';
[...]
//$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"';
[...]
$csp_delimiter = '@';
[...] 

Le plugin Change SQL Password dépend également du plugin Compatibility que nous installons comme suit :

cd /usr/share/squirrelmail/plugins
wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fcompatibility-2.0.11-1.0.tar.gz
tar xvfz compatibility-2.0.11-1.0.tar.gz

Maintenant, nous devons aller dans la configuration de SquirrelMail et dire à SquirrelMail que nous utilisons Courier comme notre serveur POP3 et IMAP et activer les plugins Change SQL Password et Compatibility :

/usr/sbin/squirrelmail-configure

Vous verrez le menu suivant. Naviguez à travers celui-ci comme indiqué :

Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Menu principal --
1.  Préférences d'organisation
2.  Paramètres du serveur
3.  Paramètres par défaut des dossiers
4.  Options générales
5.  Thèmes
6.  Carnets d'adresses
7.  Message du jour (MOTD)
8.  Plugins
9.  Base de données
10. Langues
D.  Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> <-- D
Configuration SquirrelMail : Lire : config.php
---------------------------------------------------------
Alors que nous construisions SquirrelMail, nous avons découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si
bien avec d'autres.  Si vous sélectionnez votre serveur IMAP, cette option définira
certains paramètres prédéfinis pour ce serveur.
Veuillez noter que vous devrez toujours passer en revue et vous assurer que
tout est correct.  Cela ne change pas tout.  Il n'y a que quelques paramètres que cela changera.
Veuillez sélectionner votre serveur IMAP :
    bincimap    = Serveur IMAP Binc
    courier     = Serveur IMAP Courier
    cyrus       = Serveur IMAP Cyrus
    dovecot     = Serveur IMAP sécurisé Dovecot
    exchange    = Serveur IMAP Microsoft Exchange
    hmailserver = hMailServer
    macosx      = Serveur de messagerie Mac OS X
    mercury32   = Mercury/32
    uw          = Serveur IMAP de l'Université de Washington
    quitter     = Ne rien changer
Commande >> <-- courier
imap_server_type = courier
         default_folder_prefix = INBOX.
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
          default_sub_of_inbox = false
show_contain_subfolders_option = false
            optional_delimiter = .
                 delete_folder = true
Appuyez sur une touche pour continuer... <-- appuyez sur une touche 
Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Menu principal --
1.  Préférences d'organisation
2.  Paramètres du serveur
3.  Paramètres par défaut des dossiers
4.  Options générales
5.  Thèmes
6.  Carnets d'adresses
7.  Message du jour (MOTD)
8.  Plugins
9.  Base de données
10. Langues
D.  Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> <-- 8
Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Plugins
  Plugins installés
  Plugins disponibles :
    1. abook_take
    2. administrateur
    3. rapport_de_bug
    4. calendrier
    5. change_sqlpass
    6. compatibilité
    7. delete_move_next
    8. démo
    9. filtres
    10. fortune
    11. info
    12. listcommands
    13. mail_fetch
    14. message_details
    15. newmail
    16. sent_subfolders
    17. spamcop
    18. squirrelspell
    19. test
    20. translate
R   Retour au menu principal
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> <-- 6 (ou quel que soit le numéro du plugin de compatibilité - il est nécessaire pour le plugin change_sqlpass)
Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Plugins
  Plugins installés
    1. compatibilité
  Plugins disponibles :
    2. abook_take
    3. administrateur
    4. rapport_de_bug
    5. calendrier
    6. change_sqlpass
    7. delete_move_next
    8. démo
    9. filtres
    10. fortune
    11. info
    12. listcommands
    13. mail_fetch
    14. message_details
    15. newmail
    16. sent_subfolders
    17. spamcop
    18. squirrelspell
    19. test
    20. translate
R   Retour au menu principal
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> <-- 6 (le numéro du plugin change_sqlpass)
Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Plugins
  Plugins installés
    1. compatibilité
    2. change_sqlpass
  Plugins disponibles :
    3. abook_take
    4. administrateur
    5. rapport_de_bug
    6. calendrier
    7. delete_move_next
    8. démo
    9. filtres
    10. fortune
    11. info
    12. listcommands
    13. mail_fetch
    14. message_details
    15. newmail
    16. sent_subfolders
    17. spamcop
    18. squirrelspell
    19. test
    20. translate
R   Retour au menu principal
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> <-- S
Configuration SquirrelMail : Lire : config.php (1.4.0)
---------------------------------------------------------
Plugins
  Plugins installés
    1. compatibilité
    2. change_sqlpass
  Plugins disponibles :
    3. abook_take
    4. administrateur
    5. rapport_de_bug
    6. calendrier
    7. delete_move_next
    8. démo
    9. filtres
    10. fortune
    11. info
    12. listcommands
    13. mail_fetch
    14. message_details
    15. newmail
    16. sent_subfolders
    17. spamcop
    18. squirrelspell
    19. test
    20. translate
R   Retour au menu principal
C   Activer la couleur
S   Enregistrer les données
Q   Quitter
Commande >> S
Données enregistrées dans config.php
Appuyez sur entrée pour continuer... <-- appuyez sur une touche 

Maintenant, vous pouvez taper http://192.168.1.104/squirrelmail dans votre navigateur pour accéder à SquirrelMail.

Connectez-vous avec votre adresse e-mail (par exemple, [email protected]) et votre mot de passe

Le mot de passe peut être changé dans Options –> Changer le mot de passe.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.