Managing IMAP by Dianna Mullet and Kevin Mullet Unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. If you have any technical questions or error reports, you can send them to booktech@oreilly.com. (Please specify the printing date of your copy.) This page was last updated June 6, 2008. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification UNCONFIRMED errors and comments from readers: [11] Figure 1-6, Step 3 in SMTP protocol walk-through; The client greeting reads HELLO client.somewhere.com Should be HELO client.somewhere.com as per RFC 821 (or EHLO as per RFC 2821, but the book was released before RFCs 2821/2822). (24) footnote If your site offers a web-based IMAP client (Chapter 7, Installing the Cyrus IMAP Server), ... should read: If your site offers a web-based IMAP client (Chapter 5, Web-based IMAP Clients), ... (35) List Items; urls to Internet RFC documents and Internet Drafts are obsolete [84] IMP URL changed to: ftp://ftp.horde.org/horde.org/imp/ Horde URL changed to: ftp://ftp.horde.org/horde.org/horde/ {94} In your discussion of the strengths and weaknesses of SilkyMail, you state that SilkyMail 1.0 is a free and open source client, but on downloading it, this appears not to be the case. SilkyMail makes use of the IMP package, which is licensed under the GPL, but the package requires download of two separate archives, one of which contains client code, as well as a copy of Apache, OpenLDAP, and various support libraries. This package appears to be licensed under a far more restrictive arrangement, and the version available for download is only an evaluation copy. {118} In the last paragraph: The complete list of options is discussed in chapter and listed in the imapd(5) online manual page. should be: The complete list of options is discussed in chapter and listed in the imapd.conf(5) online manual page. (108) Cyrus the Great of Persia (599-530 BC) should be: Cyrus the Great of Persia (559-530 BC) [136] 1; Please add in Common Problems, Chapter 7, that if users are to use the 'sasl_pwcheck_method = sasldb' in 'imapd.conf', they should 'chown cyrus:mail /etc/sasldb'. Else, it won't work. FYI: I'm trying to install/configure/run Cyrus IMAP 2.0.16 from source on Red Hat Linux 7.2. [140] cleartextloginpause should be: plaintextloginpause [141] The paragraph under "Odds and Ends" says to "Create the supporting files in the configuration directory with the permissions shown." However, the text giving the commands for setting up the configuration directory does not show the permissions to which the file (mailboxes) and the directories (user, quota, proc, log, and msg) should be set. I would guess, given the permissions for the other files and directories set up on this page, the permissions should be set via "chmod 750 *". (149) 8th paragraph; Sendmail statement is listed as: "A=deliver-m $h -- $u" Should be: "A=deliver -m $h -- $u" {150} The first paragraph describes how to use cyradm to create a user. However, doing this requires the administrator to have already started imapd, which (if strictly following the author's steps), is not started until the section "Getting Cyrus Up And Running," where the steps to adding an entry to inetd.conf are described. {150} The first line of the 3rd code sample now reads: cd /var/spool/cyrus/usr/debug However, on page 141, the spool directory that is created to hold the user files is /var/spool/imap, not /var/spool/cyrus, so this line should read: cd /var/spool/imap/usr/debug {153} first program invocation command (text in constant width bold); `/usr/local/bin/imtest -p localhost imap` should be `/usr/local/bin/imtest -p imap localhost` [161] The paragraph below the owl states that you must have "d (delete)" rights to delete a mailbox. This is no longer the case under Cyrus 2.0.x. Deleteing a mailbox now requires "c (create)" rights. [161] second code block should read: localhost> listaclmailbox user.lists.security-l.archive lists lrswipcda localhost> setaclmailbox user.lists.security-l.archive. anonumous read localhost> listaclmailbox user.lists.security-l.archive lists lrswipcda anonumous lrs (161) last line: user.dianna STORAGE 1363/15000(9%) should read: user.johndoe STORAGE 1363/15000(9%) (162) The last paragraph describing procedures; No.4 should be No.3 and No.3 should be No.4. {163} The last description for "connectionname authenticate" Authenticates the connection. connection authenticate has ... should read: Authenticates the connection. connectionname authenticate has ... [167] Line 15 in Example 9-2 now reads: if [catch {cyr_conn setaclmailbox user.$oldmb cyrusadm d} \ Should read: if [catch {cyr_conn setaclmailbox user.$oldmb cyrus d} \ {167} Example 9-2. The rename Script (continued) after the while code block; The line 'file delete -force /var/spool/cyrus/user/$newmb' should be 'file delete -force /var/spool/imap/user/$newmb'. (170) caption for example 9-3 The Offending Code from mboxlist.c should read: The Offending Code from mailboxlist.c [189] first code block 4th and 5th lines should read: Created mailbox user.diannam.sent Created mailbox user.diannam.saved (194) The caption for table 9-4 should read: connectionname authenticate Command Switches [198] code block at the bottom "imap-news" should read: "news" [207] the first line format "v2000.NNN"(UW IMAP 2000), ... Should read: format "2000.NNN"(UW IMAP 2000), ... (211) The URL in the footnote now reads: http://www.washington.edu/imap/listarch/msg02743.html Should read: http://www.washington.edu/imap/listarch/1997/msg00134.html [212] The sixth line of the code sample now reads: . login kwm xxxxxxxx The password needs to be quoted for the command to work. It should read: . login kwm "xxxxxxxx" {227} line 6 in the second paragraph: CAPABILITIES command might ... Should read: CAPABILITY command might ... [239] line 2 in the third paragraph: (drwxrwxrwt) Should read: (drwxrwxrwx) [239] line 3 in the fourth paragraph (drwxrwxrwt) Should read: (drwxrwxrwx) [241] second term: mbxcreat Should read: mbxcreate (249) the first paragraph in Tripwire subsection: Tripwire Security, Inc. Should read: Tripwire, Inc. (I suppose...) And their website is generally known as http://www.tripwire.com/ [267] the first code block before example 14-4, line 5: - -rwsr-xr-x Should read: -rwxr-xr-x {306} footnotes MRTG website is: http://ee-staff.ethz.ch/~oetiker/webtools/mrtg/ Gnuplot website is: http://www.gnuplot.org/ NetPBM website is: http://sourceforge.net/projects/netpbm/ [378] STORE command Usage STORE message data Should read: STORE message data value