POP, IMAP

POP - Post Office Protocol (Port 110 per TCP)

Über das POP Protokoll ruft der Empfänger die Mails vom Mailserver ab, dabei ist das POP-Protokoll wie das SMTP-Protokoll relativ einfach gestrickt: Username und Passwort werden übermittelt (USER, PASS) (Authorisationszustand), danach lässt sich die Anzahl der neuen Mails abfragen (STAT), ein Mail vom Server anfordern (RETR) bzw ein Mail vom Server löschen (DELE) - Transaktionszustand. Zumeist sind die Mailclients so eingestellt, dass periodisch der Mailserver nach neuen Mails befragt wird. Sobald neue vorhanden sind, werden sie vom Server auf den Client transferiert und anschließend am Server gelöscht, um dort nicht unnötig Platz zu verbrauchen.

IMAP - Internet Message Access Protocol (zum Empfangen) (port 143 TCP)

Bei IMAP ist es möglich, gezielt bestimmte Daten anzufordern (z.B. nur den Text der Email, nicht aber die Attachements). So kann die Übertragungsmenge und -zeit zwischen Mailclient und Mailserver gering gehalten werden.  Deswegen eignet sich IMAP auch speziell für den mobilen Einsatz (meist wenig Speicherplatz z.B. am Handy oder zu teuer, um sich solange online mit dem PDA im Netz aufzuhalten, bis alle Attachments geladen wurden).

Ein weiterer Vorteil ist, dass sich die e-Mails am Server durch Ordner und Unterordnen sortieren lassen (die e-Mails müssen zu diesem Zeitpunkt noch gar nicht gelesen werden). Die Struktur verwaltet der Server - somit steht immer die gleiche "Mail-Struktur" zur Verfügung.

Typische Felder in e-Mails (entweder vom Benutzer eingetragen, bzw. vom jeweiligen e-Mailclient generiert)

Message-ID - ID der Nachricht (eindeutig)
FROM - Absender
TO - Empfänger
CC - zusätzliche Empfänger (Carbon Copy)
BCC - Empfänger (die BCC-Empfängerliste sieht der Hauptempfänger (TO) nicht, Blind Carbon Copy)
SUBJECT - Betreff
MESSAGE - Nachricht
REPLY-TO - Antwort-Adresse bei 'Replys'
DATE - Datum
LINES - Anzahl der Zeilen
PRIORITY - Dringlichkeit
STATUS - bereits gelesen?
IN-REPLY-TO - Bezug auf eine andere Nachrichten-ID
RESENT - weitergeleitet
Content-Type - zB. text/plain
Content-Transfer-Encoding - Art der Encodierung, z.B. base64

Beispiel: Direkte Kommunikation mit dem Mailserver über telnet auf Port 25

=~=~=~=~=~=~=~=~=~=~=~= log 22:55:06 =~=~=~=~=~=~=~=~=~=~=~=
220 lu-mail1.zid.ufg.ac.at ZMailer Server 2.99.50-s11 #1 ESMTP+IDENT ready at Mon, 20 Sep 2004 19:52:35 +0200
500-5.5.2 ^
500 5.5.2 Illegal input characters: 8-bit char on SMTP input

help
214-Copyright 1991-1997 Matti Aarnio
214-The following commands are recognized:
214-EHLO, HELO, MAIL, RCPT, DATA, BDAT, RSET, VRFY, EXPN, HELP, NOOP
214-QUIT, ETRN, TURNME, VERB, ONEX, SEND, SOML, SAML, TURN, TICK, EMAL
214-ESND, ESOM, ESAM, EVFY, IDENT, DEBUG
214-
214-The normal sequence is: EHLO/HELO (MAIL RCPT+ DATA)+ QUIT.
214-
214-This mailer will always accept 8-bit and binary message data
214-though you are better to use MIME format!
214-
214-For local information contact: postmaster@lu-mail1.zid.ufg.ac.at
214 SMTP server comments and bug reports to: <zmhacks@nic.funet.fi>
help helop
214-Copyright 1990 Rayan S. Zachariassen
214-Copyright 1991-1997 Matti Aarnio
214-The following commands are recognized:
214-EHLO, HELO, MAIL, RCPT, DATA, BDAT, RSET, VRFY, EXPN, HELP, NOOP
214-QUIT, ETRN, TURNME, VERB, ONEX, SEND, SOML, SAML, TURN, TICK, EMAL
214-ESND, ESOM, ESAM, EVFY, IDENT, DEBUG
214-
214-The normal sequence is: EHLO/HELO (MAIL RCPT+ DATA)+ QUIT.
214-
214-This mailer will always accept 8-bit and binary message data
214-though you are better to use MIME format!
214-
214-For local information contact: postmaster@lu-mail1.zid.ufg.ac.at
214 SMTP server comments and bug reports to: <zmhacks@nic.funet.fi>
helo
250 lu-mail1.zid.ufg.ac.at expected "HELO 76.inst-3.ufg.ac.at"
helo 76.inst-3.ufg.ac.at
250 lu-mail1.zid.ufg.ac.at Hello 76.inst-3.ufg.ac.at
mail from: <simon.bauer@ufg.ac.at>
250 2.1.0 Sender syntax Ok
rcpt to: <simon.bauer@ufg.ac.at>
250 2.1.5 Recipient address syntax Ok
DATA
354 Start mail input; end with <CRLF>.<CRLF>
hi!

.

250 2.6.0 S//HlbG11484 message accepted
quit
221 2.0.0 lu-mail1.zid.ufg.ac.at Out

=~=~=~=~=~=~=~=~=~=~=~= log 22:55:06 =~=~=~=~=~=~=~=~=~=~=~=