Catégorie : Messagerie

[Cyrus] Deplacer une mailbox sur une autre partition

Voici la marche à suivre afin de déplacer une mailbox d’une partition à une autre.

Dans l’exemple, je dispose de deux partitions (cf http://blog.slashroot.fr/?p=1156). La première par défaut (/var/spool/cyrus/mail) et la seconde nommée ‘1’ (/var/spool/cyrus/mail2).

Dans un premier temps il faut s’assurer que Cyrus accepte le déplacement (/etc/imapd.conf) :

allowusermoves: yes

Si modification, on redémarre Cyrus :

/etc/init.d/cyrus2.2 restart

Il ne reste plus qu’a se connecter à la base et déplacer la mailbox :

cyradm --user cyrus localhost

renamemailbox user/johan@em-corporation.fr user/johan@em-corporation.fr 1

Le 1 correspond à la partition cyrus vers laquelle déplacer la mailbox.

Pour finir, on peut vérifier que le déplacement a bien été effectué :

su - cyrus -c "/usr/sbin/mbpath user/johan@em-corporation.fr"
/var/spool/cyrus/mail2/domain/e/em-corporation.fr/j/user/johan

[Cyrus] Déclaration d’une nouvelle partition

Si vous rencontrez un problème d’insuffisance de stockage au niveau de vos BAL que vous ne pouvez pas faire évoluer, il est facilement envisageable de créer une partition supplémentaire.

La première étape consiste à choisir son dossier de destination et de lui affecté les bon droits (dépendant de votre configuration). Pour ma part j’ai simplement ajouté un deuxième disque local monté sur /var/spool/cyrus/mail2 (nous pouvons imaginer plein de scénarios différents).

Mise en place des droits sur le dossier :

chown cyrus:mail /var/spool/cyrus/mail2
chmod 750 /var/spool/cyrus/mail2

Déclaration de la partition à Cyrus (/etc/imapd.conf)

defaultpartition: 1
partition-default: /var/spool/cyrus/mail
partition-1: /var/spool/cyrus/mail2

Pour rappel, la valeur de la defaultpartition indique quelle partition va utiliser cyrus pour stocker les BAL des nouveaux utilisateurs.

[Awstats] Installation et configuration pour postfix

Installation de awstats sous Squeeze :

apt-get install awstats

Configuration de awstats pour postfix :

cp /etc/awstats/awstats.conf /etc/awstats/awstats.postfix.conf 
cp /usr/share/doc/awstats/examples/maillogconvert.pl /usr/share/awstats

Ensuite il faut éditer le fichier de conf « /etc/awstats/awstats.postfix.conf » afin de personnaliser l’interface pour coller au mieux à postfix :

LogFile="/usr/share/awstats/maillogconvert.pl standard < /var/log/mail.log |"
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
SiteDomain="mysteryland.emc.fr"
DirIcons="./icon"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForSearchEnginesDetection=0
LevelForKeywordsDetection=0
LevelForFileTypesDetection=0
LevelForWormsDetection=0
ShowMonthStats=UHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowOSStats=0
ShowBrowsersStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1

Création de la page web :

mkdir /var/www/awstats 
ln -s /usr/share/awstats/icon /var/www/awstats/icon

Génération des données :

/usr/lib/cgi-bin/awstats.pl -config=postfix -update

Génération des reports HTML :

/usr/lib/cgi-bin/awstats.pl -config=postfix -output -staticlink > /var/www/awstats/index.html

L’interface se trouve à l’adresse http://@IP/awstats

Pour une mise à jour automatique de l’interface il suffit de renseigner la crontab (crontab -e) :

*/5 * * * * /usr/lib/cgi-bin/awstats.pl -config=postfix -update
*/5 * * * * /usr/lib/cgi-bin/awstats.pl -config=postfix -output -staticlink > /var/www/awstats/index.html

Les rapports seront maintenant générés toutes les cinq minutes (à partir du fichier de log « mail.log »).

Il est bien évidement possible de modifier le fichier de configuration au niveau des UHBML afin de personnaliser différement l’interface.

[Cyrus] Valeurs des ACL

Les ACL peuvent prendre comme valeur : none, read (lrs), post (lrsp), append (lrsip), write (lrswipcd), all (lrswipcda), ou n’importe quelle combinaison faite a partir des droits :

l

Lister les messages (LIST/LSUB/UNSEEN)

r

Lire les messages (SELECT, CHECK, FETCH, PARTIAL, SEARCH, COPY)

s

Marquer les messages comme lus (STORE \SEEN)

w

Ecrire des messages (\SEEN \DELETED)

i

Insérer des messages (APPEND, COPY)

p

Envoyer des messages

c

Créer et supprimer des sous-boites (CREATE, RENAME, DELETE)

d

Supprimer des messages (STORE \DELETED, EXPUNGE)

a

Changer les ACL de la boite (SETACL)

[Cyrus] Gestion des droits

Connexion à cyrus :

cyradm –user cyrus localhost

Affichage de la liste d’accès ou ACL de la BAL souhaitée avec la commande lam :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

Ajout des droits en lecture sur toute la boite support à l’utilisateur souhaité :

localhost> sam support@em-corporation.fr johan@em-corporation.fr lrs

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
johan@em-corporation.fr lrs
cyrus lrswipcda

Suppression d’accès sur une BAL :

localhost> deleteacl user/support@em-corporation.fr johan@em-corporation.fr

Vérification :

localhost> lam user/support@em-corporation.fr
support@em-corporation.fr lrswipcda
cyrus lrswipcda

A noter que les droits donnés aux utilisateurs sont toujours affiché sur les BAL qui partagent les données.

Principes de la messagerie électronique

Généralités

Voici le fonctionnement général de l’acheminement d’un courriel d’un destinataire à un autre. Dans cet exemple, Jean-Bob souhaite envoyer un message à Billy.

Jean-Bob appartient au domaine de messagerie emc.fr et Billy au domaine yahoo.co.uk. Chacun dispose d’un serveur de messagerie (MTA et MDA) correspondant à leur domaine.

  1. Jean-Bob rédige son message et l’envoie grâce à son MUA. Le message est acheminé au serveur SMTP de son domaine.
  2. Le MTA du domaine emc.fr reçoit le message et constate que le destinataire n’est pas dans ses destinations. Il cherche alors grâce à DNS si un MTA existe pour le domaine yahoo.co.uk. Une fois qu’il la trouvé il envoie le message à ce MTA qui le dépose alors la boite aux lettres de Billy par l’intermédiaire du MDA.
  3. Billy souhaite relever son courrier et envoie donc une requête à son serveur POP via son MUA.
  4. Le serveur POP consulte la boite aux lettres de Billy et constate qu’il y a un message.

(suite…)