Revision 40 as of 2011-05-23 22:55:30

Clear message

The IMAP Server imap.ifh.de

At the Zeuthen site mail for users is stored on the IMAP server imap.ifh.de. There are no other IMAP servers on site. IMAP is the protocol for accessing the mail stored on that server.

For sending and receiving mail another protocol, SMTP, is used. Consequently we have chosen the name smtp.ifh.de for the SMTP server, which is also known as outgoing mail server. Until February 2010 the SMTP server was on a different machine mail.ifh.de, which is now an alias for smtp.ifh.de.

The name mail.ifh.de should however not be used for the SMTP server, as the SSL certificate for the SMTP server is issued for smtp.ifh.de and not mail.ifh.de. This is important for delivering mail using TLS or SMTP Auth.

Information on that topic is contained in the talks on email given on Oct. 6 2009: deutsche and english version

Main characteristics of the IMAP server

The IMAP server is based on a recent release of dovecot (1.2.10 as of January 26, 2010). It has been built with support for the sieve language (new implementation of the language for dovecot, version 0.1.15) and also implements the managesieve protocol as a dovecot addon (version 0.11.11). The following features are compiled in and are configured respectively:

Using the imap.ifh.de IMAP server

The following sections describe the use of imap.ifh.de as the primary IMAP mail server. Users reading their mail elsewhere are not affected.

The mail stores

Authentication

The recommended way of authenticating is using Kerberos5 by presenting a valid ticket from the IFH.DE or DESY.DE realm. If a computer outside DESY is used then a Kerberos 5 ticket should be obtained before starting your mail reader.

Under Linux/Unix this can be achieved with the command

kinit <username>@IFH.DE

On Windows systems the Network identity manager from MIT Kerberos for Windows has to be used (do not request Keberos4 tickets). Some Clients do need additional configuration options before K5 Auth is working (see below).

Access to the imap server is always encrypted. This means the TLS or SSL protocol must be used. This also means on the client side (the computer from where you start the mail reader) certificates have to be installed to be able to decrypt the server responses. Please see the mail reader specific sections for details how to do that.

Authentication using username and password is possible as well. Both authentication methods have successfully been tested with alpine, thunderbird and many more mail clients. In Outlook Kerberos5 authentication is not working yet.

Mail Filtering

The IMAP server does have an integrated filter called sieve that is engaged whenever new mail is delivered to the INBOX on imap.ifh.de. The filter language is described in http://www.ietf.org/rfc/rfc5228.txt.

Filters can be created or modified only from computers belonging to the DESY (Zeuthen) domain. An interface to manage mail filters is the manage.pl web interface. Filters get installed on imap.ifh.de in the location /var/spool/sieve/<username>.sieve and are not directly accessible to users.

Alternatively the squirrelmail web mail interface can be used to create filter rules. After login go to the "Filters" page. Also squirrelmail is only accessible within DESY.

When creating a sieve filter with one of the graphical interfaces meta data are generated to allow further manipulation of the filter rules. These meta data are not compatible between the two web interfaces. Therefore creating a rule with one interface and changing it with another one is not possible.

If there is no user defined filter then the global filter default.sieve is engaged:

require "fileinto";
if header :contains "X-Spam-Level" "*****" {
  fileinto "junk";
}

It filters all spam mails into the folder junk on the mail server, i.e.it is not a local folder. More sophisticated mail filters can be created by using the web interface. Using the basic mode (the default) guarantees that syntactically correct filters get created without knowing the sieve language syntax. Advanced users can write their own sieve script. If there is no syntax error a (compiled) .svbin file is generated, otherwise a .sieve.err file is written that contains the error message. As it resides on the mail server, only administrators get access to these files. Therefore usage of the advanced mode is not recommended.

Creation of own filter rules should be simple as the web interfaces are fairly intuitive. The complete removal of own filter scripts using the manage.pl web interface is somewhat tricky. It can be achieved selecting "Advanced options", then writing "default" into the "Delete script name" field, selecting the "No" button beneath "Activate Script?" and then click on "Save changes"

A separate page discussing the mail filter is under construction.

Quota

Currently there is a global mail quota limit of 1000 MB configured. That holds true for each user as long as the attribute mailquota (size in Megabytes) in the vamos account information is not set. The mail quota setting and its current usage can be displayed using the command

  check_inbox -h imap.ifh.de

The displayed usage does not precisely reflect the summed up individual mail sizes on disk. If the mail quota for a user has been changed, the mail client has to be restarted, otherwise the changed quota does not become effective.

Delivery to the INBOX takes place even if quota is exceeded (up to a total size of 2000 MB) but saving to folders would then not be possible. When the quota limit is exceeded and the INBOX size is above 1GB then mail delivery is temporarily suspended until the INBOX is cleaned up. If that does not take place for 5 days, mail is bounced back as undeliverable. When the user is over quota, moving mails around is no longer possible, only deleting is still possible.

Mail client specific information

Alpine and Pine

On Linux: Installing the certificates (requires root access)

This step is already done on DESY computers

<!> Notice!
The following procedure needs to be followed if you get warnings concerning certificates

Download chain.txt from the DFN Public Key Infrasrtucture server and copy the file to

