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édente | Prochaine révisionLes deux révisions suivantes | ||
ateliers:serveurmail:rspamd [2018/01/28 13:30] – Plus de détail sur l'installation okhin | ateliers:serveurmail:rspamd [2018/01/28 13:52] – [Configuration] Update the script to python version okhin | ||
---|---|---|---|
Ligne 31: | Ligne 31: | ||
- | ==== Configuration ==== | + | # |
+ | # Python 3.5+ required | ||
+ | # Script by https:// | ||
+ | # Source adapted to 3.5 from dashie version https:// | ||
- | FIXME: A écrire | + | import sys |
+ | import smtplib | ||
+ | import subprocess | ||
+ | import syslog | ||
+ | import time | ||
- | Script qui permet de faire le pont vers du lmtp. On émule en environnement mail lmtp. | + | t_start = time.time() |
- | Actuellement fonctionnel mais probablement amené à être réécris en GOland | + | |
+ | SMTP_HOST | ||
+ | SMTP_PORT | ||
+ | RSPAMC_BIN | ||
+ | RSPAMC_ADDR = ' | ||
+ | mail_from | ||
+ | rcpt_to | ||
- | <code|h / | + | def size(size, decimal_places): |
- | #!/bin/sh | + | for unit in ['',' |
+ | if size < 1024.0: | ||
+ | | ||
+ | size /= 1024.0 | ||
+ | return " | ||
- | mail_file=$(/bin/mktemp) | + | syslog.openlog(logoption=syslog.LOG_PID, |
- | /bin/echo 'HELO localhost' | + | # Pipe stdin to rspamc, and get the processed mail back |
- | /bin/echo "MAIL FROM: < | + | #XXX: this means the processed mail stays in RAM, which may not be what we want? |
- | /bin/echo "RCPT TO: < | + | completed_process = subprocess.run([RSPAMC_BIN, |
- | / | + | |
+ | | ||
- | /usr/bin/rspamc | + | # Remove ' |
+ | mail_contents = completed_process.stdout | ||
+ | mail_contents = b' | ||
- | /bin/echo '' | + | with smtplib.SMTP(SMTP_HOST, |
- | /bin/echo '.' >> $mail_file | + | |
- | /bin/echo ' | + | |
- | cut_file=$(/bin/mktemp) | + | t_end = time.time() |
- | /bin/sed '/ | + | |
- | /bin/rm " | + | |
- | count=0; IFS=''; | + | syslog.syslog("rspamd-bridge processed {} mail in {}".format(size(len(mail_contents), |
- | + | ||
- | /bin/rm " | + | |
- | </ | + |
ateliers/serveurmail/rspamd.txt · Dernière modification : 2018/01/28 14:01 de okhin