Labor2 E-post: Difference between revisions
Line 119: | Line 119: | ||
Pythoni rakendus e-posti saatmiseks:<br> | Pythoni rakendus e-posti saatmiseks:<br> | ||
import smtplib<br> | import smtplib<br> | ||
fromaddr = "'''[ | fromaddr = "'''[saatja@aadress]'''"<br> | ||
toaddrs = "'''[ | toaddrs = "'''[siht@aadress]'''"<br> | ||
msg = "'''[Sõnumisisu]'''?\n"<br> | msg = "'''[Sõnumisisu]'''?\n"<br> | ||
server = smtplib.SMTP('localhost')<br> | server = smtplib.SMTP('localhost')<br> |
Revision as of 08:51, 14 December 2009
Legend
Ver. 0.00, 03.11.2009
Ver. 0.01, 14.12.2009
Tegijad
Sander Surva
Ken Karma
Lauri Võsandi
Nõuded
- domeenid kkarma ja ssurva
- d1 viirusetõrjega
- d1 spammifilter
- logima syslog-i + eraldi faili
+----+ +----+ | D1 | ------> | D2 | +----+ +----+
Eeldused
Operatsioonisüsteemiks peab olema Ubuntu Server, mis jookseb kernelil 2.6.28-11
Enne vaja seadistada DNS
kasutame BIND-i, põhjalikuma leheküle leiab: [1]
apt-get install bind9
kohalikud domeenid kkarma ja ssurva paigutame faili /etc/bind/named.conf.local
Installeerimine
mida vaja installida:
mailscanner(?)
spamassassin (?)
sendmail või postfix
clamAV (?)
Kõik installeerimised on tehtud root kasutaja alt, kui toiminguid tehakse root õigst omava kasutaja alt siis tuleb iga käsu ette lisada sudo !
E-postiserveriks valitud "Postfix'i" installeerimine:
apt-get install postfix
Spammiga hakkab võitlema "Spamassassin", installeerime:
apt-get install spamassassin
Viiruste kontrolliga tegeleb ClamSMTP
apt-get install clamsmtp
Konfigureerimine
Postfix võtab vastu posti ka väljastpoolt ning salvestab /var/mail alla.
Käsurea rakendusega 'mail' saab seda sealt lugeda.
Vaikimisi Postfixi seadistus EI luba open relay'd, selleks et Courer need e-kirjad kätte saaks, tuleb lisada /etc/postfix/main.cf faili rida:
Template:Home mailbox = Maildir/
See tähendab, et e-kirjad salvestatakse ~/Maildir kataloogi mitte /var/mail alla nagu vanasti.
Postfixi seadistusfail asub:
/etc/postfix/master.cf
Ava: /etc/postfix/master.cf ja tee kindlaks et seal on sellised read:
'smtp inet n - - - - smtpd # Kuula pordil 25
-o content_filter=clamav:127.0.0.1:10030 # Saada edasi kohaliku masia pordile 10030
10025 inet n - - - - smtpd # Kuula pordil 10025
-o content_filter=spamassassin # Saada läbi SpamAssassini UNIX socketi (vt allpool)
smtps inet n - - - - smtpd # Kuula TLS'iga krüpteeritud ühendusi pordil 465
-o smtpd_sasl_auth_enable=yes # Luba autentimine läbi SASL+PAM'
Sama faili lõppu tuleks veel lisada filtri definitsioon:
spamassassin unix - n n - - pipe
user=nobody argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
clamav unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
Spamassassin'i seadistusfail asub:
/etc/default/spamassassin
ClamSMTP seadistusfail asub:
Seadista /etc/clamsmtpd.conf
- Port kuhu edasi suunata meilid
OutAddress: 10025
- Kuula SMTP ühendusi kohaliku masina pordil 10030
Listen: 127.0.0.1:10030
- ClamAV deemon laetakse üks kord mällu ning ta kuulab clamd.ctl UNIX socketil
- ClamSMTPD on lihtsalt üks ClamAV deemoni "klientidest" mis ühendub sinna socketisse
- Iga meili jaoks ClavAV andmebaasi laadimine oleks lihtsalt väga aeglane
ClamAddress: /var/run/clamav/clamd.ctl
- Kasutaja kellena ClamSMTPD jookseb
User: clamsmtp
TempDirectory: /var/spool/clamsmtp PidFile: /var/run/clamsmtp/clamsmtpd.pid
- MaxConnections: 64
- TimeOut: 180
- Header: X-AV-Checked: ClamAV using ClamSMTP
- Bounce: off
- Quarantine: off
- TransparentProxy: off
Testimine
Selleks, et oleks lihtne testida teeme sellise faili, mille sisuks on:
Pythoni rakendus e-posti saatmiseks:
import smtplib
fromaddr = "[saatja@aadress]"
toaddrs = "[siht@aadress]"
msg = "[Sõnumisisu]?\n"
server = smtplib.SMTP('localhost')
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Seejärel k2ivitame selle meili saatmse:
python <eelpool loodud faili nimi>