index [nostarch.com] · admins (cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server...

22
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 300 8-bit characters see eight-bit characters A a (permission) 37 access permissions see ACLs access time, of a file see atime account options see user options (Courier) ACLs 34, 36, 37, 154 Cyrus 231, 232 group-based (Courier) 144 identifier 154 IMAP extension 34, 316 activating (Courier) 102 listing (Cyrus) 272 manipulating (Courier) see maildiracl (tool) negative permissions 155 removing (Cyrus) 272 saving in Courier see courierimapacl (file) setting (Cyrus) 272 switching off at filesystem level 58 for virtual domains (Cyrus) 236, 237 active directory with user data 81 ADDRESS (Courier parameter) 98 address (Sieve command) 246 administration directory (Cyrus) 203 administrator, creating (Cyrus) 194 admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 frontend server 282–285 allowanonymouslogin (Cyrus option) 203 allowsubscribes (Cyrus option) 287 allowusermoves (Cyrus option) 287 altnamespace (Cyrus option) 277 annotation database (Cyrus) 259 annotation_db (Cyrus parameter) 259 annotations.db (file) 267, 278 \Answered (flag) 35 in the filename (maildir) 113 searching for 305 APOP 27, 28, 148 POP3 command 317, 319 AppArmor 193 APPEND (IMAP command) 302 Apple Mail 279 aquota.user (file) 168 arbitron 263 arbitronsort.pl (tool) 190, 269 atime, switching off 57–58, 64 attachments, retrieving individually (IMAP) 310 AUTH (IMAP extension) 315 AUTH (POP3 command) 317, 319 AUTH=PLAIN (capability) 296 authcram (Courier) 120, 129, 144, 148 authcustom (Courier) 121, 130 authdaemond (Courier) activating 99 configuration file see authdaemonrc starting 88 daemon 20, 121–123 configuration file see authdaemonrc custom authentication modules see authcustom using with Cyrus SASL 189, 213 331 The Book of IMAP (C) 2008 by Peer Heinlein and Peer Hartleben

Upload: phamtuong

Post on 07-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 2: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 3: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 4: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 5: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 6: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 7: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 8: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 9: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 10: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 11: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 12: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 13: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 14: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 15: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 16: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 17: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 18: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 19: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 20: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 21: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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

Page 22: Index [nostarch.com] · admins (Cyrus option) 203, 287, 288 aggregator 51, 281–290 backend server 282, 286–287 ... case sensitive folder names 301 search 40 Cc header, searching

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