mail
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mail [2012/05/05 08:58] – mb | mail [2019/09/29 15:34] (current) – [account creation] mb | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| marmot provides a multi-domain IMAP/SMTP mail service, powered by [[http:// | marmot provides a multi-domain IMAP/SMTP mail service, powered by [[http:// | ||
| - | |||
| - | It doesn' | ||
| All IPC with backend services (spamd, clamd, pgsql, lmtpd) is performed over unix domain sockets. | All IPC with backend services (spamd, clamd, pgsql, lmtpd) is performed over unix domain sockets. | ||
| Line 18: | Line 16: | ||
| This is really a side-effect of the features' | This is really a side-effect of the features' | ||
| + | |||
| + | For example, to undelete everything you have expunged today, run the following as the '' | ||
| + | |||
| + | cyrus@marmot:/ | ||
| + | restoring expunged messages in mailbox ' | ||
| + | restored 297 expunged messages | ||
| ===== webmail ===== | ===== webmail ===== | ||
| [[http:// | [[http:// | ||
| + | |||
| + | The HTTP Digest authentication is backed by PostgreSQL; if you restart the database (eg for a security update) you'll need to do an ''/ | ||
| ===== server-side filtering ===== | ===== server-side filtering ===== | ||
| Line 47: | Line 53: | ||
| If it's a new domain, please add it to the '' | If it's a new domain, please add it to the '' | ||
| - | Then use '' | + | Then use '' |
| + | |||
| + | ==== shared mailboxes ==== | ||
| + | |||
| + | A mailbox which does //not// begin '' | ||
| + | |||
| + | localhost> | ||
| + | anyone p | ||
| + | lentinj@wormnet.eu lrswipkxtecd | ||
| + | mb@wormnet.eu lrswipkxtecd | ||
| + | |||
| + | If, as in this example, you set '' | ||
| ===== aliases/ | ===== aliases/ | ||
| Line 64: | Line 81: | ||
| Malware is rejected at SMTP time; a suitable SpamAssassin score (currently 5.0) will cause a rejection too. So will a dodgy attachment extension, or more general MIME-corruptness. However, even after a 550 after the DATA phase, Exim can store the message somewhere. This allows us to examine mail we've rejected :) | Malware is rejected at SMTP time; a suitable SpamAssassin score (currently 5.0) will cause a rejection too. So will a dodgy attachment extension, or more general MIME-corruptness. However, even after a 550 after the DATA phase, Exim can store the message somewhere. This allows us to examine mail we've rejected :) | ||
| + | |||
| + | ==== SpamAssassin Bayesian classifier training folders ==== | ||
| + | |||
| + | Please note these as their filesystem locations below, suitable for cutting & pasting. Please ensure that ham folders //only// contain ham, and spam folders //only// spam. If you put something in the wrong folder, please delete it, expunge it and then ask postmaster to purge the expunged files. | ||
| + | |||
| + | === ham === | ||
| + | |||
| + | sa-learn --ham --progress / | ||
| + | |||
| + | === spam === | ||
| + | |||
| + | sa-learn --spam --progress / | ||
| + | sa-learn --spam --progress / | ||
| + | sa-learn --spam --progress / | ||
| + | sa-learn --spam --progress / | ||
| + | sa-learn --spam --progress / | ||
| ===== DKIM ===== | ===== DKIM ===== | ||
| Line 71: | Line 104: | ||
| INSERT INTO dkim VALUES (' | INSERT INTO dkim VALUES (' | ||
| | | ||
| - | Then generate a keypair on marmot: | + | Then generate a keypair on marmot |
| + | SELECTOR=" | ||
| cd / | cd / | ||
| mkdir -m 750 wormnet.eu | mkdir -m 750 wormnet.eu | ||
| cd wormnet.eu | cd wormnet.eu | ||
| - | openssl genrsa -out cat 1024 | + | openssl genrsa -out ${SELECTOR} |
| - | openssl rsa -in cat -out cat.pub -pubout -outform PEM | + | openssl rsa -in ${SELECTOR} |
| - | chmod o= cat* | + | chmod o= ${SELECTOR}* |
| + | echo " | ||
| And finally mangle the public key into a DNS TXT record. See [[http:// | And finally mangle the public key into a DNS TXT record. See [[http:// | ||
| - | _adsp._domainkey IN TXT " | + | _adsp._domainkey IN TXT "dkim=all;" |
| - | cat._domainkey | + | cat._domainkey |
| + | ==== key rotation ==== | ||
| + | |||
| + | Just make a new keypair (with a new name) / and associated TXT record. Then '' | ||
| + | |||
| + | People seem to think rotating keys quarterly is a good idea. | ||
| ===== Allowing mail relaying from particular hosts ===== | ===== Allowing mail relaying from particular hosts ===== | ||
| Line 91: | Line 131: | ||
| ===== packages ===== | ===== packages ===== | ||
| - | Mail on wormnet is provided by the following Debian packages (where a * denotes a backport from testing or unstable): | + | Mail on wormnet is provided by the following Debian packages (where a * denotes a backport from testing or unstable |
| - | * exim4-daemon-heavy* (MTA) | + | * exim4-daemon-heavy* (MTA) //(need to hack the '' |
| * clamav-daemon (antivirus) | * clamav-daemon (antivirus) | ||
| * spamassassin (main anti-spam thing, plus lots of friggery) | * spamassassin (main anti-spam thing, plus lots of friggery) | ||
| - | * cyrus-imapd-2.4* (IMAP server) (need to hack the '' | + | * cyrus-imapd-2.4* (IMAP server) |
| * libsasl2-modules-sql (accounts, passwords) | * libsasl2-modules-sql (accounts, passwords) | ||
| * postgresql-8.4 | * postgresql-8.4 | ||
mail.1336208331.txt.gz · Last modified: 2012/05/05 08:58 by mb