Then change into the directory containing the certs directory, i.e. /etc/ssl, /usr/lib/ssl and /etc/pki/tls respectively. If there is already a file or a symlink with the name cert.pem then remove it or move it out of the way. You have to create a symlink cert.pem-> certs/chain.txt by executing

ln -s certs/chain.txt cert.pem

If the file cert.pem is already existing and does not point to a file containing all the certificates required for verification of the mail server certificate the certs directory is searched for the individual required certificates which can be downloaded from

For each of the downloaded files the following commands have to be issued (make sure you are in the certs directory), otherwise the certificates will not be found:

openssl x509 -inform der -in downloaded_file.crt -out downloaded_file.pem
ln -s downloaded_file.pem `openssl x509 -noout -hash -in downloaded_file.pem`.0

Configuring alpine by editing .pinerc

(this has been done already on DESY Zeuthen computers running SL5)

add or modify the following lines in .pinerc:

inbox-path={imap.ifh.de/tls}inbox
# the folders on the server (maildir format) and the local folders (mbox format) 
folder-collections=Folders on imap.ifh.de {imap.ifh.de}[], mail/[]

# immediate startup (for non DESY computers required)
rsh-open-timeout=0

# the next lines are optional...
# pressing <TAB> at the last mail in the INBOX checks and opens the next INBOX
feature-list=...,tab-checks-recent

Configuring alpine by using the configure screen of alpine

The configure screen can be accessed from the main menu by selecting the setup menu and then select the "(C) Config" screen.

To set rsh-open-timeout=0 you may have to

Using alpine

To move or copy local folders or folders from another IMAP server to the imap.ifh.de server do the following

Thunderbird

(please do also have a look into the Vortrag im technischen Seminar if you have a german version of thunderbird)

<!> Notice!
The following procedure needs to be followed to avoid certificate warnings

Download the following certificates to your home directory:

Start thunderbird and create a new mail account:

Then in the newly created account change some settings:

To avoid security warnings about certificates that cannot be verified:

To have thunderbird look in all folders for new mail:

MacOSX Mail

The configuration is similar to what is described under Thunderbird above. Kerberos authentication may work depending on the software installed. Make sure that

Mulberry

Mulberry can be downloaded from http://www.mulberrymail.com/

On Windows and MacOSX it seems to be sufficient to download once the three certificates (see above) using a web browser and accept the certificates (select the check boxes that will appear when downloading).

On Linux computers not maintained by DESY certificates have to be downloaded to the certs directory (see above) and made available to openssl. This requires root access. Then a symlink to the certs directory has to be installed. This can be achieved by the commands:

su - root # become root
cd /etc/pki/tls/certs # for SuSE and Debian use /etc/ssl/certs
wget https://pki.pca.dfn.de/desy-ca/pub/cacert/g_rootcert.crt
wget https://pki.pca.dfn.de/desy-ca/pub/cacert/g_intermediatecacert.crt
wget https://pki.pca.dfn.de/desy-ca/pub/cacert/g_cacert.crt
openssl x509 -inform der -in g_rootcert.crt -out g_rootcert.pem
ln -s g_rootcert.pem `openssl x509 -noout -hash -in g_rootcert.pem`.0
openssl x509 -inform der -in g_intermediatecacert.crt -out g_intermediatecacert.pem
ln -s g_intermediatecacert.pem `openssl x509 -noout -hash -in g_intermediatecacert.pem`.0
openssl x509 -inform der -in g_cacert.crt -out g_cacert.pem
ln -s g_cacert.pem `openssl x509 -noout -hash -in g_cacert.pem`.0
exit # become ordinary user
mv ~/.mulberry/Authorities ~/.mulberry/Authorities.orig
ln -s /etc/pki/tls/certs ~/.mulberry/Authorities 

The remaining configuration is again similar to what was said for Thunderbird.

These settings can be reached with the radio box labeled "advanced"

It is strongly recommended to deselect the checkbox "Use tabbed display" in the menu "Window" -> "Options..." -> Email. Otherwise each visited folder stays open until the program is finished or the folder is explicitely closed. Trying to open more than 5 folders is currently not allowed (blocked by the mail server).

Sending mail

The instructions here do not belong to the IMAP server information, an SMTP server is responsible for sending mail. On DESY computers everything is already configured. On other computers within the DESY network the smtp.ifh.de server can be configured as outgoing mail server. If the computer is not in the DESY network, then smtp.ifh.de can only be used together with authenticated SMTP.

If you followed the instructions concerning certificates the infrastructure to use that should already be in place. You have to configure your mail client to use smtp.ifh.de as the outgoing mail server, use your (UNIX) username (and password) for authentication and use an encrypted connection (TLS, not SSL) on port 25. For thunderbird that is done on config screens, for pine/alpine the line

smtp.ifh.de/user=your_account_name

enables authenticated smtp.

Some ISPs do block outgouig traffic on port 25 and sending mail using that port will fail. Therefore on smtp.ifh.de port 587 is open as well for mail submission (service "submission"). Older clients require the use of port 465 when using TLS with SMTP, this port can also be used on smtp.ifh.de.