Salut Anne,
ecureuil1 a écrit:bonjour,
J'aimerais connaitre le shéma de récupération des mails avec sme.
Où se situe fechmail, clamav, spamassassin, qmail dans ce shéma?
On va partir du principe que tu parles de SME 7 (SME 6 et avant, c'est assez fortement différent).
qmail gère la la distibution du courrier en interne, et l'expédition du courrier vers l'extérieur. Ce n'est pas lui qui répond aux sollicitations pour le courrier entrant.
Le courrier entrant est traité par qpsmtpd
qpsmtpd se charge de répondre sur le port 25.
A chaque connexion sur le port 25, il fait toute une série de contrôle de validité :
1) Au tout début, contrôle de syntaxe assez strict.
2) Si se controle passe, envoi d'une requête en background pour savoir si l'IP de l'émetteur est valide
3) En attendant la réponse, début de dialogue SMTP pour récupérer l'ensemble des en-têtes (et refus de mail si pas conforme.
4) Si l'IP est valide, réception du mail sans fermeture de la session.
5) Le mail est passé à spamassassin et à clamav, et uniquement si les deux ont donné leur feu vert, qpsmtpd valide la réception du mail au niveau de la source.
Ce process est très lourd (c'est pouquoi les machines doivent être velues en mémoire pour supporter SME 7), mais permet de refuser le mail directement, plutôt que d'envoyer un mail d'échec à un emetteur inexistant.
fetchmail se charge de chercher un mail en POP3 ou IMAP4, et de l'injecter dans le système de messagerie en SMTP standard. Donc, qpsmtpd fait quasiment les mêmes checks pour les courriers 'fetchés' que que les autres, au contrôle d'IP près -puisque en l'occurence, l'IP de fetchmail est forcément locale.
J'ajoute qu'un problème existe actuellement (que je n'ai pas su -encore- contourner) entre qpsmtpd et fetchmail : si un mail fetché est refusé par qpsmtpd, fetchmail essaye d'avertir l'expéditeur, en envoyant un mail. Mais, pour cause d'adresse d'émetteur (de type FETCHMAIL-DAEMON@{nom de machine}.{nom de domaine}) non valide pour qpsmtpd, le message de bounce coince.
ecureuil1 a écrit:j'aimerais rajouter un petit script pour vider les boites mails, des mails vieux de plus de temps de jours chez les différents fai qui hébergent mes mails...
J'ai l'impression que fetchmail n'a toujours pas cette option, soit on laisse tous les mails, soit on garde tous les mails...
Si quelqu'un a une idée du shéma et où je pourrais insérer ce script...
anne
Bonne idée, çà (encore que je ne vois pas l'intérêt de laisser des mails fetchés chez les fai...). Je ne vois pas comment fetchmail pourrait faire ceci, par contre.
Sur ta machine locale, c'est hyper simple :
- Code: Tout sélectionner
find /home/e-smith/files/users/*/Maildir/[le nom du dossier de mail que tu veux nettoyer] -type f -mtime +7 -exec rm -f {} \;
à affiner un peu, mais déjà testé pour nettoyer les répertoires junkmail
A+,
Pascal