Example of an IMAP session:
$ telnet mail.texnet.it 143
Trying 217.19.150.6...
Connected to mail.texnet.it.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS]
Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc.
See COPYING for distribution information.
a1 CAPABILITY
* CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE
THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL
ACL2=UNION STARTTLS
a1 OK CAPABILITY completed
a2 LOGIN niccolo ********
a2 OK LOGIN Ok.
a3 LIST "" "*"
* LIST (\Marked \HasNoChildren) "." "INBOX"
a3 OK LIST completed
a4 SELECT INBOX
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\* \Draft \Answered \Flagged \Deleted \Seen)] Limited
* 2856 EXISTS
* 2856 RECENT
* OK [UIDVALIDITY 1163517848] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
a4 OK [READ-WRITE] Ok
a5 FETCH 5 FAST
* 5 FETCH (FLAGS (\Recent) INTERNALDATE "25-Nov-2005 22:09:41 +0100" RFC822.SIZE 2763)
a5 OK FETCH completed.
a6 FETCH 3 (flags body[header.fields (subject)])
* 3 FETCH (FLAGS (\Recent) BODY[HEADER.FIELDS ("subject")] {94}
Subject: Cron <clamav@pierargo> [ -x /usr/bin/freshclam ] && /usr/bin/freshclam >/dev/null
)
* 3 FETCH (FLAGS (\Seen \Recent))
a6 OK FETCH completed.
a7 LOGOUT
To migrate an IMAP account from one host1 to host2, there is the imapsync tool. In this usage example mail messages not longer existing on host1 will be deleted also on host2:
#!/bin/sh login1=username_on_host1 passwd1=SecretOnHost1 login2=username_on_host2 passwd2=SecretOnHost2 ./imapsync \ --host1 83.145.162.149 \ --authmech1 LOGIN \ --user1 "$login1" \ --password1 "$passwd1" \ --subscribed \ --host2 127.0.0.1 \ --authmech2 LOGIN \ --user2 "$login2" \ --password2 "$passwd2" \ --subscribe \ --delete2 --expunge2