Services/Mail: Difference between revisions

From DcUsers
Line 82: Line 82:
Teaching the system what is SPAM and HAM (non-SPAM) is called ''retraining''.
Teaching the system what is SPAM and HAM (non-SPAM) is called ''retraining''.


==== Retraining using the Special ''Junk'' Folder (recommended) ====
==== Retraining using the Special ''Junk'' Folder (default, recommended) ====


If you have of create a folder named ''Junk'', then it is automatically magic:
If you have of create a folder named ''Junk'', then it is automatically magic:
Line 89: Line 89:
* with time, certain old mails automatically expire, see below
* with time, certain old mails automatically expire, see below


To use this folder properly, SPAMs '''must''' be delivered in the ''Junk'' folder automatically, so you can move them out in case of error. To achieve this, select the [[#Delivered with Special Header|delivery mode using a special header]], and use the provided [[#Mail Filtering|filtering system]] to drop them in the ''Junk'' folder ('''Do not use your mail software for this filtering, this is horribly inefficient and might alter the learning badly''').
To use this folder properly, SPAMs '''must''' be delivered in the ''Junk'' folder automatically, so you can move them out in case of error.
If using the default settings, you just need to subscribe to this folder in your mail software (this folder is always auto-created). If you are using different setting, you need to select the [[#Delivered with Special Header|delivery mode using a special header]], and use the provided [[#Mail Filtering|filtering system]] to drop them in the ''Junk'' folder ('''Do not use your mail software for this filtering, this is horribly inefficient and might alter the learning badly''').

{{warning}} This is gonna be the default at 2012-02-11/12 (but if you selected a mode in your settings it will not change, and if you have custom filtering rules they will not change either)


Automatic expiration logic, based on delivery time (and not the mail timestamp):
Automatic expiration logic, based on delivery time (and not the mail timestamp):

Revision as of 15:34, 11 February 2012

Service 'Mail'
Description Available services:
  • multiple email addresses (mailboxes+aliases or redirections) based on the milkypond.org (or maybe duckcorp.org) domain
  • roaming accounts to be able to send emails wherever you are

If you want email addresses using you own domain(s), see the mail hosting service.

Prerequisite None
Account Global (registration required) IPv6 Ready Yes
Security Notes Access to the mail services are fully secured, and to your data, nevertheless most mail exchange on the Internet are not. Complete security can be achieved using signed and encrypted mail (see OpenPGP and S/MIME)


Access

Using a Mail Reader

You can retrieve your mails, in case of a real mailbox, using either:

  • IMAP+TLS (TCP 143) / IMAPS (TCP 993) on imap.duckcorp.org
  • or POP3+TLS (TCP 110) / POP3S (TCP 995) on pop.duckcorp.org

The IMAP protocol is recommended over POP3, as it provides many interesting features. If you want to download all your mails absolutely at home, loosing the ability to read your mail from anywhere on the planet, you can do that with IMAP too (look at your mail client settings).

You can use our servers to send mails out too via smtp.duckcorp.org using:

  • SMTP+TLS (TCP 25) / SMTPS (TCP 465)
  • and SASL authentication

Using a Web Interface

Several webmail interfaces are available.

Antivirus and Antispam

Mails stored on our server are checked upon arrival for viruses and SPAMs. Mail redirected to a third party mailbox are not, not to mess with the strategy of the the final destination (which could arm learning greatly).

Mails being viruses are suppressed automatically upon arrival. Once in a week, an extra antivirus check is done on all hosted mailboxes, to remove viruses not detected at the time it arrived (our antivirus database is updated daily), so you may see such mail disappear from your mailbox, don't fear.

SPAMs are more difficult to detect, and it is an error-prone process, so we chose to use a learning software instead of using a global database. On the bright side of things, you would never loose mails and the software should be able to learn what is a SPAM from your point of view (which has proved to differ slightly between our users), but on the grey side you will have to teach him regularly to avoid errors. When your account is created, it acts like an empty headed body letting everything through, but after a few weeks of teaching it is able to recognize most of your habits and block a lot of annoying SPAM.

Web Interface

The web interface is an easy way to view your mail history, changes your settings, and more. It is available using this URL:

https://spamfilter.duckcorp.org/

User Settings

You can yourself setup a few parameters in the Preferences page of the web interface, mostly:

  • how the system should train:
    • TEFT (On every new message scanned by the filter): useful to learn very quickly especially on a new mailbox or when you've got tons of spam on your addresses, but you need to train it regulary (daily is better) or it will learn wrong (very quickly too !)
    • TOE (Only when the filter makes a mistake): slow learning, but if you don't have time for training very often or go on long holidays without internet access this mode will give you a stable behavior
    • TUM (Only with new data or if the filter makes a mistake): trade-off between the two previous modes, learn quite fast and not too demanding, adapts better to new SPAMs then TOE
  • filter sensitivity: you can ask the system to be more or less aggressive
  • message handling: see delivery mode below
  • Disable DSPAM filtering: you may switch off filtering at your own risk

We strongly recommend using TEFT with daily training for a few weeks then switching to TUM. If you need to go away for a long time, switching to TOE is recommended. Using the quarantine feature is also a safe choice, as the web interface is quite easy to use.

Delivery Mode

Quarantine

With the message handling setting set to Quarantine the message (see user preferences), then your SPAMs will not go into your mailbox but stay in this stagging area. These mails are kept by the system until you decide their fate.

Through the Quarantine page of the web interface, you can list these mails and:

  • free legitimate mails wrongly considered as SPAM by the system
  • delete real SPAMs if the system was right about them (freeing useful space)

In this mode, you need to flush your quarantine once in a while.

Delivered with Special Header (recommended)

With the message handling setting set to Deliver the message normally with a X-DSPAM-Result header, mails are delivered normally, but with a special field added to your mail headers (not always visible depending on your mail client and its configuration).

This is quite handy if you prefer SPAMs arranged in a specific folder. You may use then the provided [#Mail Filtering |filtering system] to sort them properly, or configure your eMail client.

Delivered with Modified Subject (not recommended)

With the message handling setting set to Tag the Subject header with, mails are delivered normally, but with a modified title to alert you this is a SPAM (which is a tad ugly).

This mode is really not clean and not recommended, but it exist for historical purposes, so you might still use it if you really wish to.

Retraining

Teaching the system what is SPAM and HAM (non-SPAM) is called retraining.

Retraining using the Special Junk Folder (default, recommended)

If you have of create a folder named Junk, then it is automatically magic:

  • if you drop mail into it, it is automatically retrained as SPAM
  • if you move it out of it, it is automatically retrained as HAM
  • with time, certain old mails automatically expire, see below

To use this folder properly, SPAMs must be delivered in the Junk folder automatically, so you can move them out in case of error. If using the default settings, you just need to subscribe to this folder in your mail software (this folder is always auto-created). If you are using different setting, you need to select the delivery mode using a special header, and use the provided filtering system to drop them in the Junk folder (Do not use your mail software for this filtering, this is horribly inefficient and might alter the learning badly).

Automatic expiration logic, based on delivery time (and not the mail timestamp):

  • deleted mails are purged after 1 day
  • read mails without an important flag are purge after 7 days
  • unread mails without an important flag are purge after 30 days

If you use the incoming_spam global rule, then SPAMs newly discovered by the system are flagged as important, which means these mails will never by purged until you review it and decide to delete them or mark them as not important. Custom rules might play with this flag and achieve an automatic selection.

Retraining via Web Interface

Use the web interface to retrain from errors in the History page.

If you are using the quarantine, then freed mails will automatically be retrained as HAM.

Retraining via Mail

Resend SPAMs to dc-spam@duckcorp.org and HAM (non-SPAM) to dc-ham@duckcorp.org.

Warning! PLEASE TAKE CARE to use the resend function of your mailer and never use forward, which would result in yourself being considered as SPAN or HAM.

Mail Filtering

With your favourite mail client, you can probably filter your mails in proper folders already. Nevertheless, this can be aa annoying operation:

  • blocking you mail client for a long time if you have to process plenty of mails
  • downloading each mail information, and sometimes content (depending on your filters), is lenghty too, and cost much bandwidth
  • syncing filters across your machines (home desktop, laptop, office machine…) is a pain in the ass
  • processing only when you're online prevents triggering actions in a timely manner (automatic redirect, vacation messages…), and running a machine 24/7 with a mail client polling new mails every 30s is not a solution

We provide a much better way to do this using the SIEVE filters. Shortly, SIEVE is a language dedicated to expressing mail filters (also called rules). Our server is able to process your mails according to these filters as soon as they arrive. You then don't have to care about them anymore, and may use light mail clients or webmails when you're not on your machine with your favourite software.

Rules Configuration

You can express sort/reject/vacation/… filters using these rules, as the capabilities are very rich. Several softwares support managing SIEVE rules:

  • Icedove/Thunderbird:
    using the SIEVE extension (in xul-ext-sieve Debian package), it provides a rules editor (for power-users)
  • Horde (Ingo):
    provides an easy to use web interface
    this webmail has been made available here
  • Squirrelmail:
    coupled with the Avelsieve extension, provides an easy to use web interface
    this webmail has been made available here
  • Roundcube:
    coupled with the sieverules extension, provides an easy to use web interface
    this webmail has been made available here
  • sieve-connect:
    provides a CLI to upload/download/activate your rules files
    this tool is available on shell hosts

(tell us if you know more software supporting this feature)

To push your filters on the server, a dedicated protocol exists: MANAGESIEVE (TCP 4190) on sieve.duckcorp.org. Our webmails are already configured to use it, but it you use sieve-connect from our hosts or your own mail software, you'll need these parameters.

You can read more info about SIEVE here:

Default Rules

There are no default rules. All your mails will end-up in your Inbox folder and you may then to sort them by yourself.

Warning! Starting at 2012-02-11/12, the default rules will include the global incoming_spam rule, coupled with the delivery using a special header, in order to provide a simple default configuration for most users (but this won't affect power-users having custom rules)

Global Rules

Global rules are provided to ease configuration on specific filters. They can easily be included in your own configuration.

Available rules:

  • incoming_spam:
    SPAMs will automatically be delivered in the Junk folder and marked as important
    you need to use the delivery using a special header for this rule to have any effect


If you write your own custom rules, here is an example on how to use one of them:

require ["include"];

include :global "<rule-name>";

Fetching eMails from an External Mailbox

Something to do... TODO:

Shared/Public Folders

You may need to share mails or messages with friends or people you do stuff with (in a project or association). Depending on your needs, two solutions are possible:

  • share some of your own private folders, thus called shared folders
  • manage a special folder hierarchy, called public folders (even if they may not be accessible to everyone)
    if you need one, ask an administrator; the namespace name can be freely chosen but must be unambiguous and is subject to approval

Namespaces

Through IMAP, or our webmails internally using IMAP, it is possible to partition the folder hierarchy into namespaces. Traditionally you are using the root namespace for your private folders. Additional namespaces can be created and will appear among your own folders or separate, depending on your mail client's choice of representation. To avoid name clashes, we decided to prefix all additional namespace names with a #.

Since 2011-05-14, the following extra namespaces are created and reserved:

  • #Shared, containing all folders other users decided to share with you
  • #MilkyPond, containing public MP/DC informational mailboxes you may subscribe at will

Folders Permissions

Using IMAP, it is possible to setup rights (read only, write allowed…) to your own folders in order to share them with other users, or group of users.

Public folders are owned by no-one, and must be created by the administrators. Once your request is accepted we will delegate its administration to your care. It can then can be managed like shared folders.

Software Support

Client mail softwares support:

  • Horde:
    support namespaces, shared folders configurable via Options->Share Folders menu but no ACLs for public folders
  • RoundCube:
    support namespaces, shared and public folders configurable via Settings->Folders, selecting a folder then using the Sharing tab
  • Icedove/Thunderbird:
    support namespaces, shared and public folders configurable via folder selection and Tools->Imap-ACL menu action

Most other softwares have namespace support only, so you should be able to use shared/public folders you have rights on but not configure them yourself (tell us if you know more software supporting this feature).

Limitations

Maximum Mail Size

Mail you send or receive are limited to 10MB. If you need to transmit much bigger data, then a mail transport is not appropriate, you'd better use a file sharing method instead.

Quotas

Even if it would be nice to live without it, we had to establish quotas to force people sort their mails out once in a while and delete useless things instead of leaving an ever-growing mess behind.

The default quota is 512MB which is not that big but should match needs of most users. This said, you may ask us for more and there's no reason we would refuse a reasonable demand.

Technical Details

This service is made using: