ateliers:serveurmail:rspamd
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ateliers:serveurmail:rspamd [2017/05/14 14:54] – dove | ateliers:serveurmail:rspamd [2018/01/28 14:01] (Version actuelle) – Typos okhin | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
==== Ressources ==== | ==== Ressources ==== | ||
- | FIXME: A écrire | + | [[https:// |
+ | [[https:// | ||
==== Installation ==== | ==== Installation ==== | ||
__Ajout repository non-officiel__ : | __Ajout repository non-officiel__ : | ||
+ | |||
+ | Le repository officiel de debian n'est plus maintenu, il fautd onc utiliser la version upstream. | ||
+ | |||
+ | Le fichier ''/ | ||
+ | |||
+ | $ wget -O- https:// | ||
<code|h / | <code|h / | ||
- | deb http:// | + | deb http:// |
</ | </ | ||
Ligne 23: | Ligne 30: | ||
FIXME: A écrire | FIXME: A écrire | ||
+ | < | ||
+ | # | ||
+ | # Python 3.5+ required | ||
+ | # Script by https:// | ||
+ | # Source adapted to 3.5 from dashie version https:// | ||
- | ==== Configuration ==== | + | import sys |
+ | import smtplib | ||
+ | import subprocess | ||
+ | import syslog | ||
+ | import time | ||
- | FIXME: A écrire | + | t_start = time.time() |
- | Script qui permet de faire le pont vers du lmtp. Actuellement fonctionnel mais probablement amené à être réécris en GOland | + | SMTP_HOST |
+ | SMTP_PORT | ||
+ | RSPAMC_BIN | ||
+ | RSPAMC_ADDR = ' | ||
- | <code|h / | + | mail_from |
- | #!/bin/sh | + | rcpt_to |
- | mail_file=$(/bin/mktemp) | + | def size(size, decimal_places): |
+ | for unit in ['',' | ||
+ | if size < 1024.0: | ||
+ | break | ||
+ | size /= 1024.0 | ||
+ | return " | ||
- | /bin/echo 'HELO localhost' | + | syslog.openlog(logoption=syslog.LOG_PID, |
- | /bin/echo "MAIL FROM: < | + | |
- | /bin/echo "RCPT TO: < | + | |
- | /bin/echo ' | + | |
- | /usr/bin/rspamc --mime -h 127.0.0.1: | + | # Pipe stdin to rspamc, and get the processed mail back |
+ | #XXX: this means the processed mail stays in RAM, which may not be what we want? | ||
+ | completed_process = subprocess.run([RSPAMC_BIN, | ||
+ | | ||
+ | | ||
- | / | + | # Remove |
- | / | + | mail_contents = completed_process.stdout |
- | / | + | mail_contents = b'\n'.join(l for l in mail_contents.split(b'\n') if not l.startswith(b'Delivered-To')) |
- | cut_file=$(/bin/mktemp) | + | with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as smtp: |
- | /bin/sed '/ | + | |
- | /bin/rm " | + | |
- | count=0; IFS=''; | + | t_end = time.time() |
- | / | + | syslog.syslog("rspamd-bridge processed {} mail in {}".format(size(len(mail_contents), |
</ | </ |
ateliers/serveurmail/rspamd.txt · Dernière modification : 2018/01/28 14:01 de okhin