index [nostarch.com] · admins (cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server...
TRANSCRIPT
Index
Symbols*, in server reply 31*, wildcard for LIST 300., as mailbox separator (Cyrus) 205, 235, 238/, as mailbox separator (Cyrus) 205, 235, 238% (wildcard), for LIST 3008-bit characters see eight-bit characters
Aa (permission) 37access permissions see ACLsaccess time, of a file see atimeaccount options see user options (Courier)ACLs 34, 36, 37, 154
Cyrus 231, 232group-based (Courier) 144identifier 154IMAP extension 34, 316
activating (Courier) 102listing (Cyrus) 272manipulating (Courier) see maildiracl (tool)negative permissions 155removing (Cyrus) 272saving in Courier see courierimapacl (file)setting (Cyrus) 272switching off at filesystem level 58for virtual domains (Cyrus) 236, 237
active directory with user data 81ADDRESS (Courier parameter) 98address (Sieve command) 246administration directory (Cyrus) 203administrator, creating (Cyrus) 194admins (Cyrus option) 203, 287, 288aggregator 51, 281–290
backend server 282, 286–287
frontend server 282–285allowanonymouslogin (Cyrus option) 203allowsubscribes (Cyrus option) 287allowusermoves (Cyrus option) 287altnamespace (Cyrus option) 277annotation database (Cyrus) 259annotation_db (Cyrus parameter) 259annotations.db (file) 267, 278\Answered (flag) 35
in the filename (maildir) 113searching for 305
APOP 27, 28, 148POP3 command 317, 319
AppArmor 193APPEND (IMAP command) 302Apple Mail 279aquota.user (file) 168arbitron 263arbitronsort.pl (tool) 190, 269atime, switching off 57–58, 64attachments, retrieving individually (IMAP) 310AUTH (IMAP extension) 315AUTH (POP3 command) 317, 319AUTH=PLAIN (capability) 296authcram (Courier) 120, 129, 144, 148authcustom (Courier) 121, 130authdaemond (Courier)
activating 99configuration file see authdaemonrcstarting 88daemon 20, 121–123
configuration file see authdaemonrccustom authentication modules see
authcustomusing with Cyrus SASL 189, 213
331
The Book of IMAP(C) 2008 by Peer Heinlein and Peer Hartleben
Index
authdaemonrc (Courier configuration file) 95,123, 134, 145
AUTHENTICATE (IMAP command) 218, 297Authenticated (IMAP status) 32
available commands 298–303switching to 303
Authenticated Post Office Protocol see APOPauthentication see logging in
by fingerprint 213by hash values instead of passwords 213by iris scan 213Cyrus 207–224
via Kerberos 212, 214, 223–224via LDAP 212–214, 220–223via MySQL 213, 216–220via PAM 219–220via SQL database 213
daemon (Courier) see authdaemondchoosing method (POP3) 319choosing method (Courier) 99, 122IMAP commands 297library (Courier) see Courier Authlibpassword in cleartext 210POP3 commands 317programs, custom (Courier) 121proxy (Courier) see authdaemond
authenumerate 160tool 138, 145
authldap (authentication module for Courier)121, 140–146caching requests 122
authldaprc (file) 95, 140authlib 120–144AUTHMODULES (Courier parameter) 99, 122,
123authmysql (authentication module for Courier)
120, 133–139, 144, 147caching requests 122
authmysqlrc (file) 134–139authorization state (POP3) 317authpam (Courier) 120, 123–124authpgsql
authentication module for Courier 120, 139,140, 144, 147
caching requests 122file 139
authpipe (Courier) 121, 131–133
authProg (authentication tool) 131authpwd (authentication module for Courier)
120, 143authshadow (authentication module for Courier)
120, 143authtest (tool) 121–122authuserdb (authentication module for Courier)
120, 124–129, 144authvchkpw (authentication module for Courier)
120autocreate_sieve_script (Cyrus option) 251autocreatequota (Cyrus option) 203, 226, 251autologout timer, resetting 296auxprop (Cyrus SASL module) 189, 194, 213
LDAP connection via 220, 221MySQL connection via 216
availability 19, 43–51avelsieve (Squirrelmail plugin) 244
Bbackup (IMAP folders) 29backup (main Cyrus database) 278backup/ (directory) 278BALANCE (iptables) 47Bcc header, searching in 305benchmark tools 55berkeley (Cyrus database format) 259berkeley-nosync (Cyrus database format) 259berkeley_cachesize (Cyrus parameter) 258berkeley_txns_max (Cyrus parameter) 258block size, for NFS 64body
retrieving (IMAP) 310retrieving partially (IMAP) 311retrieving partially (POP3) see TOP (POP3command)searching in 305
bonnie 55byte-octet conversion 296
Cc (permission) 37CA see certificate authority (CA)cache proxy 51, 73–74cached IMAP see offline IMAPCAPA (POP3 command) 319capabilities 33
332
The Book of IMAP(C) 2008 by Peer Heinlein and Peer Hartleben
Index
for encrypted communication (IMAP) 297polling (IMAP) 296polling (POP3) 319specifying for Courier 100
CAPABILITY (IMAP command) 175, 295, 296, 314for encrypted communication 297
case sensitivefolder names 301search 40
Cc header, searching in 306cell phone (and IMAP) 176, 273certificate authority (CA) 208
list in email clients 208trustworthy 208
certificates see SSL certificateschallenge-response procedure 129, 148, 242, 297change time, of a file see ctimecharacter encoding, considering during a search
305character set, considering during a search 305CHECK (IMAP command) 303CHILDREN (IMAP extension) 34, 315chk_cyrus 264chmod, influence on c and mtime 57cleartext
login see LOGIN (IMAP command)passwords 81
client, workaround for faulty 101CLOSE (IMAP command) 32, 303cluster 20
Cyrus 281, 291Cluster filesystem, as email repository 45CLUSTERIP (iptables) 47cm see createmailboxcom_err.h (Common Error library) 329compile_sieve (tool) 268compiling
Courier 321, 324Cyrus 325, 330
CONCAT (SQL command) 137conditional query (Sieve) see if (Sieve)Cone 85config2header (tool) 269config2man (tool) 269configdirectory
Cyrus option 203Cyrus parameter 270
configuration parametersCourier 96–105reading out (Courier) 100
connectioninformation, caching (SSL) 260keeping open see NOOPterminating
automatically for POP3 (Cyrus) 259with IMAP see LOGOUT (IMAP com-
mand)with POP3 see QUIT (POP3 com-
mand) 318unintended (IMAP) 32
testing see NOOPcontents, of an email see bodyconvert-sieve.pl (tool) 190, 269COPY (IMAP command) 313
using the Unique ID 313Courier 18, 85–179
configuration 95–105configuring SSL encryption 102–105crashing 93vs. Cyrus 20–21downloading 322IMAP proxy 50, 145installation 86–87installing from the source code 321, 324migration problems 110misleading reply to LIST (POP3) 25MTA 85paths 87project 85
Courier Authlib 85Courier team
reaction to bug reports 93reaction to change requests 110
courierimapacl (file) 109, 154–155courierimapkeywords (directory) 116courierimapsubscribed (file) 109courierlogger (tool) 98, 103couriertcpd 88
specifying command-line parameters 98COURIERTLS (Courier parameter) 104couriertls (tool) 87, 104CPU see processorCRAM 129CRAM-MD5 100, 119, 148, 214
333The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
using with Cyrus 213when testing the login with imtest 218
CRAM-SHA1 100, 119, 148CRAM-SHA256 148crash, Courier 93CREATE (IMAP command) 300createmailbox
cyradm command 239cyradmin command 272
creating usersCyrus 194with saslpasswd2 194
Crispin, Mark 33crypt
hash, instead of cleartext password 119as password hash algorithm 147
ctime 57ctl_cyrusdb (tool) 266ctl_deliver 266ctl_mboxlist 266cur
for creating directories 88for listing contents of a directory 108, 112for listing purpose of a directory 108
cvt_cyrusdb 267cyr_expire (tool) 202, 268cyradm (tool) 21, 194, 271–274, 277
setting quotas 228setting up shared folders 230
cyrdump (tool) 267Cyrus 18, 183–291
activating SSL support 210administration information 277–280as administration tool see cyradm, (tool)allowing anonymous users 203connecting to MySQL 213, 216–220connecting to PostgreSQL 213vs. Courier 20–21creating an administrator 194creating users 194
with saslpasswd2 194directory hierarchy 187downloading 325encrypting access data 189and firewalls 191, 220function test 195–197IMAP proxy 51
installation 184–187under Debian 186under Red Hat 186from source code 325, 330under SuSE 185
LMTP see LMTPlocation in the filesystem 204lowercase addresses 204maximum email size 204Murder cluster 51, 281–290ports 191and Postfix 191–197project origins 183Red Hat source RPM for 186refusing to accept email (quota) 204SASL authentication methods 205Sieve directory 205SSL certificates 205user vs. Unix system account 215working directory 188
Cyrus (IMAP server)data security 255, 257domain administrators 237notify daemon 252operating with other MTAs 254, 255sorting email 237specifying a timeout 205virtual domains 232
Cyrus Aggregator see aggregatorCyrus SASL see libsasl
library 190cyrus-admin-2.2 (Debian package) 186cyrus-clients-2.2 (Debian package) 186cyrus-common-2.2 (Debian package) 186cyrus-imap-utils (Red Hat package) 186cyrus-imapd
Red Hat package 186SuSE package 185
cyrus-imapd-2.2 (Debian package) 187cyrus-murder-2.2 (Debian package) 187cyrus-nntpd-2.2 (Debian package) 187cyrus-pop3d-2.2 (Debian package) 187cyrus-sasl
package 189Red Hat package 186
cyrus-sasl-crammd5 (SuSE package) 185cyrus-sasl-digestmd5 (SuSE package) 185
334The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
cyrus-sasl-otp (SuSE package) 185cyrus-sasl-plain
Red Hat package 186SuSE package 185
cyrus-sasl-saslauthd (SuSE package) 185cyrus-sasl-sqlauxprop (SuSE package) 185cyrus.cache (file) 276cyrus.conf 188, 199–202, 266
checkpoint 202cleanup 202configuring
the mupdate server 288the murder backend 287the murder frontend 285
defining the LMTP socket 191delprune 202EVENTS{} section 201–202, 260, 268idled 200imap 201listen 200, 201lmtp 201, 254lmtpunix 254notify 201, 253pop3d 201recovering 200SERVICES{} section 200–201, 210, 241, 254,285, 288sieve 201, 241specifying nice values for events 268START{} section 200structure 199tlsprune 202
cyrus.header (file) 256, 276cyrus.index (file) 276
Dd (permission) 37dam see deleteaclmailboxdata (Squirrelmail directory) 70data loss, through ReiserFS 54data protection 159data segment, limiting size of (Courier) 102database format
annotation database (Cyrus) 259berkeley-nosync (Cyrus) 260converting (Cyrus) 267duplicate database (Cyrus) 260
possible (Cyrus) 259quota database (Cyrus) 260quotalegacy (Cyrus) 260subscription database (Cyrus) 260
dateas search criterion 305, 307determining the internal (IMAP) 311format in IMAP commands 305
db.backup1/ (directory) 278db/ (directory) 278DEBUG_LOGIN (Courier parameters) 81, 99, 122debugging, an IMAP implementation 303default domain (Cyrus) 234DEFAULT_DOMAIN (Courier parameter) 138, 139defaultdelivery (QMail configuration file) 94defaultdomain (Cyrus option) 203, 234DEFAULTOPTIONS (Courier parameter) 145defaultpartition (Cyrus option) 239DEFDOMAIN (Courier parameter) 98DELE (POP3 command) 26, 318DELETE (IMAP command) 301delete permission see ACLsdeleteaclmailbox (cyradmin command) 272\Deleted (flag) 31, 32, 35, 303, 304
searching for email with 40, 306number of 31
deletemailbox (cyradmin command) 272deleting
email (IMAP) 39, 298, 303, 304email (POP3) 26, 318folders (IMAP) see DELETE (IMAP command)undoing the deletion of email (POP3) 26, 318
deliverCyrus service 255tool 268
deliver databases (Cyrus) 266deliver.db (file) 266, 278deliverquota
MDA 173tool 87
denial-of-service attack 166preventing (Courier) 97, 102
dialup, and IMAP 29DIGEST-MD5 (password-transfer method) 214
using with Cyrus 213, 242when using an LDAP server 221
dir_index (mount option) 58–60
335The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
Direct Routing (LVS) 47directory see folders
permissions 163disableimap (user option) 126, 144disablepop (user option) 144disablepop3 (user option) 126disableshared (user option, Courier) 145, 161disableweb (user option) 144discard (Sieve command) 248disconnected IMAP see offline IMAP.dist file (Courier) 96dm see deletemailbox (cyradmin command)DNAT (iptables) 46–47DNS 46dohash (tool) 269domain administrators (Cyrus) 237domains, in the login name 150DoS see denial-of-service attackdot (.), as mailbox separator (Courier) 109downloading
Courier 322Cyrus 325Cyrus SASL 325
DRAC, using with Cyrus 206drachost (Cyrus option) 206dracinterval (Cyrus option) 206\Draft (flag) 35
in the filename (maildir) 113searching for 306
dump, of a mailbox (Cyrus) 267duplicate database (Cyrus) 260, 278duplicate emails, avoiding (Cyrus) 260, 278duplicate_db (Cyrus parameter) 260
Ee (permission) 37edquota 169eGroupWare 18eight-bit characters, in headers, rejecting email
with 204email
addressing to subfolders 36, 237, 238copying 39, see COPY (IMAP command)deleted (number of) 31deleting
IMAP 39obsolete automatically 268
POP3 26, 318Sieve see discard (Seive command)
determining the MIME structure of 308determining the size of (IMAP) 311determining the Unique ID for 312drafts see \Draft (flag)envelope see envelopefetching from server
IMAP see FETCH (IMAP command)POP3 25, 318
file size in the filename (maildir) 114filenames (Courier) 111–117format, RFC 306ID, Unique see Unique IDinforming the client of new 100, 101inode of file 114meta-information 111moving
instead of deleting (Courier) 101in Sieve see fileinto (Seive command)
new (number of) 31, 112, 299placing in folder see APPEND (IMAP com-mand)reading
number of 31offline 24
redirecting (Sieve) see redirectrejecting (Sieve) see rejectremaining on the server 24repository, central 45saving see backupsearching see searching, in emailsending a test see test email, sendingsending via IMAP 99sequence number 29
of the first unread 299size as search criterion 306, 307sorting into inboxes (Cyrus) 268storage location
Courier 99Exim 94Postfix see home_mailboxQMail 94
suppressing duplicates in Cyrus 260, 278Unique ID 299unread 40, 299viewing see FETCH (IMAP command)
336The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
email addressesas login IDs 157as login names 150storing server administrator’s 273as usernames for shell accounts 127
email clients see clientand certificates 208
encryptionactivating with SSL/TLS (Courier) 103and certificates 208configuring with SSL/TLS (Courier) 102–105forcing (Courier) 103of the database connection (Cyrus) 217with SSL/TLS 102, 208, 211
envelopeevaluating (Sieve) 246querying data in (IMAP) 311Sieve command 246
/etc/authlib/ 95/etc/cyrus.conf see cyrus.conf/etc/fstab see fstab/etc/groups see groups (file)/etc/imapd.conf see imapd.conf/etc/passwd see passwd/etc/shadow see shadow (file)/etc/userdb see userdbEvolution 17EXAMINE (IMAP command) 32, 299
and CLOSE 303exchange, migrating 81Exim 18
connecting to Cyrus 255integration into Courier 94–95
exim.conf 94exists (Sieve command) 247EXPUNGE (IMAP command) 32, 304Ext2/Ext3
as email data storage 54–62journal mode 60–62speeding up see dir_index (mount option)
Ext4, as email storage medium 56extensions see IMAP, extensions
FFAM (File Alteration Monitor) 176famd (daemon) 177FETCH (IMAP command) 37, 112, 308, 312
using the Unique ID 313fetchnews (tool) 268File Alteration Monitor (FAM) 176file locking, activating (Courier) 102fileinto (Sieve command) 246, 248filenames, for email (Courier) 111, 117filesystem
performance 55–57selecting 53, 57tuning the performance of 57, 62
filter settingsfor mailboxes 205migrating 80removing from Squirrelmail 80
fingerprint, authentication by 213firewall, Sieve ports 245fishing, for passwords 82\Flagged (flag) 35
in the filename (maildir) 113searching for 306
flags 29\Answered see \Answered (flag)\Deleted see \Deleted (flag)\Draft see \Draft (flag)\Flagged see \Flagged (flag)\Recent see \Recent (flag)\Seen see \Seen (flag)abbreviation in the maildir 113activating custom (Courier) 101adding 312custom 35, 75, 87, 115–117, 289, 313excluding in a search 308modifiable by client 36permanent 29, 36, 101, 115, 298permitted in the email folder 35, 298querying in a message 311removing 313save type 36searching for 306session-based 29, 115setting see STORE (IMAP command)temporary see flags, session-based
flat (Cyrus database format) 259folders
adapting names during migration 78case-sensitive names of 301creating see CREATE (IMAP command)
337The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
deleting see DELETE (IMAP command)after a specified period (Courier) 101
leaving see UNSELECT (IMAP command)listing subscribed see LSUB (IMAP command)moving during migration 78naming 110parallel to the INBOX 78, 79, 110permissions for see ACLspermitted flags 35renaming 79–80
IMAP see RENAME (IMAP command)selecting see SELECT (IMAP command)selecting to read see EXAMINE (IMAP com-mand)spaces in names of 110special characters in names of 110, 158sub- see subfolders (Courier)subscribed (Cyrus) 280subscribing see SUBSCRIBE (IMAP com-mand)
to folders on different backends 287synchronizing continuously 76unsubscribing see SUBSCRIBE (IMAP com-mand)
formatfor an annotation database see annotation_dbfor a duplicate database see duplicate_dbfor a quota database see quota_dbfor a subscription database see subscription_db
From header, searching in 306fsck.reiserfs 54fstab
command, activating quotas 168optimizations 62
fud (tool) 268fulldirhash (Cyrus option) 270fulltext index 267
Ggam-server (tool) 177Gamin 176gecos 126, 136GETMETADATA (IMAP command) 273getpwent (saslauthd plugin) 212GETQUOTA (IMAP command) 227GID see group ID
group (user option) 155group management with Courier via 144
group affiliation (of a user) 155group ID
field in a MySQL table (Courier) 135field in a PostgreSQL table (Courier) 139
groups (file), Cyrus group management via 231groupware 18
Horde see Hordegrpquota (mount option) 168GSSAPI 185
using with Cyrus 214
HHA see availabilityHaberland, Juri 79hard disk I/O see I/O\HasChildren (folder flag) 34hash procedure, for password transmission 148hashimapspool (Cyrus option) 204\HasNoChildren (folder flag) 34
error in the client 101header lines
calling individual (IMAP) 39, 309searching in 306
header rows, evaluating (Sieve) 247HEADERFROM (Courier parameter) 99, 178headers
refusing eight-bit characters in 204retrieving (IMAP) 309retrieving (POP3) see TOP (POP3 command)Sieve command 247
hierarchy separatorsCourier 109Cyrus 235, 238determining 35, 300
HMAC-MD5 (hash procedure) 148home_mailbox (Postfix variable) 92Horde 70–73hostname, logging the client’s (Courier) 98
Ii (permission) 36I/O, as limiting factor 44, 65ident lookup (Courier) 98IDLE (IMAP command) 34, 100, 101, 176–178,
200, 315
338The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
idled 200, 262if (Sieve) 246IMAP 18, 28, 41, 295, 316
daemonconfiguration (Courier) 99–102configuration (Cyrus) see imapd.confCourier 87Cyrus 262exporting data set to mbox files 76mode of operation 19starting (Courier) 88
disabling login (Courier) see disableimapemail sending via 99, 316experimental commands 316extensions 33, 295, 314functions 19offline see offline IMAPproxy see proxyProxy (project) 51, 73–74RFC 33separate password for (Courier) 126session, process 31–33
imap (Red Hat package) 186imap.conf (file) 258, 260IMAP4rev1 (RFC) 295IMAP_ACL (Courier parameter) 102IMAP_CAPABILITY (Courier parameter) 100, 150IMAP_CAPABILITY_TLS (Courier parameter) 100IMAP_CHECK_ALL_FOLDERS (Courier parame-
ter) 100IMAP_DISABLETHREADSORT (Courier parame-
ter) 100IMAP_EMPTYTRASH (Courier parameter) 101IMAP_ENHANCEDIDLE (Courier parameter) 100IMAP_IDLE_TIMEOUT (Courier parameter) 101IMAP_KEYWORDS (Courier parameter) 101, 115imap_migrate 76IMAP_MOVE_EXPUNGE_TO_TRASH (Courier pa-
rameter) 101IMAP_OBSOLETE_CLIENT (Courier parameter)
101IMAP_PROXY (Courier parameter) 175IMAP_PROXY_FOREIGN (Courier parameter) 175IMAP_SHAREDINDEXFILE (Courier parameter)
101IMAP_SHAREDMUNGENAMES (Courier parame-
ter) 157
imap_tools 76IMAP_TRASHFOLDERNAME (Courier parameter)
101IMAP_ULIMITD (Courier parameter) 102IMAP_USELOCKS (Courier parameter) 102imapcopy 76imapd see IMAP, daemon
Courier configuration file 95, 99–102, 115,122, 123Cyrus daemon see IMAP, daemon
imapd-ssl (Courier configuration file) 95, 103imapd.cnf (Courier configuration file) 88, 96, 104imapd.conf 188, 189, 203–206
admins 203, 237, 287, 288allowanonymouslogin 203allowsubscribes 287allowusermoves 287altnamespace 277annotation_db 259authentication via sasldb2 (Cyrus) 194autocreate_sieve_script 251autocreatequota 203, 226, 251berkeley_cachesize 258berkeley_txns_max 258configdirectory 203, 270configuring the mupdate server 288configuring the murder backend 286–287configuring the murder frontend 283–285connecting to MySQL 216defaultdomain 203, 234defining the directory for mailboxes 195drachost 206dracinterval 206duplicate_db 260fulldirhash 270hashimapspool 204lmtp_downcase_rcpt 204lmtp_overquota_perm_failure 204mailnotifier 253maxmessagesize 204, 258mupdate-port 286mupdate-server 286mupdate_authname 284, 286mupdate_password 284, 286mupdate_port 284mupdate_server 284mupdate_username 284, 286
339The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
partition-default 204, 239, 270partition-name 259poptimeout 204, 259proxy_authname 284proxyd_disable_mailbox_referrals 285proxyservers 287ptscache_db 260quota_db 260quotawarn 204, 226quotawarnkb 204, 227reject8bit 204sasl_mech_list 214sasl_pwcheck_method 205, 215, 219sasl_sql_hostnames 216sasl_sql_select 217sasl_sql_usessl 217sasl_sql_verbose 217seenstate_db 259servername 283, 288, 290sieve_allowreferrals 285sievedir 205, 241, 285sievenotifier 253sieveuserhomedir 285structure 203subscription_db 260timeout 205tls_ca_file 206, 210tls_ca_path 206, 210tls_cert_file 205, 210tls_key_file 205, 210tlscache_db 260unixhierarchysep 205, 235username_tolower 205virtdomains 205, 233
IMAPD_TLS_REQUIRED (Courier parameter) 103IMAPDSSLSTART (Courier parameter) 103IMAPDSTART (Courier parameter) 99IMAPDSTARTTLS (Courier parameter) 103imaplogin (Courier) 87imapsync 76–78
tool 76, 81IMP 70–73IMPLEMENTATION (POP3 capability) 320important emails see \Flagged (flag)imtest (tool) 217–218in.imapproxyd see IMAP, Proxy (project)INBOX
folders parallel to 78, 79, 110renaming 301
index (file) 153, 156–158generating automatically 160on multiple servers 156for a shared group 159for shared folders (Courier) 88, 101, 138splitting 161
index databases (Cyrus) 259, 260, 278changing format of 267maximum RAM consumption 258
initscript, Courier 88–89inode, of an email file 114installing
Courier 86–87from the source code
Courier 321, 324Cyrus 325, 330
Internet interfacefor Cyrus administration 184
Internet Message Access Protocol see IMAPiozone 55IP address
limiting the number of connections per 97logging the client’s (Courier) 98, 99of the POP3/IMAP server (Courier) 98
iptables, load distribution via 46, 47ipurge (tool) 202, 268iris scan, authentication by 213
JJabber notification (Sieve) 254journal mode 60–62
Kkeep (Sieve command) 248Kerberos 185
support for Cyrus 212using with Cyrus 214, 223–224using with Sieve 242
Kerberos Post Office Protocol see KPOPkerberos4 (saslauthd plugin) 212kerberos5 (saslauthd plugin) 212key, for challenge-response 148keywords see flags, customKMail 17, 279
and Sieve 244
340The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
Kolab 18KPOP 28
Ll (permission) 36lam see listaclmailboxLamiral, Gilles 76laptops, subscribing to folders and 41LDAP
configuration file (Courier) see authldaprcreplication 291using with Courier see authldap, 140–146using with Cyrus 212–214, 220–223, 231
ldap (saslauthd-Plugin) 212LDAP_AUTHBIND (Courier option) 141LDAP_AUXOPTIONS (Courier option) 143, 146LDAP_BASEDN (Courier option) 140LDAP_BINDDN (Courier option) 140, 141LDAP_BINDPW (Courier option) 141LDAP_CLEARPW (Courier option) 142LDAP_CRYPTPW (Courier option) 142LDAP_DEFAULTDELIVERY (Courier option) 142LDAP_DEREF (Courier option) 143LDAP_DOMAIN (Courier option) 141LDAP_ENUMERATE_CLAUSE (Courier parame-
ter) 161LDAP_ENUMERATE_FILTER (Courier option) 141LDAP_FILTER (Courier option) 141LDAP_FULLNAME (Courier option) 142LDAP_GID (Courier option) 143LDAP_GLOB_GID (Courier option) 143LDAP_GLOB_UID (Courier option) 142ldap_group_attr (Cyrus option) 223ldap_group_filter (Cyrus option) 223ldap_group_match_method (Cyrus option) 223ldap_group_search_base (Cyrus option) 223LDAP_HOMEDIR (Courier option) 142LDAP_MAIL (Courier option) 141LDAP_MAILDIR (Courier option) 142LDAP_MAILROOT (Courier option) 142LDAP_PROTOCOL_VERSION (Courier option)
140ldap_search_base (Cyrus option) 223LDAP_TIMEOUT (Courier option) 141LDAP_TLS (Courier option) 143ldap_tls_check_peer (Cyrus option) 222LDAP_UID (Courier option) 143
LDAP_URI (Courier option) 140ldapdb (auxprop plugin) 213Least Connection (LVS) 49legal situation 20Lemonade 273libsasl 211–215
compiling MySQL support 216Linux Virtual Server see LVSLIST (IMAP command) 34, 41, 299LIST (POP3 command) 24, 25, 318
misleading Courier reply 25listaclmailbox
cyradm command 230cyradmin command 272
listmailbox (cyradmin command) 271listquota
cyradm command 228cyradmin command 273
listquotarootcyradm command 229cyradmin command 273
lm see listmailboxLMTP 18
between Cyrus and Postfix 191–192Cyrus 254daemon (Cyrus) see lmtpd (daemon)maximum email size (Cyrus) 258proxy (Cyrus) see lmtpproxyd (daemon)socket, defining (Cyrus) 191specifying port for 201
lmtp_downcase_rcpt (Cyrus option) 204lmtp_overquota_perm_failure (Cyrus option) 204lmtpd (daemon) 262lmtpproxyd (daemon) 262lmtpunix (definition) 191load balancer 44–49
combining with proxy 50Cyrus 282, 291
load distribution 43–51load test, on the mupdate server 270local (MDA) 172Local Message Transfer Protocol see LMTPlog files (Cyrus) 278log information (Courier) see DEBUG_LOGINLOGGEROPTS (Courier parameter) 98logging in
Courier 119, 151
341The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
disabling (SqWebMail) see disablewebvia external authentication programs (Courier)131–133IMAP 31, 34, 297
disabling (Courier) see disableimapencrypting 210
methods see authentication methodvia MySQL database (Courier) see authmysqlvia MySQL database (Cyrus) 213, 216–220via PostgreSQL database (Courier) see auth-pgsqlPOP3 24, 318
disabling (Courier) see disablepopencrypting 27
via PostgreSQL database (Cyrus) 213via shell account see shell accountvia SQL database (Cyrus) 213testing (Cyrus) see imtest (tool)testing on the Sieve server 241
logging outIMAP status 32POP3 see QUIT (POP3 command)
logging tool (Courier) see courierloggerLOGIN (IMAP command) 31, 34, 297LOGIN (password transfer method) 81LOGIN (password-transfer method) 34, 97, 119,
147, 214forcing with imtest 218
login data, determining via SQL queryCourier 137Cyrus 217
login ID (email address) 157LOGIN-DELAY (POP3 command) 319LOGINDISABLED (capability) 296LOGOUT (IMAP command) 32, 297
and CLOSE 303lq see listquotalqr see listquotarootlsof, testing the POP/IMAP function 89LSUB (IMAP command) 41, 302LVS 47–49
Mmail see emailmail contents see bodyMail Delivery Agent see MDAmail partitions 189, 239
default partitions 239defining 239
mail repositoryoverloaded 50
mail server 17Mail Transfer Agent see MTAmail_spool_directory (Postfix variable) 92mailbox contents
listing (Cyrus) see listmailboxlisting (IMAP) 34, 299listing (POP3) 24, 318
mailbox_command (Postfix) 174mailboxes
creating (Cyrus) see createmailboxcreating directories 17Cyrus, listing 266deleting (Cyrus) see deletemailboxlocation in the filesystem (Cyrus) 195, 204moving in a cluster see xfermailboxmoving to another murder backend 287partitions (Cyrus) 259putting out on the standard output 267querying 17renaming (Cyrus) see renamemailboxrepairing (Cyrus) 255, 257saving see backupsearching see searching, in email
mailboxes.db 278file 266, 278
maildir 107–117creating directories 88creating from mbox 78–79location (Courier) 99vs. mbox 91and NFS 63, 108operating Exim with 94, 95operating Postfix with 92specifying in a MySQL table (Courier) 136specifying in userdb 126
maildir+ 172maildiracl (tool) 87maildirfolder (file) 109maildirkw (tool) 87maildirmake 164, 174
tool 88MAILDIRPATH (Courier parameter) 99maildirsize (file) 114, 115, 170
342The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
Maildrop 85maildrop (MDA) 172mailheader see headermailhost
user option 145Courier 175
mailnotifier (Cyrus option) 253main.cf (Postfix configuration file) 92maintenance, announcing 279makeuserdb (tool) 125, 128, 129Managesieve 240masssievec (tool) 269MAXDAEMONS (Courier parameter) 97maxmessagesize
Cyrus option 204Cyrus parameter 258
MAXPERIP (Courier parameter) 97mb2md.pl 79mbexamine 265mbox files 91–92
converting to the maildir format 78–79importing to an IMAP server 76
mbpath (tool) 266MD5, as password hash algorithm 147MDA 18
of the Courier project see Maildropwith quota capability see deliverquota
message text see bodymeta-information, for email 111migration 75–82
the exchange 81filter settings 80problems with Courier 110
MIMEattachment see attachmentsstructure, determining for an email 308
mirroring see RAIDmkfs.ext3 59mkimap (tool) 269mkimapdcert (tool) 88, 96, 104mknewsgroups (tool) 270mkpop3dcert (tool) 88, 96, 104modification time
of a file see mtimeof file permissions see mtimeof ownership see mtime
motd (file) 279
mount (command), activating quotas 168Mozilla Thunderbird see Thunderbirdmsg/ 279MTA 17, 18
connection to Courier 90–95of the Courier project 85
mtime 57mupdate
daemon 262server 282, 286, 288
load test 270port 284, 286
mupdate-loadgen.pl (tool) 270mupdate-port (Cyrus option) 286mupdate-server (Cyrus option) 286mupdate_authname (Cyrus option) 284, 286mupdate_password (Cyrus option) 284, 286mupdate_port (Cyrus option) 284mupdate_server (Cyrus option) 284mupdate_username (Cyrus option) 284, 286Murder cluster see aggregatorMySQL
creating table for user management 133replication 291specifying authentication server (Courier) 135support for Courier (OpenSuSE) 86, 134table, for user data (Courier) 135using with Courier 147, see authmysqlusing with Cyrus 231
MYSQL_AUXOPTIONS_FIELD (Courier parame-ter) 137, 146
MYSQL_CHPASS_CLAUSE (Courier parameter)138
MYSQL_CLEAR_PWFIELD (Courier parameter)135
MYSQL_CRYPT_PWFIELD (Courier parameter)135
MYSQL_DATABASE (Courier parameter) 135MYSQL_DEFAULTDELIVERY (Courier parameter)
136MYSQL_ENUMERATE_CLAUSE (Courier parame-
ter) 138, 161MYSQL_GID_FIELD (Courier parameter) 135MYSQL_HOME_FIELD (Courier parameter) 136MYSQL_LOGIN_FIELD (Courier parameter) 136MYSQL_MAILDIR_FIELD (Courier parameter)
136
343The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
MYSQL_NAME_FIELD (Courier parameter) 136MYSQL_OPT (Courier parameter) 136MYSQL_PASSWORD (Courier parameter) 135MYSQL_PORT (Courier parameter) 136MYSQL_QUOTA_FIELD (Courier parameter) 137MYSQL_SELECT_CLAUSE (Courier parameter)
137MYSQL_SERVER (Courier parameter) 135MYSQL_SOCKET (Courier parameter) 136MYSQL_UID_FIELD (Courier parameter) 135MYSQL_USER_TABLE (Courier parameter) 135MYSQL_USERNAME (Courier parameter) 135,
139MYSQL_WHERE_CLAUSE (Courier parameter)
137
NNAMESPACE
IMAP command 315IMAP extension 34
namingIMAP folders 110emails (Courier) 111–117
NAS, as email repository 20negation see NOT (search link)NetApp filer 55netnews separators 238new
contents of directory 111creating directories 88directories 94, 108messages see \Recent (flag)
number of 31, 299NFS
and Cyrus 63as email repository 45, 63–65for email storage 21FAM tuning 177and IDLE 177and maildir 63, 108and mbox 91
nfsvers (mount option) 64nice value, specifying for events (cyrus.conf) 268NIL (definition) 309nntpd (daemon) 263noacl (mount option) 58noatime (mount option) 57, 64
\NoInferiors (folder flag) 101NOOP
IMAP command 31, 296POP3 command 27, 318
\Noselect (flag) 301NOT (search link) 306Not Authenticated (IMAP status) 31
available commands 297–298notify (daemon) 252, 254notifyd 240
daemon 263numbering, emails 29
Oobsolete email, deleting automatically 268octet, definition 296, 309octet-byte conversion 309offline IMAP 29, 30, 315old email, deleting automatically 268one-time passwords (Cyrus) 185OpenGroupware 18OpenLDAP see LDAPOpenSSL
integrating in Cyrus 208support in older Cyrus versions 210
openssl 298ordered (journal mode) 60, 61_ORIG variables (Courier) 96out-of-office notices see vacation (Sieve com-
mand)outbox 178OUTBOX (Courier parameter) 178OUTBOX_MULTIPLE_SEND (Courier parameter)
178Outlook 17, 209, 279
Pp (permission) 36, 238PAM
support in Courier see authpamsupport in Cyrus 212, 219–220
pam (saslauthd plugin) 212partition-default (Cyrus)
option 204, 239parameter 239, 270
partition-name (Cyrus parameter) 259partitions (Cyrus) see mail partitions
344The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
PASS (POP3 command) 24, 317, 318passwd
converting into userdb see pw2userdbfile
authentication via (Courier) 119, 120,143
authentication via (Cyrus) 212, 214,219
restrictions on usernames 151passwords
additional SSL transfer methods for CourierPOP 97changing 138checking as hash 148cleartext 81cleartext transmission vs. hashing 147–150determining in cleartext 81encrypting (POP3) 27entering in userdb 128entry (IMAP) see LOGIN (IMAP command)entry (POP3) see PASS (POP3 command)field in a MySQL table (Courier) 135field in a PostgreSQL table (Courier) 139fishing, as a migration method 82logging (Courier) 99separate for different services 126sniffing 149transfer methods
cleartext 97as crypt hash 119Courier POP server 97in plaintext 34, 119, 210
Perdition 51performance 19
of filesystems 55–57influencing the Cyrus performance 215, 257,260of RAID 63shared folders 159tuning, of the filesystem 57–62
perl-Authen-SASL (SuSE package) 186perl-Cyrus (Red Hat package) 186perl-Cyrus-IMAP (SuSE package) 185perl-Cyrus-SIEVE-managesieve 190
SuSE package 186permanent flags 29, 36, 298
activating (Courier) 101
permissions see ACLspersistence 45PGSQL_AUXOPTIONS_FIELD (Courier parameter)
146PGSQL_CRYPT_PWFIELD (Courier parameter)
139PGSQL_DATABASE (Courier parameter) 139PGSQL_ENUMERATE_CLAUSE (Courier parame-
ter) 161PGSQL_GID_PWFIELD (Courier parameter) 139PGSQL_HOME_PWFIELD (Courier parameter)
139PGSQL_HOST (Courier parameter) 139PGSQL_LOGIN_PWFIELD (Courier parameter)
139PGSQL_NAME_PWFIELD (Courier parameter)
139PGSQL_PASSWORD (Courier parameter) 139PGSQL_PORT (Courier parameter) 139PGSQL_UID_PWFIELD (Courier parameter) 139PGSQL_USER_TABLE (Courier parameter) 139phpLDAPAdmin (tool) 220PID
file (Courier) 97of the saving process 114
PIDFILE (Courier parameter) 97PIPELINING (POP3 command) 319PLAIN (password-transfer method) 34, 81, 97,
100, 119, 147, 214Pluggable Authentication Modules see PAMPOP/IMAP before SMTP, using with Cyrus 206pop2imap 76POP3 18, 23, 28
connection status 317disabling login (Courier) see disablepopemail remains on the server 24extensions 319migrating to IMAP 76problems during migration 78providing for Debian (Cyrus) 187separate password for (Courier) 126server see POP3 daemonspecifying a timeout (Cyrus) 259
POP3 daemon 18configuration (Courier) 96–99Courier 87Cyrus 263
345The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
mode of operation 19number simultaneously started (Courier) 97PID file (Courier) 97preventing from starting (Courier) 98starting (Courier) 88, 98
POP3_PROXY (Courier parameter) 97, 175POP3_TLS_REQUIRED (Courier parameter) 103POP3AUTH (Courier parameter) 96, 97POP3AUTH_ORIG (Courier) 96POP3AUTH_TLS (Courier parameter) 97pop3d see POP3 daemon 87pop3d (Courier configuration file) 95–99, 122, 123pop3d-ssl (Courier configuration file) 95, 103pop3d.cnf (Courier configuration file) 88, 96, 104POP3DSSLSTART (Courier parameter) 103POP3DSTART (Courier parameter) 98POP3DSTARTTLS (Courier parameter) 103pop3login (Courier) 87pop3proxyd (daemon) 263poptimeout
Cyrus option 204Cyrus parameter 259
PORT (Courier parameter) 98ports
IMAP 33, 89via SSL 103, 208
IMAP via SSL 87LDAP 220
via SSL 220monitoring 89mupdate server 284, 286in the murder cluster 285POP3 18, 23, 89
via SSL 87, 103PostgreSQL 139Sieve 245specifying for MySQL
Courier 136Cyrus 216
specifying for POP3/IMAP server (Courier) 98specifying SSL for Courier 103to be released for Cyrus 191
PosgreSQL tablefor user data (Courier) 139
Post Office Protocol see POP3Postfix 18
configuring as a relay 192
integration into Courier 92–94naming for email in maildirs 114
PostgreSQLcontacting via the socket (Courier) 139using with Courier see authpgsql, 139–140,147using with Cyrus 213
postmark 55process ID see PID
Cyrus 279processor, requirements (IMAP) 44procmail (MDA) 172profile files (Squirrelmail) 80proxy
caching for IMAP 51, 73–74Courier as 175IMAP server as 44, 50, 51mode of the Courier POP3 server 97
proxy_authname (Cyrus option) 284PROXY_HOSTNAME (Courier parameter) 97, 175proxyd_disable_mailbox_referrals (Cyrus option)
285proxyservers (Cyrus option) 287ptscache_db (Cyrus parameter) 260pull procedure (IMAP) 32push procedure (IMAP) 32pw2userdb (tool) 125pwcheck (Cyrus SASL module) 214
QQMail 18
integration into Courier 94using the vchkpw library with Courier 120,130
qualified users (Cyrus) 233, 276quit (cyradm command) 274QUIT (POP3 command) 27, 318quota
Cyrus tool 257tool 230
QUOTA (IMAP extension) 316QUOTA extension 227quota.user (file) 168quota/ (directory, Cyrus) 279quota_db (Cyrus parameter) 260quotacheck (tool) 168quotaoff (command) 168
346The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
quotaon (command) 168quotaroot 228, 257quotas 20, 166, 167, 267
and MDAs 172calculating (Courier) 115Courier 167, 175
calculating 114specifying in MySQL 137specifying in userdb 126warning message when exceeded 96when manually storing email 115
Cyrus 225, 230, 279automatic 226checking 263listing 273manual 228restoring 257setting 273showing utilization 273warning message when exceeded 204
database, Cyrus 260filesystem 168maildirsize 170monitoring 167via maildir+ 170warning 174
quotawarn (Cyrus option) 204, 226, 227quotawarnkb (Cyrus option) 204quotawarnmsg
Courier configuration file 96file 174
Rr (permission) 36RAID 62–63RAM consumption
Cyrus index database 258IMAP 43
rccourier-authdaemon (script) 88rccourier-imap (script) 88rccourier-imap-ssl (script) 88rccourier-pop (script) 88rccourier-pop-ssl (script) 88read messages see \Seen (flag)
number of 31read permission see ACLsread throughput 56, 57, 60, 61
for RAID 62receiving email see retrieving email\Recent (flag) 35
searching for 306, 307recipient see To headerreconstruct
Cyrus tool 255, 257tool 267, 277
redirect (Sieve command) 248redundancy 19regular expressions, in Sieve 247rehash (tool) 270ReiserFS
as email storage medium 54–62data loss 54journal mode 60–62version 4 56
reject (Sieve command) 246, 248reject8bit (Cyrus option) 204relay server 17reliability see availabilityRENAME (IMAP command) 301renamemailbox (cyradmin command) 272renaming
folders (IMAP) see RENAME (IMAP com-mand)
renm see renamemailboxreplication (Cyrus) 291repquota 169resource consumption 32retrieving email 18
via IMAP 111reverse lookup, on client IP (Courier) 98RFC
ACL extension 34CHILDREN extension 34email format 115, 306IDLE extension 34IMAP 33IMAP4rev1 295NAMESPACE extension 34POP3 25
extensions 319QUOTA extension 227SASL 20, 85Sieve 250STARTTLS 319
347The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
UIDPLUS extension 34UNSELECT 39URLAUTH extension 296
rimap (saslauthd plugin) 212round robin
via DNS 46via iptables 46–47
RSET (POP3 command) 26, 318
Ss (permission) 36safeguards (Cyrus) 207–224sam see setaclmailboxSAN, as email repository 20, 45, 55SASL
authentication methods (Cyrus) 205and Courier 20downloading 325RFC 20, 85
sasl_mech_list (Cyrus option) 214sasl_pwcheck_method 212
Cyrus option 205, 215, 219option 189
sasl_sql_hostnames (Cyrus option) 216sasl_sql_select (Cyrus option) 217sasl_sql_usessl (Cyrus option) 217sasl_sql_verbose (Cyrus option) 217saslauthd (Cyrus SASL module) 189, 212, 215
using LDAP with 221, 223saslauthd.conf (file) 222sasldb (saslauthd plugin) 213, 216sasldb2
as authentication for Cyrus 194, 216lack of group management 216, 231
saslpasswd2 (command) 194scaling see performanceSEARCH (IMAP command) 40, 296, 304, 308
returning the Unique ID 314searching
conjunction 304for deleted email 40in email 29, 40, 304, 308negation see NOT (search link)OR link 307specifying a character set 305for text containing special characters 305
\Seen (flag) 31, 35
Cyrus database 259, 279in the filename (maildir) 113permit change 36preventing when retrieving emails via FETCH309searching for 307searching for email without 40
seenstate_db (Cyrus parameter) 259SELECT (IMAP command) 32, 35, 75, 298
and CLOSE 303Selected (IMAP status) 32
available commands 303, 314sending email 17
via IMAP 178sendmail 18, 178
path to the program (Courier) 102SENDMAIL (Courier parameter) 102sequence number
changing when emails are deleted 304of an email 29of the first unread email 299
server reply (IMAP) 31servername (Cyrus option) 283, 288, 290session-based flags 29setaclmailbox (cyradm command) 230setaclmailbox (cyradmin command) 272setinfo (cyradm command) 273, 278setquota
cyradm command 228cyradmin command 273
SHA, as password hash algorithm 147shadow (file)
authentication via (Courier) 119, 120, 143authentication via (Cyrus) 212, 214, 215, 219restrictions on usernames 151
shadow (saslauthd plugin) 212share groups 158share name 156shareable maildir 163#shared (directory) 110, 156shared directory 157, 164
Courier 96shared folder 34, 164
Courier 153, 166activating 101filesystem-based 163group mapping 145
348The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
grouping 158index file see index (file)name space 156share name 156storage location 110virtual 154–163
Cyrus 188, 230authentication sources 231setting permissions 230
shared groupsCourier 159, 162index file 161
sharedgroup (user option) 145, 155Courier 159–161
sharedindexinstall (tool) 88, 162sharedindexsplit (tool) 88, 161shell account
authentication via (Courier) 94, 119authentication via (Cyrus) 215creating 215email address as username 127
shutdown (file, Cyrus) 279Sieve 21, 240, 252
administration see sieveshellchanging a script 244configuring 241evaluating the envelope 246evaluating the header 247and KMail 244loading additional modules 246in the murder cluster 285notification (SMS, IM) 254packages 240regular expressions 247reject spam 248required Perl modules 190RFC 250script language 246, 250setting up scripts automatically for new ac-counts 251, 252and Squirrelmail 244testing the configuration 241translating into byte code 268, 269with virtual domains 252and Webmin 244working directory 240
Cyrus 205
sieve (option) 241sieve_allowreferrals (Cyrus option) 285sievec (tool) 269sievedir (Cyrus option) 205, 241, 285sievenotifier (Cyrus option) 253sieveshell (tool) 242, 245
authentication 242commands 242, 244
sieveuserhomedir (Cyrus option) 285Simple Authentication and Security Layer see
SASLSimple Mail Transport Protocol see SMTPsivtesti (tool) 241size
determining for an email 311of an email as search criterion 306, 307of an email file 114limiting a data segment’s (Courier) 102limiting the virtual memory’s (Courier) 102maximum for email (Cyrus) 204restricting for an email for LMTP (Cyrus) 258
skiplist (Cyrus database format) 259SmartSieve 184, 244smmapd (daemon) 263SMTP 17
after POP, using with Cyrus 206separate password for (Courier) 126server see MTA
sniffing 149passwords 81
SNMP support (Cyrus) 329sockets
Cyrus 279defining for LMTP (Cyrus) 191specifying for MySQL (Courier) 136specifying for PostgreSQL (Courier) 139
SORT (IMAP command) 34, 100, 315sorting, on the server 34, 100spaces, in folder names 110spam
fighting via Sieve script 248, 251fighting with custom IMAP flags 289
special charactersin folder names 110, 158searching for 305
specifying the default domain (Cyrus) 203sq see setquota
349The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
sql (auxprop plugin) 213squat index 267, 274squatter (tool) 267Squirrelmail 68–70
and Sieve 244migration problems 80problems with filter settings 80user profiles 80
SqWebMail 85, 138disabling login (Courier) see disableweb
SSLactivating (Courier) 103caching connection information 260configuring (Courier) 102–105encryption
of the database connection (Cyrus)217
starting see STARTTLS (IMAP com-mand)forcing (Courier) 103generating keys (Courier) 88password-transfer methods
Courier IMAP server 100Courier POP server 97
start scripts for Courier (OpenSuSE) 87version, selecting (Courier) 104wrapper 208
SSL certificateschecking the client’s (Courier) 104commercial vs. free 208creating 209
with Courier 96, 104paths to (Cyrus) 205specifying the path
Courier 104Cyrus 205, 210LDAP server 222
warning for custom 208SSL/TLS (Courier) 102SSLADDRESS (Courier parameter) 103SSLLOGGEROPTS (Courier parameter) 103SSLPIDFILE (Courier parameter) 103SSLPORT (Courier parameter) 103start/stop script see initscriptSTARTTLS
capability 296IMAP command 103, 208, 296, 297
activating (Courier) 103for POP3 see STLS (POP3 command)POP3 command
selecting SSL version (Courier) 104RFC 319
STAT (POP3 command) 318STATUS (IMAP command) 32, 302status information
for a mailbox 31, 296for an email see flagsfor an IMAP folder 35, 39, 296, 298, 302
STLS (POP3 command) 103, 208, 319activating (Courier) 103selecting SSL version (Courier) 104
storage see email, repository, centralrestrictions see quotas
STORE (IMAP command) 35, 113, 116, 312using the Unique ID 313
subfolders (Courier)format 109names 108
subject headeras search criterion 307
SUBSCRIBE (IMAP command) 41, 302subscribed folders
list (Courier) 109list (Cyrus) 280listing see LSUB (IMAP command)migrating 78on different backend servers 287
subscribing to (folders) see SUBSCRIBE (IMAPcommand)shared folders 166and visibility in the mail client 162
subscription_db (Cyrus parameter) 260symlinks 164
shared folder 154system flags 35, 113
Tt (permission) 37tagged server replies 31tags 31tcpd 73TCPDOPTS (Courier parameter) 98tcpdump 149telnet
350The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
setting IMAP flags 116testing the POP/IMAP function 89, 289
test email, sending 93–94, 288testsaslauthd (tool) 222text message, when email is received 254TheBat 209THREAD
IMAP command 315IMAP extension 34, 100
threading, on the server 34Thunderbird 17, 279timeout
Cyrus option 205specifying for POP3 (Cyrus) 259
timsieved 240daemon 263SuSE package 186
TLS see SSLcache (Cyrus) 260Courier 102
tls_ca_file (Cyrus option) 206, 210tls_ca_path (Cyrus option) 206, 210TLS_CACHEFILE (Courier parameter) 104TLS_CACHESIZE (Courier parameter) 104tls_cert_file (Cyrus option) 205, 210TLS_CERTFILE (Courier parameter) 104tls_key_file (Cyrus option) 205, 210TLS_PROTOCOL (Courier parameter) 104tls_prune (tool) 202, 269tls_session.db (file) 269, 279TLS_STARTTLS_PROTOCOL (Courier parameter)
104TLS_VERIFYPEER (Courier parameter) 104tlscache_db (Cyrus parameter) 260tmp
creating directories (maildir) 88directories (maildir) 108, 115
To header, as search criterion 308TOP (POP3 command) 26, 319transaction state (POP3) 317transactions
simultaneous per Cyrus database 258translatesieve (tool) 252, 271trash folder (Courier) 101
emptying after a specified period 101\Trashed (flag) 113trust network 208
TRYCREATE (server reply) 313Tso, Theodore “Ted” 58, 61tune2fs 59
UUID see Unique ID
IMAP command 313, 314UIDL (POP3 command) 320UIDPLUS (IMAP extension) 34, 315ulimit 102umask, of the Courier server process 102UMASK (Courier parameter) 102uname -n 175unanswered email, searching for 308undelete (POP3) 26, 318undo, when deleting email (Courier) 101undohash (tool) 271unique email ID (POP3) 320Unique ID 29, 299
determining 312, 315as search criterion 308using in IMAP commands 313–314Value 29, 36, 299
universe 159Unix account see shell accountUnix separators see /, as mailbox separatorunixhierarchysep (Cyrus option) 205, 235\Unmarked (folder flag) 34unqualified users (Cyrus) 233, 276unread email
finding 308number of the first 299querying for 40
UNSELECT (IMAP command) 39UNSUBSCRIBE (IMAP command) 41, 302unsubscribing (folders) see SUBSCRIBE (IMAP
command)untagged server replies 31Update state (POP3) 318upgradesieve (tool) 271URLAUTH (IMAP command) 296URLs, for IMAP messages see URLAUTHUSER (POP3 command) 24, 317–319user ID
field in a MySQL table (Courier) 135field in a PostgreSQL table (Courier) 139
user options (Courier) 144–147
351The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben
Index
maintaining in LDAP) 143, 146saving in the userdb 146specifying in MySQL) 137, 147specifying in PostgreSQL) 147
user profiles see profile files (Squirrelmail)user/ (directory, Cyrus) 280userdb
creating file from passwd see pw2userdbdirectory 125, 129file 125
converting into a database 128displaying an entry 127maintaining separately by domain 129manipulating an entry 127saving user options in 146separating 129
file structure 125–127tool 127–129
userdb.dat (file) 128userdbbpw (tool) 128userdbpw (tool) 129, 130userdbshadow.dat (file) 128userid.seen (file) 280userid.sub (file) 280username
converting to lowercase 205entry (IMAP) see LOGIN (IMAP command)entry (POP3) see USER (POP3 command)field in a MySQL table (Courier) 136field in a PostgreSQL table (Courier) 139logging (Courier) 99selecting 150–151
username_tolower (Cyrus option) 205users, virtual see virtual accountsusrquota (mount option) 168UW-IMAP 186
Vvacation (Sieve command) 246, 249, 250variables see configuration parameters/var/lib/imap 188, 203, 277/var/lib/sieve 205Varshavchik, Sam 59, 139, 149/var/spool/imap 188, 204, 275/var/spool/imap/user 195vchkpw library see QMailVDA patch 173
Venema, Wietse 73version (cyradm command) 274virtdomains (Cyrus option) 205, 233virtual (MDA) 172
quota patch 173virtual accounts 120
per authuserdb see authuserdbvirtual domains (Cyrus) 232
activating 205adapting Sieve scripts 252, 271and assigning permissions 236
virtual memory, limiting size of (Courier) 102virtual users see virtual accounts, 94, 120,
with Postfix 94vpopmail library see vchkpw library
Ww (permission) 36WAFL, as email storage medium 55Web-cyradm 184webmailer 67–73
accelerating the see IMAP, Proxy (project)for cell phones 70for the Courier project 85, 132, 138migration problems 80problems with filter settings 80
WebminCyrus plugin 184and Sieve 244
websieve (web interface) 244WHERE (SQL command) 137write permission see ACLswrite throughput 56, 57, 60, 61
for RAID 62writeback (journal mode) 60–62
Xx (permission) 37X-commands (IMAP) 316X-IMAP-Sender (header) 99, 178xfermailbox (cyradm command) 274, 287XFS, as email storage medium 54–56XMPP notification (Sieve) 254
ZZephyr 254ZFS, as email storage medium 54
352The Book of IMAP
(C) 2008 by Peer Heinlein and Peer Hartleben