Pine Questions and Answers * Frequently Asked Questions about Pine + 1.1 What documentation is available for Pine? + 1.2 Who should I ask for help with Pine? + 1.3 Why does command X not work? + 1.4 How can I filter messages into different incoming folders? + 1.5 How do I define my own headers like Reply-To and Organization? + 1.6 How do I control what is displayed in the FOLDER INDEX screen? + 1.7 How can I have a signature automatically appended to my mail messages? + 1.8 How do I send a message to multiple recipients without showing all their names? + 1.9 How can someone without Pine decipher an attachment to a message I send? + 1.10 Can Pine be used with a POP server? * What is ...? + 2.1 What is PICO? + 2.2 What is PILOT? + 2.3 What is MIME? + 2.4 What is IMAP? * Usage Questions + 3.1 Why should I use Pine's Bug Report command? + 3.2 Can I get a "return-receipt" when sending a message with Pine? + 3.3 How do I transfer messages from Pine on a Unix host to my PC? + 3.4 What happens when two Pine sessions access the same mailbox at the same time? + 3.5 What does "Folder Format Invalidated..." mean? + 3.6 What does the message "locked, override in _XXX_ sec" mean? + 3.7 Why doesn't "attached-to-ansi" printing work? + 3.8 Can you fix a bug in an older version of Pine, please? + 3.9 How to I mark all messages in a newsgroup as "read" or "deleted"? + 3.10 How can I have all messages I receive automatically forwarded to another account? [NEW] * Customization and Configuration + 4.1 Where does Pine look for configuration information? + 4.2 Can I customize Pine on a per folder basis? + 4.3 Can I eliminate the @host.domain from local addresses? + 4.4 How can I perform spell checking with PC-Pine for Windows? + 4.5 How do I change spell checking in Pine (pre-3.92) and Pico? + 4.6 How can I control association of MIME-attachments with applications and filenames? + 4.7 How can PC-Pine use different character sets? + 4.8 How can I read a ROT13 encoded message? + 4.9 Why does my message index show From: instead of To:? + 4.10 How do I change my 'From:' line? * Attachments to email messages + 5.1 Why does Pine encode text attachments? o 5.1.1 How can I send a text file without it being encoded? + 5.2 Why does Pine use Base64 instead of UUENCODE? + 5.3 How do I convert a Sun Mailtool attachment to MIME format? + 5.4 How do I decode an attachment in a message I received that is in BinHex or UUencoded format? [NEW] * Addressbook Usage and Conversions + 6.1 How do I "paste" from the addressbook into the text of a message? + 6.2 How do I convert Berkeley Mail aliases to Pine Addressbook? + 6.3 How do I convert Elm aliases to Pine Addressbook? + 6.4 How do I convert a CMS "names" list to Pine Address Book? + 6.5 How do I convert from Pine Address Book to/from the equivalents in Eudora, Netscape, Pegasus, ... ? * Info for systems administrators, developers, etc. + 7.1 Can we use Pine/Pico/Pilot source code in commercial products? + 7.2 What is a Tenex mailbox and why should I use it? + 7.3 Can Kerberos or AFS authentication be used with Pine? + 7.4 How does folder locking work? + 7.5 Where does Pine create lockfiles, and what should that directory's permissions be? + 7.6 Why does Pine have problems with my filter's locking? + 7.7 Why doesn't Pine recognize Content-Length header field? + 7.8 How do I configure Pine to not leave mail in /usr/spool/mail? + 7.9 Why do I get the message "Unparsable Date" when I read messages? + 7.10 Why can't I compile Pine under SCO unix? + 7.11 How can I set up Pine for rimap under Solaris 2.4 and NIS+? + 7.12 What do I need to do when compiling PINE to let users change their ``From:'' line? + 7.13 Is Pine ready for the year 2000? [NEW] * Pine Development + 8.1 What is the latest version of Pine, and what's new in it? + 8.2 What new features will future releases of Pine include? + 8.3 When is the next release of Pine scheduled? * Can I contribute to this Q&A list? Beginning 15 Oct. 1997, new Q&A items added are marked [NEW] for sixty days for easier identification. The Pine Questions & Answers can be found in HTML format at http://www.washington.edu/pine/QandA/ and as a single text file at ftp://ftp.cac.washington.edu/pine/docs/QandA.txt _________________________________________________________________ The most Frequently Asked Questions about Pine 1.1 What documentation is available for Pine? The Pine program itself includes extensive internal, context-sensitive help, accessible by pressing ? in most screens. Pressing R in Pine's MAIN MENU displays Release Notes. Additional information, including a User's Guide, Technical Notes, Questions & Answers, where to obtain the Pine software, what tools are available to perform tasks that Pine itself does not, and more, can be accessed: * In the Pine Information Center on the World Wide Web at the URL: http://www.washington.edu/pine/ * Via anonymous FTP on the host ftp.cac.washington.edu in the subdirectory /pine/docs/. Here, you will find most of the documents from the Pine Information Center in plain-text form. * The Pine documents on the host ftp.cac.washington.edu can also be read from within Pine by defining a folder collection (from Pine's MAIN MENU, choose SETUP, Config; then move to folder-collections and choose Add Value) as: *{ftp.cac.washington.edu/anonymous}pine/docs/[] _________________________________________________________________ 1.2 Who should I ask for help with Pine? If you need assistance with Pine, contact the technical support staff or computer help desk of your Internet Service Provider, school, university, employer, ... -- whichever organization provided you with the email account on which you are using Pine. (Due to the large number of Pine installations worldwide, the University of Washington cannot provide individual support services to Pine users at other organizations.) You may also be able to find the answer to your question through the newsgroup comp.mail.pine; or the Pine-Info mailing list -- see http://www.washington.edu/pine/pine-info/. _________________________________________________________________ 1.3 Why does command X not work? Some of the Pine commands you may read or hear about have to be explicitly enabled in the SETUP CONFIGURATION menu, which is accessed from Pine's MAIN MENU, to be functional. For example, to be able to use the "Bounce" command, the following feature has to be checked: [X] enable-bounce-cmd and to be able to use the "Select"/"Apply" operations, you must first check: [X] enable-aggregate-command-set _________________________________________________________________ 1.4 How can I filter messages into different incoming folders? Pine does not perform delivery filtering; that is the function of other programs, such as (on Unix hosts) "procmail" or "mailagent." For details on selection and configuration of such programs, see the Filtering Mail FAQ (by Nancy McGough) at one of the following locations: http://www.ii.com/internet/faqs/launchers/mail/filtering-faq/ http://www.best.com/~ii/internet/faqs/launchers/mail/filtering-faq/ Once you have successfully set up your delivery filtering, you will have new mail arriving in several different folders, in addition to your INBOX. You can then access these folders just like any other mail folder. You can also define a collection of incoming message folders in Pine, through which you can then TAB to read new messages. For more information, see Pine's internal help on the enable-incoming-folders feature in Pine's SETUP CONFIGURATION menu. _________________________________________________________________ 1.5 How do I define my own headers like Reply-To and Organization? From Pine's MAIN MENU, choose Setup, then Config. Move down to the customized-hdrs option and read the context-sensitive help screen. _________________________________________________________________ 1.6 How do I control what is displayed in the FOLDER INDEX screen? The display of fields in the FOLDER INDEX screen can be customized. For example, you can choose to have both the From and the To field (by default, the FOLDER INDEX will list the From address unless it is you, then it will list the To address) of each message shown; to suppress the message number display in each line; or to have the Subject field take up 60% of the line width. From Pine's MAIN MENU, choose Setup, then Config. Then go to the index-format option and read the context-sensitive help screen. _________________________________________________________________ 1.7 How can I have a signature automatically appended to my mail messages? From Pine's MAIN MENU, choose Setup, then Signature. The text you enter in the SIGNATURE EDITOR (new in Pine 3.92) will be appended to all messages you compose. _________________________________________________________________ 1.8 How do I send a message to multiple recipients without showing all their names? In Pine's message composer, with the cursor in the message headers area, press Ctrl-R ("rich headers"). Then read the context-sensitive help screens for the Bcc: and Lcc: fields. _________________________________________________________________ 1.9 How can someone without Pine decipher an attachment to a message I send? Pine uses the MIME Internet standard for attaching files to email messages. Any MIME-capable mailer should be able to "understand" Pine's attachments. If the recipient of your message with attachment does not have MIME-capable email software, they should be able to save the attachment to a file and then decode that. One freely-available program which can decipher a MIME attachment is munpack from Carnegie Mellon. It is available at: ftp://ftp.andrew.cmu.edu/pub/mpack Another one is UUDeview, available at: http://www.uni-frankfurt.de/~fp/uudeview/ _________________________________________________________________ 1.10 Can Pine be used with a POP server? As of version 3.96, PC-Pine cannot be used with a POP (Post Office Protocol) server. PC-Pine 4.00 will be able to access a POP server, but not in offline mode; that is, the computer running PC-Pine has to remain network-connected while accessing the POP server. Pine for Unix can be configured to access the message INBOX on a POP3 server using the folder definition syntax {pop3server/pop3}INBOX where pop3server is the hostname of the POP3 server. However, this method accesses the POP server in quasi-online mode, not in offline mode, which POP was designed for. Accessing the inbox on a POP3 server with Pine does not preserve changes to message flags (New, Answered, Deleted, etc.) between sessions. As an alternative, a program such as fetchmail (which supercedes popclient) can be used to download email from a POP server to a local Unix account, where it can then be accessed with Pine. fetchmail can be obtained from: http://locke.ccil.org/~esr/fetchmail/ Note: support for the offline mode of email access (using either POP or IMAP) is planned for a future release of Pine and PC-Pine. For a more detailed comparison of the POP and IMAP protocols, see Message Access Paradigms and Protocols at the URL: http://www.imap.org/imap.vs.pop.html _________________________________________________________________ End of Pine Frequently Asked Questions - more questions & answers about Pine can be found at the URL: http://www.washington.edu/pine/QandA/ or ftp://ftp.cac.washington.edu/pine/docs/QandA.txt _________________________________________________________________ What is ...? 2.1 What is PICO? Pine's message composition editor is also available as a separate stand-alone program for Unix hosts, called PICO. PICO is a very simple and easy-to-use text editor offering paragraph justification, cut/paste, and a spelling checker. _________________________________________________________________ 2.2 What is PILOT? New in version 3.92, Pine's built-in file manager - used, for example, to select a file for retrieval into the body of a message being composed - is available as a stand-alone program for Unix hosts, called PILOT (for "Pine's Lister of Things"). _________________________________________________________________ 2.3 What is MIME? MIME stands for "Multipurpose Internet Mail Extensions". It is an Internet standard which allows transfer of binary files (word-processing documents, spreadsheets, images, sounds, etc.) between any compliant mailers, such as Pine. You can get technical information about MIME from the section Multipurpose Internet Mail Extensions (MIME) in the Pine Technical Notes. Ongoing discussion on MIME takes place in the newsgroup comp.mail.mime. There is also a Frequently Asked Questions (FAQ) list about MIME that is posted regularly to the newsgroups comp.mail.mime, comp.answers and news.answers, and also accessible at the URLs: ftp://ftp.uu.net/usenet/news.answers/mail/mime-faq/ ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/mail/mime-faq/ http://www.cs.ruu.nl/wais/html/na-dir/mail/mime-faq/.html http://www.cis.ohio-state.edu/text/faq/usenet/mail/mime-faq/top.html The MIME FAQ contains an appendix with useful information about MIME types. _________________________________________________________________ 2.4 What is IMAP? IMAP stands for Internet Message Access Protocol. It is a method of accessing electronic mail or bulletin board messages that are kept on a (possibly shared) mail server. In other words, it permits a "client" email program to access remote message stores as if they were local; Pine is such a client. For more details on IMAP, please visit the World Wide Web site The IMAP Connection at the URL: http://www.imap.org _________________________________________________________________ Usage Questions 3.1 Why should I use Pine's Bug Report command? Using the built-in Bug Report command (B on the Main Menu or any Help screen) is useful because it will automatically include configuration information that may be essential to determining the cause of the problem you are experiencing. It also gives you the opportunity to conveniently include the current message as an attachment in case you believe that the problem is specific to that message. _________________________________________________________________ 3.2 Can I get a "return-receipt" when sending a message with Pine? Many Pine users, who may have seen this feature in other email systems (such as those on a Local Area Network, where it is common), have asked if there is a way to confirm whether or not a message they send over the Internet has been received, or even whether it has been read, by the recipient. The answer is "perhaps" ... reasons against generation of return receipts include: * There is no Internet standard for email return receipts, thus the functionality of delivery acknowledgment is unpredictable. * Since the request for a return receipt generates (at least) one new outgoing message for each one received, the increased message traffic could easily overload some email-processing hosts and networks. * On mailing lists (or any sort of one-to-many communication), one sender requesting a return receipt, even inadvertently, could generate a large number of delivery acknowledgment messages coming into their host and mailbox in rapid succession. * If an outgoing message with a return-receipt request bears an invalid return email address, or one which becomes unreachable due to connectivity problems, the acknowledgment message from the recipient could not reach the sender and would probably bounce back to the recipient's mailserver or INBOX. * Some online services and gateway providers, especially outside the USA, still charge users a per-message-fee for Internet email (inbound, outbound, or both), so that sending them a return-receipt-requested message would cause them to have to pay for an extra outbound message that they had no control over. * Privacy considerations -- many recipients of Internet email may not wish to divulge whether or not they have received or read a message, especially in the case of unwelcome solicitation messages. However: * Some sites support delivery notifications for messages that have a Return-Receipt-To: header. This header can be added to Pine messages in the customized-hdrs field of Pine's SETUP CONFIGURATION screen, which is accessed from Pine's Main Menu. * However, even then the delivery acknowledgment will typically come from the recipient's Mailer Daemon (email server), thus merely indicating that the message was received on the receiving site's mailhost, not whether or not the recipient "picked up," let alone read, the message. If a message cannot be delivered due a technical problem -- such as connectivity interrupted, or mailhost down or misconfigured -- the sender will almost always receive a diagnostic message to that effect, which they can forward to their computing support staff for interpretation and troubleshooting. The best solution to the "lack of return-receipt" problem is therefore to include a line requesting confirmation from the recipient that a message was received in that message itself. _________________________________________________________________ 3.3 How do I transfer messages from Pine on a Unix host to my PC? Applies to Pine for Unix only Users of Pine on a remote host may sometimes wish to transfer messages to their desktop computer. The process for this depends on the version of Pine you are using and on how you connect from your PC to the host running Pine. * In Pine, go to the message, or select the message(s)* you wish to transfer. * Export (press E) the message(s). * If you are using Pine version 3.92 or later and are connecting to the account on which you are running Pine using terminal-emulation communications software (such as Procomm, Kermit, Telix, or MS Windows Terminal for IBM-compatibles; or MicroPhone or ZTerm for Macintosh) and a modem, you can simplify the process of downloading exported messages to your PC. In Pine's SETUP CONFIG screen, go to the download-command line and read the context-sensitive help to learn how to configure Pine to transfer exported messages to your PC using a serial line transfer protocol (which must be available both on the host on which you are running Pine and from the communications software on your PC; check with your Internet account provider if in doubt) such as Xmodem, Zmodem, or Kermit. With this configuration, you can eliminate the following steps. * Otherwise, read on: 1. Make note of the name you provide for the resulting file when prompted by the Export function. If you enter only a filename (for example: export.msg), the file will be saved to your Unix account's home directory. You can also provide a path including a subdirectory (it must already exist!), for example: temp/export.msg The following steps are not a function of Pine; contact your Internet account provider and/or consult the documentation/technical support for your PC software if you encounter problems or need further details. o If you have FTP client software on your PC, you can now use it to transfer the file you just exported from the host on which you are running Pine to your PC. Skip to the last numbered instruction. (Note: If you can run FTP client software on your PC, and use the DOS or Microsoft Windows operating systems, you can probably (check with your Internet access provider) also run PC-Pine, which eliminates the need to transfer files between your PC and the host on which you are running Pine, because PC-Pine runs on your PC.) 2. Suspend (must be enabled in Pine's SETUP CONFIG screen with the option enable-suspend) or exit Pine. o Depending on how your Unix account environment is set up, you may be able or required to perform the remaining steps by making choices from a menu; or by entering commands at the Unix prompt, as shown below. In either case, check with your Unix account provider for details on the procedure if you encounter problems. o For the following transfer, you need to choose a serial line transfer protocol that must be available both on the host on which you are running Pine and from the communications software on your PC. Common ones are Xmodem, Ymodem, Kermit, and Zmodem. Assuming you are using Zmodem: 3. At the Unix prompt, type: sz filename where filename is the name you gave the file when you exported your message(s) from Pine. o Many file transfer sending commands, including sz, have a variety of command-line options; among the more useful being those that assure that the "carriage returns" in text files are preserved as intended when the file arrives on your PC, depending on its operating system. Type man command at the Unix prompt (where command is your chosen file sending command) to learn about them. 4. The Unix host is now sending the file. Depending on your PC software, you must now initiate the download sequence to receive the file; or, a strong feature of the Zmodem protocol, your PC communications software may recognize that a file is being sent and initiate receiving using Zmodem automatically. 5. After the transfer, you may wish to delete the exported file from your Unix account to eliminate duplication and save disk space. * Multiple messages can be exported to a single file by selecting them (if enable-aggregate-command-set is checked in Pine's SETUP CONFIGURATION) and applying the Export command to them. The sequence of the messages in the exported file can be changed by sorting (press $ in the FOLDER INDEX view) the messages first. _________________________________________________________________ 3.4 What happens when two Pine sessions access the same mailbox at the same time? This varies depending on what format your folders are stored in. With the default Berkeley format, the last session to open a folder will get full access to the folder and the previous session(s) will be changed to read-only access. When a folder is read-only, you will not see any further updates to that folder until it is reopened with full access. Currently the INBOX cannot be reopened without exiting and restarting Pine. With the Tenex format, any number of sessions can simultaneously have full access to a folder, with the exception that expunging is disabled. See "What is a Tenex mailbox and why should I use it?" for more information. _________________________________________________________________ 3.5 What does "Folder Format Invalidated..." mean? The message "Folder Format Invalidated (consult an expert), aborted" means that Pine was reading your mail folder, and at the point in which it expected a start-of-message header line, it found something else. The ``format invalidated'' condition can happen in one of three ways: 1. bad data exists at the beginning of the folder. 2. data was appended to the folder after Pine initially read it, and the new data did not begin with a start-of-message-header. 3. the folder was modified without Pine being aware of it. All three problems are generally caused by software external to Pine. Condition (1) can be determined by whether or not the problem repeats itself after restarting Pine. If restarting Pine does not make the problem go away, then you need to look at the actual file for the folder and see what is wrong with the very first line. In particular, make sure that there are no blank lines at the beginning of the file and that the first character of the folder file is a capital ``F'' , the second an ``r'', the third an ``o'', etc. In the case of an INBOX, you may want to rename the folder so that new mail can be delivered while repairs on the corrupt folder are being done. Condition (2) may be caused by a mail delivery process (e.g. /bin/mail) which writes some characters other than ``From '' at the beginning of the new data. Condition (3) is caused by another program manipulating the mail folder without following the normal folder locking protocols. This is a general problem on UNIX. Conditions (2) and (3) have also been known to occur when accessing folders via NFS, if the information returned by the stat() and read() system calls do not correspond with each other as a result of NFS attribute caching. Restarting Pine on that folder always clears conditions (2) and (3). If the problem is chronic, it may be worth an investigation to determine its cause. Usually, it is due to the misbehavior of some external software. The reason why Pine gives up with conditions (2) and (3) is that it does not want to risk damaging user data by guessing what is right. Pine never writes to the folder unless it is absolutely sure it knows what it is doing. There are some steps which can be taken to reduce the risk of these conditions coming up. Some of these steps may require the assistance of your system administrator (or whomever it was that built and installed Pine on your system): 1. Use IMAP instead of NFS to access remote folders. Problems with locking over NFS are perhaps the single most important cause of user difficulties. Using IMAP eliminates this class of problem. 2. Consider enabling the mbox driver in Pine. If the mbox driver is enabled, mail is transferred from the /usr/spool/mail mail into a file called mbox in your home directory, if mbox exists. The home directory mbox file is then your INBOX. This has the advantage that Pine and the mail delivery system are less often in contention for the INBOX, and never both trying to update it. Pine only empties the /usr/spool/mail file, it never tries updating it. 3. Be careful not to run other programs that modify your folders while you are running Pine. Such programs may change the folder out from under Pine, and lead Pine to conclude that there is a problem with its view of the file. _________________________________________________________________ 3.6 What does the message "locked, override in _XXX_ sec" mean? The message "locked, will override in _xxx_ seconds" occurs when Pine has discovered that some other mail program claims to be accessing your mail folder (i.e. _folder_.lock exists). This is a very low-level lock used by programs such as the system mailer in delivering mail, and by certain programs such as mail, elm, babyl, mm, etc. Supposedly, this lock is only to be acquired and held for a very short period of time (less than a second). Pine starts with 285 seconds, retries every second, and issues that message every 15 seconds. The total period of time, 5 minutes, is the time that it will keep on trying before it concludes that the lock is false -- that is, that whatever program locked the folder forgot to unlock it (perhaps it crashed) -- and Pine will go ahead and claim the lock for itself. This is not due to a conflict between two copies of Pine, since Pine interlocks against itself in a higher-level fashion. NOTE: On some systems with 14 character filename limits, attempting to open a folder with a 14 character name (e.g. saved-messages) will trigger this sequence. Folder names should be limited to 9 characters or less on those systems. _________________________________________________________________ 3.7 Why doesn't "attached-to-ansi" printing work? So-called "attached-to-ansi" printing relies on the communication software you are using to interpret certain special character sequences that tell it to divert the incoming stream of characters to your printer, and then back to your screen. Perhaps 99% of "pine printing problems" are either due to PC or Mac communications software that doesn't understand ANSI escape sequences for printing, or (in the dialin case) software flow- control problems. We didn't understand how big a problem software flow control was until 3.90 came out... we changed pine to intercept flow control characters so that users would not see Pine "wedge" mysteriously if a mis-type or noise generated a control-S, but that did bad things when printers, modems, or comm software was depending on s/w flow control. So in 3.91 we added the "preserve-start-stop-characters" feature, so that Pine could be configured to respect s/w flow control characters (if the operating system did) for those folks who needed them. Enabling this feature should make Pine 3.91 behave the same way as earlier versions. Then we discovered that some operating systems don't enable software flow control by default. So starting in 3.92, the "preserve-start-stop-characters" feature does more than "not ignoring" them, it will try to force the OS to pay attention to them. So here's the sequence of things to try if you have pine printing problems: 1. Check For Software Flow-Control Problems A. Try enabling "preserve-start-stop-characters" (requires 3.91 or later) B. If that doesn't help, verify that the OS is enabling s/w flow control; if it isn't, you can either change that in a global .login script, or as a worst case, wrap pine in a script that does it. By the way, on our AIX systems, we had to execute "stty -ixon" followed by "stty ixon" --no one here knows why the first stty is needed. (Note that explicitly enabling s/w flow control in the OS will not be needed in 3.92 or later). C. If neither of the above apply, double-check that you actually have *some* kind of flow control enabled on your system, either hardware or software. 2. Check Your Comm Software For Ansi Printing Capability A. After ruling out s/w flow control problems, if printing still doesn't work, the odds are that the PC or Mac comm s/w is at fault. I don't know how to determine this other than via trial-and-error and word-of-mouth. B. The "ansiprt" utility included in the pine distribution can also be used for testing. It simply sends the specified text file to user's terminal device, bracketed with the ANSI escape sequences for print diversion. This is just what Pine does as well (although some versions of ansiprt offer a few options not available via Pine.) 3. Possible Other Printing Problems A. Printing via Pine's "attached-to-ansi" facility to a postscript-only printer. Pine does not yet have the ability to encapsulate text into postscript, ala "enscript", so the custom print option using enscript and ansiprt will be needed in that case. B. Other printer-specific configuration problems. For example, whether or not the printer needs a trailing formfeed to eject the last page, or a control-D, or non-Unix newline conventions, etc. Many of these problem will also require using the custom print command option and "ansiprt". _________________________________________________________________ 3.8 Can you fix a bug in an older version of Pine, please? When a bug is identified in an old release of Pine, there is a very strong possibility that the associated code has been re-written to the point that a fix will not apply to the current release. Hence, if we can't reproduce the problem in the current version, our standard response will be to ask you to upgrade. _________________________________________________________________ 3.9 How to I mark all messages in a newsgroup as "read" or "deleted"? (This pertains to reading Usenet news with Pine.) Q&A submitted by: Timothy J. Luoma First, you need to make sure that you have access to all the commands necessary. From the Main Menu, choose `S'etup and then `C'onfigure, then make sure that there are `X' marks next to these two options: [X] enable-aggregate-command-set [X] enable-flag-cmd To mark all messages as ``read'' or ``deleted'': Press and release each of the following: ; = Select a = all a = apply * = flag which will bring you to the ``FLAG MAINTENANCE'' screen (if you do NOT have [X] enable-flag-screen-implicitly set in SETUP CONFIGURATION, select ^T To Flag Details to reach it now): ============================================================================= Set desired flags for current message below. An 'X' means set it, and a ' ' means to unset it. Choose "Exit" when finished. Set Flag Name --- ---------------------- [ ] Important [X] New [ ] Answered [ ] Deleted ? Help E Exit Flags P Prev - PrevPage Y prYnt X [Set/Unset] N Next Spc NextPage W WhereIs ============================================================================= Using the arrow keys, move down to ``New'' and press `X' until it looks like this: ============================================================================= Set Flag Name --- ---------------------- [ ] Important [ ] New [ ] Answered [ ] Deleted ============================================================================= NOTE: if you want to DELETE * all the messages, the process is the same EXCEPT at this point you should use the arrow keys to move down to ``Deleted'' and press `X' until it looks like this: ============================================================================= Set Flag Name --- ---------------------- [ ] Important [ ] New [ ] Answered [X] Deleted ============================================================================= TO EXIT: Press `E' for EXIT FLAGS as seen at the bottom menu. POWER TIP: To select and DELETE all the messages in a mailbox or newsgroup,: Press and release each of the following: ; = Select a = all a = apply d = delete * Note: when reading a newsgroup, as opposed to one of your own email folders, marking messages "deleted" does not actually remove them (since they reside on a shared server, where others may still want to read them ;-) -- rather, it excludes the messages thus marked from your view. _________________________________________________________________ 3.10 How can I have all messages I receive automatically forwarded to another account? [NEW] This is actually not a function of Pine itself, but is often asked by Pine users, thus we cover this question here. Many users migrate from one Internet account to another as they graduate from college, switch Internet Service Providers, and so on. Others maintain multiple Internet accounts, receive email messages in all or several of them, but want to manage and respond to all their email from one of them. In those situations, you may want to have your email automatically forwarded from one account to another. Let's says you currently have this email address at your university: lella@here.edu but you are graduating and will lose that account in another few weeks. Thus, you sign up with an Internet Service Provider for a personal account, where your email address is: lombardi@elsewhere.net You decide that, rather than logging into both accounts during the time period you have both to check your email, you want to receive all your messages in your new elsewhere.net account, and respond to them from there, especially to inform those who still send email to your here.edu account that they should start sending email only to your new address. If your here.edu account is on a Unix host, you can accomplish this automatic forwarding by creating a file named .forward - note the dot at the beginning of the filename! - in your home directory in that account. This file should contain the email address to which you want all your email forwarded, in this case: lombardi@elsewhere.net -- nothing more and nothing less. After creating the .forward file, send yourself a message to your lella@here.edu address, then check whether it arrived in your lombardi@elsewhere.net email INBOX. Note: establishing this .forward file only forwards messages arriving from now on, not those already in your account. If you * are not sure whether your here.edu account is on a Unix host * if it is, do not know how to create a file in your Unix account's home directory * believe that your systems administrator may have provided other means of enabling message forwarding * are sure that your here.edu account is not on a Unix host then ask the technical support staff for your here.edu account for assistance on how to forward email from it to another address. _________________________________________________________________ Customization and Configuration 4.1 Where does Pine look for configuration information? In Unix and PC Pine 3.90 and higher, the Release Notes (Press "R" when on the Main Menu) contain a section on Configuration, including default file names and environment variables. Almost all personal configuration can be accomplished through the Setup (S) command on the main menu. Unix Pine uses three configuration files: a system-wide defaults file, a system-wide non-overridable settings file and a personal coniguration file (.pinerc in the user's home directory). If, for some reason, you need to generate a blank personal configuration file, run "pine -P pinerc.blank". If you need to generate a "blank" copy of the system wide configuration files (can usually only be done by systems administrator), run "pine -conf > /usr/local/lib/pine.conf". _________________________________________________________________ 4.2 Can I customize Pine on a per folder basis? Pine doesn't have that capability built in. You can only set configuration options which apply to the whole pine session; not to particular situations. One way to get part part of the effect of per-folder customization is to have several custom .pinerc files and shell aliases which use them. For example if you want pine to behave a certain way when you are reading newsgroups, you might copy your .pinerc to a new one which you will customize for newsreading: cp .pinerc .pinerc-news Then you can start pine using the separate configuration file with the command: pine -p .pinerc-news After doing that, you can make all the changes you want to settings to make life easier when reading news, and save the configuration. If it is a problem to enter that pine command every time, add this line to your .cshrc file: alias pinen 'pine -p .pinerc-news' to create a "pinen" command. You could add to that and have the configuration file use the "initial-keystroke-list" variable to go to the newsgroups list. E.g., initial-keystroke-list=l,n,cr You can also do a lot with the pine command line options (see "pine -h") and a shell alias for that. _________________________________________________________________ 4.3 Can I eliminate the @host.domain from local addresses? This is not a new idea. It's a very old idea, in fact, and just about everyone who has ever dealt with email has had it at one time or another. Regretably, it has come to be recognized as a bad idea. Here's why: An email address without a host name is not syntactically valid according to RFC822. Now, it is true that RFC822 only specifies what must be done in messages which are transmitted over the network, and that strictly local messages are not under RFC822's dictates. This means that there are two formats of email, one that conforms to RFC822 and one that does not. Careful efforts must be made to ensure that the non-conforming mail format never escapes the local system onto the network. Twenty years' of experience has shown that it is impossible to guarantee that the non-conforming format does not escape into the network, even in the face of traps to catch such messages on their way out and convert them to RFC822 conforming format. Indeed, such traps have often contributed additional problems on their own. The non-conforming format is ambiguous as to what host is intended. Although the off-the-cuff solution (and the one that everyone implements) is ``use the local host'', numerous examples have occurred in which this leads to wrong behavior. For example, it may be the ``local mail center'' instead of the ``local machine which is a single-user workstation''. Or, if a one of the non-conforming messages escaped on to the network, it's some remote system and we have no idea at all what system that may be! There's no way for the mail reader to tell; a human may infer from context but often does so by using information that is not available to the program. The Pine team has spent long (and at times heated) meetings reviewing this issue, before coming to the conclusion (as other email groups have independently done) that it's a no-win situation. The policy of the email development community for years (since the RFC733 discussions) has been to exterminate the non-conforming format by not implementing it in modern mail tools. It may be feasible to implement a feature in a future version of Pine that would suppress the display of the local host name in email addresses. That is, the host name would still be in the file on disk, but would not show up on the screen. _________________________________________________________________ 4.4 How can I perform spell checking with PC-Pine for Windows? Brian Quinion has developed a Spell Checker for Windows that can be used with many Microsoft Windows applications that do not have their own spell checker. Spell Checker for Windows requires Windows version 3.1 or higher. A 32-bit version of the spell checker is not available yet (as of 27 Sep. 1996) and the 16-bit version of the Spell Checker for Windows does not work with the 32-bit version of PC-Pine. The following installation instructions have been tested on Windows for Workgroups, Windows NT and Windows95 with the 16-bit version of PC-Pine. This installation assumes that the 16-bit version of PC-Pine is already installed. You can obtain the software from: ftp://ftp.cac.washington.edu/pine/pcpine/pcp_w16.zip 1. Create a subdirectory called pcpspell on your local hard drive (e.g. c: - all examples in these instructions assume the installation is on c:). 2. The Spell Check program itself, and dictionaries for it in several languages, are available from the World Wide Web at: http://clever.net/quinion/mqa/spell.htm Download the Spell Check program and the dictionary of your choice to your c:\pcspell directory. 3. Use the decompression program PKUNZIP or equivalent to expand both of the .zip files you downloaded, beginning with the program itself -- for example, 1. spel300e.zip (the program itself, version 3.00), and then 2. useng.zip (the US English dictionary). During the expansion of the dictionary, you'll get a message that README.1ST already exits. Choose R to rename the second README.1ST file to README. Make certain that you read both of these information files at the end of the installation. + If you do not already have PKUNZIP, it can be obtained by downloading it from: ftp://ftp.cac.washington.edu/world/pine/pcpine/pkunzip.exe 4. From Windows, execute c:\pcpspell\spell.exe. The installation may take a couple of minutes to complete. + When the Options dialog box appears, ensure that the language in the dictionary box is the one you intend to use. The Windows Help file c:\pcpspell\spell.hlp provides additional information on how to make the correct language appear. + Once the correct language appears in the dialog box, you are ready to try the spell checker from within PC-Pine. The dictionary file called useng.scd is for the US English Language. Close the Options dialog box (and any open README files). 5. After closing the Options dialog box, run PC-Pine, compose a message, and enter control-t to invoke the spell checker from within the message window. 6. For Spell Checker for Windows to work automatically with each reboot, copy the program's DLL file and the dictionary file (for example, spellch3.dll and useng.scd) to the directory c:\windows\system\. If the spell checker still does not work automatically, try running c:\pcpspell\spell.exe after each reboot, close spell's window and try again. 7. You can remove the spell checker by executing c:\pcpspell\spell.exe and clicking on "uninstall". After restarting Windows, you can then remove all files in the c:\pcpspell directory on your local hard drive. Also, delete the two .dll and .scd files you copied to c:\windows\system\. _________________________________________________________________ 4.5 How do I change spell checking in Pine (pre-3.92) and Pico? Applies to Pine for Unix only Beginning with version 3.92, the program Pine uses for spell checking in its message composer can be specified with the speller option in the SETUP CONFIGURATION menu. For Pine versions before 3.92, and for Pico, read on: * From: Michael Ramey * Date: Thu, 17 Aug 1995 17:44:05 -0700 (PDT) Why use Ispell with Pine (and Pico)? ------------------------------------ - it allows you to add words to a private dictionary so that your name (technical words, etc.) will not be reported as errors; - it offers correct spellings for misspelled words, and you can select one of the offered alternatives by pressing a single key; - it spell checks the document from top to bottom (rather than jumping around in alphabetical order) so you can anticipate the next words to be checked; - because it checks from top to bottom, you can stop the program after checking your reply (at the top) without checking the message you are replying to. How do I use Ispell with Pine (after it is installed) ? ------------------------------------------------------- After you have installed Ispell in pine, when you are entering a message into the pine composer and the cursor is in the "Message Text" area of the screen, you can press ^_ (Control-underscore), to check the spelling of your message. The message header cannot be spell-checked. Inside the ispell program, you can press the following keys: ? Help for ispell space Accept the word - this time only A Accept the word - for the rest of the file (message) I Accept the word - and Insert it in your private dictionary 0-9 Replace the word with one of the suggested alternatives R Replace the word completely (then you enter the replacement) Q Quit checking this file - corrections will be saved X Exit immediately - corrections will be lost If the spell check halts and you see "(INTERRUPT)" in the upper-left corner of the screen, just press the to continue. Generally when this happens, the spell check is complete. See 'man ispell' for more information on the ispell program. How do I install Ispell in Pine ? --------------------------------- There are a couple ways to use Ispell within Pine; method #1 is usually all you need to do. It's very easy; just follow the instructions below. PINE -- METHOD #1: Set your alternate-editor to ispell, then you can press ^_ (Control-underscore) in the composer to invoke ispell. To do this, follow these steps (press the "key" in each step): - Check to be sure that the ispell program is installed on your system, and use the correct directory path; at the unix prompt, enter the command: 'which ispell'. The following instructions assume output from this command was '/usr/local/bin/ispell'. - start the 'pine' program - from the "M"ain-Menu of pine - press "S"etup - then "C"onfig - then "W"hereIs and enter 'editor' (without the ' marks) and press - press "W"hereIs and until you find the line: editor = - press "A"dd-Value, and enter '/usr/local/bin/ispell' (without 's) and press - you should now see: editor = /usr/local/bin/ispell - if so, press "E"xit-Config, and you are done! You can still press ^T to use the standard pine spell-checking program (which will -not- use your personal dictionary, and will not offer suggestions for correct spelling). PINE -- METHOD #2: Pine already checks the SPELL environment variable to locate the spell checking program, so you can create the following script and name it 'spell': #!/bin/sh ispell -l To make ^T in pine use 'ispell' and your private dictionary: - make the above script file 'spell' in your home directory - make it executable: 'chmod u+x spell' - set the environment variable SPELL: 'setenv SPELL $HOME/spell' (include this command in your .profile, .cshrc or .login file) Now, when you press ^T in pine, you will execute the ispell program, and it will recognize words stored in your private dictionary. The screen display will look like pine is using the standard spell-checking program, except words will be checked from top to bottom in the message, rather than in alphabetical sequence. This method does not allow you to Insert words into your private dictionary. However, this might be useful with a central script file (setenv SPELL ...) and a central private dictionary (ispell -p ...) to provide a common private dictionary for an entire workgroup. The manager could add items to the private dictionary; other people could use the private dictionary (^T), but they could not change it. PICO: To use ispell with pico (the stand-alone editor): - implement the 'ispell' program via ^T (CTRL-T) (using the script file) in addition to implementing it via ^_ (CTRL-_) (using pine "S"etup, "C"onfiguration as described above). Use ^T in pico to use the ispell program and your private dictionary (but without the ability to add words to the dictionary). You cannot use ^_ in pico; it is an "Unknown Command". You can use ^T-ispell in pine also, but why bother when ^_ works better. [MRamey] _________________________________________________________________ 4.6 How can I control association of MIME-attachments with applications and filenames? This requires one, and possibly two, configuration changes, which may already have been performed by your system administrator: 1. Create a mailcap file that associates the MIME-type of the attachment with the application you wish to use to open files of that MIME-type; see the section MIME: Reading a Message in the Pine Technical Notes for the name and location of mailcap file(s) on different platforms. (For further information on MIME, see What is MIME?.) 2. (New in Pine 3.92) You can control which filename extension (which is shown in the message MIME-attachment) is associated with which MIME-type by creating a mimetype file; see the section MIME.Types file in the Pine Technical Notes for the name and location of mimetype file(s) on different platforms. You may need to do this to preserve the filename extension in the temporary file that PC-Pine creates to pass attachment data to the associated DOS/Windows-application, if that application requires a certain (temporary) filename extension to open that file; or to make sure that a MIME-attachment with a certain filename extension is opened in the application you desire, even if the MIME-type as identified in the incoming message is not exactly the one which you specified in your mailcap file, which may be the case if the application you have is not of the same version as the application the sender used to create the attachment file that s/he sent to you. This also controls the MIME-typing for messages you send; for example, to assure that files with the extension .PDF are sent as a MIME attachment of type application/acrobat. Note: many files attached to email messages (though not email messages themselves) can contain viruses -- unless from a trustworthy source, don't open them without checking them for viruses first, as far as possible! If in doubt about the nature of an attachment, ask the sender what application was used to create it; and/or ask the sender to resend the message with the attachment, this time disabling any special encoding techniques that his/her email software may be employing. Here are a sample MAILCAP file for PC-Pine: # PC MAILCAP SAMPLE FILE # All lines beginning with the # symbol are comments. # As some long directory and/or filenames suggest, # the examples here are for a PC running the Windows95 operating system. # These examples using certain third-party software programs do not # constitute any recommendation thereof by the University of Washington. # Open image files with Paintshop Pro for viewing/editing: image/*;"C:\Program Files\Paint Shop Pro\Psp.exe" %s # Play audio and video files via Internet Explorer WWW browser: audio/*;"C:\Program Files\Internet Explorer\Iexplore.exe" %s video/*;"C:\Program Files\Internet Explorer\Iexplore.exe" %s # View HTML files with Netscape WWW browser: text/html;"C:\Program Files\netscape\Navigator\program\netscape.exe" %s # Unpack ZIPed archives with WinZip: application/zip;"C:\Program Files\WinZip\WinZip32.exe" %s # View PDF files with Acrobat Reader: application/pdf;"C:\Acrobat3\Reader\AcroRd32.exe" %s #You can add other entries below for other MIME types... and a sample MIMETYPE file for PC-Pine: # PC SAMPLE MIMETYPE FILE # All lines beginning with the # symbol are comments. # Line format: MIME Type/Subtype, associated filename extensions. text/plain txt dat text/html html htm audio/basic au snd audio/x-realaudio ra ram audio/x-wav wav image/gif gif image/jpeg jpeg jpg jpe image/tiff tiff tif video/mpeg mpeg mpg mpe video/quicktime qt mov application/postscript ai eps ps application/rtf rtf application/pdf pdf application/zip zip which you can copy and edit as needed to conform to the location of applications on your system (in the MAILCAP file), and to the filename extensions of files (in the MIMETYPE file). (Note: Unix Pine uses different pathnames and applications than PC-Pine.) _________________________________________________________________ 4.7 How can PC-Pine use different character sets? From: Andreas Prilop Applies to PC-Pine only PC-Pine allows you to use other character sets in your email and news messages than specified in the operating systems. (Reference: http://www.washington.edu/pine/tech-notes/low-level.html#char-set) For example, you might use Code Page 852 or Code Page 1250 on your PC, but send and receive messages in ISO-Latin-2 (ISO-8859-2). To do this, you need certain mapping tables. These tables support not only Latin-2, but also Latin-3, Latin-5 (Turkish), Latin-8 (Baltic), Greek, and Cyrillic. Reference informtion can be found at: ftp://unicode.org/pub/UNIX/MAPPINGS/ISO8859/ ftp://unicode.org/pub/UNIX/MAPPINGS/VENDORS/IBM/ ftp://unicode.org/pub/UNIX/MAPPINGS/VENDORS/MICSFT/PC/ ftp://unicode.org/pub/UNIX/MAPPINGS/VENDORS/MICSFT/WINDOWS/ Mapping tables can be downloaded from: ftp://ftp.icm.edu.pl/pub/coast/win3/mail/pinetabN.zip ftp://ftp.icm.edu.pl/pub/coast/msdos/network/pinetabN.zip (where N is a number), and other software FTP repositories. _________________________________________________________________ 4.8 How can I read a ROT13 encoded message? Applies to Pine for Unix only When viewing the message, use the '|' (Pipe) command and give it the following: tr '[A-Za-z]' '[N-ZA-Mn-za-m]' You could also write a script, maybe called unrot, that does this and then pipe the message to the script. In order for the pipe command to work you need to be using Pine 3.90 or higher and have the enable-unix-pipe-cmd feature set. _________________________________________________________________ 4.9 Why does my message index show From: instead of To:? Applies to Pine for Unix only See also "How do I control what is displayed in the FOLDER INDEX screen?" in Frequently Asked Questions about Pine. A number of Pine 3.95 users have reported seeing their own name, rather than the name of the recipient, in folder index listings of messages they have sent. This occurs when Pine detects the specific hostname of the computer on which it is running in the From: header. To avoid this from happening, set use-only-domain-name in Pine's SETUP CONFIGURATION menu to Yes; this strips the name of the specific host from your From: address. Alternatively, specify your domain name in user-domain (be sure you enter it correctly, otherwise all your outgoing messages will have an invalid return address! Ask your local computing support people if in doubt). When setting either of these options, also read the help screen for quell-user-lookup-in-passwd-file to see whether you should enable that feature too. Administrators of systems where Pine exhibits this behavior should also check the /etc/hosts file for invalid entries; as an example, it should read: 123.456.78.90 hostname.domain hostname not just 123.456.78.90 hostname -- otherwise, users' setting of use-only-domain-name to Yes will not have the intended effect. _________________________________________________________________ 4.10 How do I change my 'From:' line? Q&A submitted by: Timothy J. Luoma From Pine's MAIN MENU, choose Setup, then Config. Move down to the customized-hdrs option. Press `A' for `Add Value'. Use the format: From: My Real Name [ Note: You may wish to add `From:' to the list of `default-composer-hdrs' so you can change the From line more easily when composing new messages. The process is the same as for adding the `From:' line to the `customized-hdrs' entry. ] Press to accept the change, and `E' to Exit Configuration. IMPORTANT: By default you are not allowed to change your ``From:'' line. When you go to ``compose'' and get the error: [Not allowed to change header "From"] then you, if you are installing Pine yourself, or your systems administrator (if users changing their From lines does not violate your site's policy) will have to recompile PINE. NOTE: Changing the ``From:'' line may not give you the anonymity you desire, since the ``Sender'' or ``X-Sender'' line may still include your entire email address. See also 7.12 What do I need to do when compiling PINE to let users change their ``From:'' line? in Info for systems administrators, developers, etc. _________________________________________________________________ Attachments to email messages See also 4.6 How can I control association of MIME-attachments with applications and filenames? 5.1 Why does Pine encode text attachments? Pine uses MIME's Base64 encoding for *all* attachments, including text, in order to assure that they are not modified in transit. The goal is make sure that sending file attachments in Pine is as dependable as using FTP. Although it may seem like encoding is unnecessary for files that are plain text, certain email gateway, trasport, and delivery agents pose a threat to the integrity of even text files (much less binary files). For example, long lines may be wrapped, trailing spaces deleted, tabs turned into spaces, lines beginning with "From " modified, etc. 5.1.1 How can I send a text file without it being encoded? This is easily done by using Pine's "file inclusion" key (Control-R). Instead of entering the file name on the Attchmnt header line, move the cursor to the bottom of your messaage, and press Control-R, then enter the name of the text file. It will be included at the end of your message without any encoding (unless the file contains 8bit or binary characters, in which case the entire message becomes subject to MIME encoding rules.) _________________________________________________________________ 5.2 Why does Pine use Base64 instead of UUENCODE? Pine uses the Internet MIME (Multipurpose Internet Mail Extensions) standard for all attachments. MIME uses "Base64" encoding rather than uuencode, because uuencode uses characters that are transformed by some email gateways, and there are also several incompatible versions of uuencode. However, if needed, you can certainly uuencode a file outside of Pine, then use the Composer's Ctrl-R (file inclusion) command to insert the uuencoded file into the message. _________________________________________________________________ 5.3 How do I convert a Sun Mailtool attachment to MIME format? Keith Moore has written a Perl conversion script to convert Mailtool to MIME. The Perl script and C conversion are available in ftp://cs.utk.edu/pub/MIME/sun-to-mime.perl.Z ftp://cs.utk.edu/pub/MIME/sun-to-mime.c.Z and a description of the program can be found in ftp://cs.utk.edu/pub/MIME/sun-to-mime.README _________________________________________________________________ 5.4 How do I decode an attachment in a message I received that is in BinHex or UUencoded format? [NEW] Save the attachment to a file and use a decoding program running on the operating system you are using and capable of handling the encoding format; for example: * UUDeview (free), available for Unix, Microsoft Windows, and DOS, at: http://www.uni-frankfurt.de/~fp/uudeview/ handles BinHex or UUencoded files * WinZip (shareware), available for Microsoft Windows, at: http://www.winzip.com/ handles BinHex or UUencoded files * the uudecode command on Unix hosts (for UUencoded files) Please note: Successfully decoding an attachment alone does not assure that you can use the resulting file(s) on your computer. For example, you may be able to decode a BinHex-encoded file on your MS Windows/DOS PC, but end up with a Macintosh application that you cannot run; or you may not have the application program needed to open a data file. Ask the sender of the message with the attachment what it is/how do handle it, if in doubt. _________________________________________________________________ Addressbook Usage and Conversions 6.1 How do I "paste" from the addressbook into the text of a message? Pine does not currently (as of version 3.95) support this directly, but here is a work-around: 1. Move the cursor to the Cc: line. 2. Enter the nickname or press Ctrl-T to search the addressbook and select the entry. 3. Use Ctrl-K to delete that address from the Cc: line. 4. Move the cursor where you want it in the body of the message. 5. Press Ctrl-U to insert the address. _________________________________________________________________ 6.2 How do I convert Berkeley Mail aliases to Pine Addressbook? The Pine source distribution includes a shell script to do this in the contrib/utils directory. It is called brk2pine.sh. _________________________________________________________________ 6.3 How do I convert Elm aliases to Pine Addressbook? From: Klaus Wacker I wrote my own perl script, which I claim digests everything elm accepts and converts it into something pine accepts. Please tell me if you find otherwise. I intend to use this script regularly to keep system-wide aliases and addressbooks in synch. The source is available from http://www.Physik.Uni-Dortmund.DE/~wacker/elm-to-pine _________________________________________________________________ 6.4 How do I convert a CMS "names" list to Pine Address Book? From: Greg Johnson I made a perl script to do just that: ftp://musie.phlab.missouri.edu/pub/misc/cms2pine.tar.gz -- Greg Johnson, U of Missouri Columbia Campus Computing _________________________________________________________________ 6.5 How do I convert from Pine Address Book to/from the equivalents in Eudora, Netscape, Pegasus, ... ? Joseph Davidson has created a WWW site to perform conversion between the address book of Pine and a number of other address book/data file formats at http://www.interguru.com/mailconv.htm (we have not tested this yet; feedback welcome). _________________________________________________________________ Info for systems administrators, developers, etc. primarily, but may also be of interest to advanced end users. For more on Pine's "nuts and bolts" see the Technical Notes. 7.1 Can we use Pine/Pico/Pilot source code in commercial products? For information on use of Pine, Pico and Pilot software, see the Pine Legal Notices at: http://www.washington.edu/pine/overview/legal.html or ftp://ftp.cac.washington.edu/pine/docs/legal.txt _________________________________________________________________ 7.2 What is a Tenex mailbox and why should I use it? Using the Tenex format for INBOXes allows multiple sessions (or multiple users, subject to the usual access controls) to have almost full Read-Write (RW) access to the INBOX. The only limitation on full RW access is that if there are multiple sessions at a given moment, no one can do an Expunge. However, message state changes (e.g. marking a message as deleted) can be done, and this state is preserved across sessions. If an explicit Expunge command fails, it will say so and tell you that the mailbox is in use by another process. When there is only one session left using that mailbox, expunge will resume working again. In contrast: the normal Berkeley style folders can have only one RW client at a time, so given the current software the latest session steals the RW lock away from any previous session, with the earlier session becoming Read-Only. NOTE: Mailbox format for INBOX is a function of the mail transfer agent (sendmail, tmail), not the mail user agent (Pine), so this is a decision for sys/mail admins, not for regular Pine users. For more information on email folder formats, see Folder Formats and Name Extensions in the Pine Technical Notes. _________________________________________________________________ 7.3 Can Kerberos or AFS authentication be used with Pine? Not as of Pine 3.95, but Kerberos support is planned for a future release of Pine. If you have access to Kerberos or AFS compatible IMAP clients already, the following information may be useful. The current version of imapd does not support AFS or Kerberos authentication. However, the routine which validates authentication is designed as a drop-in module, to allow you to replace with alternative authentication schemes such as AFS, Kerberos, S/Key, etc. This routine is server_login(). Depending upon which version of c-client you have, it is either in the os__xxx_.c (where _xxx_ is the name of your port) or it is in a file named log__yyy_.c which is included by the os_xxx.c file. The log__yyy_.c is usually log_std.c (std for "standard UNIX"), but it may be log_sv4.c (SVR4) or a couple of other variants. This file only contains that one routine, so it should be a simple matter to modify that file and rebuild imapd. More information about Kerberos and AFS can be found, respectively, at: http://mitvma.mit.edu/mit/kerberos.html http://www.transarc.com/Product/AFS/FAQ/faq.html _________________________________________________________________ 7.4 How does folder locking work? Locks are used by Pine and other mail programs to prevent damage from occurring to the mail file when multiple programs try to write to the file at the same time. Because there are many different schemes of mail file locking used on UNIX, Pine implements all of them. The result is a lot of complexity. There are several reasons why locking needs to be done: 1. If you want to read the mail file, you want to make sure that no other process will modify the mail file while you are reading it. 2. If you want to write to the mail file, you want to make sure that no other process is accessing the mail file while you are writing it. 3. If you have the mail file open, you want to make sure that no other process can alter any of the internal contents of the mail file that you have read, but it is OK if another process appends new data to the mail file. 4. If you want to alter any of the internal contents of the mail file, you want to make sure that no other process has the mail file open. There are several mechanisms of locking: * The creation of a file which has the same name as the mail file, but with a suffix of ".lock" (for example, this lock for /usr/spool/mail/isma is named /usr/spool/mail/isma.lock). This file accomplishes locks (1) and (2) above. This is an exclusive lock. * The use of an flock() with LOCK_SH on the mail file. This accomplishes lock (1), and prevents lock (2). Multiple processes can do this. * The use of an flock() with LOCK_EX on the mail file. This accomplishes lock (2), and prevents lock (1). This is an exclusive lock. * The use of an flock() with LOCK_EX on a file on /tmp. The file name used depends upon the version of Pine. This accomplishes locks (3) and (4). This is an exclusive lock. On SVR4-based systems, the lockf() subroutine or fcntl() system call it used instead of flock(). It is rumored that this creates a kind of lock file as well, but this has not been directly verified. NOTE: flock() on BSD systems does not work over NFS, so only the most basic .lock file locking -- locks (1) and (2) happen over NFS. On SVR4 systems, fcntl() locking attempts to work over NFS, but there are known problems in the rpc.lockd daemon which have caused hangs if an application beats on the mechanism too much (and Pine beats on it). All of the above mechanisms work reliably over IMAP connections. _________________________________________________________________ 7.5 Where does Pine create lockfiles, and what should that directory's permissions be? To protect against conflicts with mail delivery by sendmail, which could cause INBOX corruption, Pine creates lockfiles in the directory /var/spool/mail [1]. The permission setting for that directory should be 1777 (world writable with the sticky bit set). The alternative would be to make all mail programs setgid to some special group -- an unacceptable security risk in the opinion of the Pine developers [2]. By contrast, lockfiles created in the /tmp directory serve interlocking of different Pine sessions with each other, not of Pine with the Mail Delivery Agent. Lockfiles in the /tmp directory are mode 666 because of the case of shared folders (e.g., tenex format) and "kiss of death" functionality (UNIX mbox format and MMDF format). The lock needs to be accessible by processes which may be logged in as another user name; this is a tradeoff between security and functionality. [1] Versions of Pine prior to 3.92 did not warn users when locking in /var/spool/mail failed. [2] Some version of the Linux operating system are being distributed with permissions that would require Pine to run setgid. _________________________________________________________________ 7.6 Why does Pine have problems with my filter's locking? From: Mark Crispin There are multiple levels of locking, just as there are multiple levels of operations on a mail file. Pine reads the mail file and keeps a notion in memory of what messages exist and where they are in the file. It is alright to modify the mail file by appending new messages to it (which is what the mailer does in delivering mail) and Pine permits this to happen (it does not keep the file.lock style of lock locked). However, if you modify the part of the mail file which Pine has already read, then Pine has no way of knowing what it is you might have done other than by tossing out everything it knows about the mail file and completely rereading it. In the internal engine used by Pine, this is done by a ``mail_close()'' followed by a ``mail_open()'' operation. Pine normally does not issue a mail_close() call on INBOX except when you quit Pine. Pine detects that the file has been modified from under it and changes its notion of the internal state from ``representation of the mail file'' to ``snapshot of a representation of the mail file sometime in the past''. The difference between the two is that only the former will be written back to the disk if you do something such as a flag change or an expunge. Pine also has an extra level of locking, to prevent the inadvertant modification of mailboxes from under it. This locking is implemented by the internal engine used by Pine. If you implement this sort of locking in your application, you can write code to steal this lock from Pine, or to prevent you from modifying the internals of the file (note that appending is OK) while Pine has it open. Source code for this locking is found in the file pine/imap/c-client/bezerk.c _________________________________________________________________ 7.7 Why doesn't Pine recognize Content-Length header field? It would be a significant detriment to the performance of the Berkeley format mailbox parsing code, as well as to Pine's behavior on normal systems which do not use the Content-Length: header, if any attempt were made to implement Content-Length:. There are many serious technical problems with the Content-Length: header, and we do not recommend its use. Furthermore, we recommend that a mail delivery agent such as our sendit or tmail tool be used that applies smart quoting, as opposed to the ordinary BSD /bin/mail quoting of all lines that begin with "From ". We have installed such tools on all of our systems. For example, one problem is that a system whose mailer does not implement Content-Length: will also not enforce its validity should that header appear. This offers significant potential for mischief. Another problem is that Berkeley format mailbox files which use the Content-Length: header can not be edited with an editor such as emacs or vi without invalidating the Content-Length: field. If this problem is not a consideration at your site, we recommend the use of the tenex format (mail.txt), which is also length tagged but in a much more efficient fashion. _________________________________________________________________ 7.8 How do I configure Pine to not leave mail in /usr/spool/mail? You have several options: 1. Leave inbox in /usr/spool/mail, but turn on the Pine option to prompt users to move read messages to a folder in their home directory upon exiting Pine. 2. Modify your mail delivery program to deliver mail directly into the user's home directory, and specify that inbox-path in your global pine.conf (See the "tmail" program on ftp.cac.washington.edu for an example.) 3. "touch mail.txt" in each home directory, which will cause Pine (upon startup) to pull mail from /usr/spool/mail into ~/mail.txt -- however, mail.txt will be a Tenex-format, rather than Berkeley mail format folder (faster, but non-standard). 4. Link in the "mbox" driver when you build Pine. This driver will (upon Pine startup) pull mail from /usr/spool/mail into ~/mbox, which will be a Bky-format folder. _________________________________________________________________ 7.9 Why do I get the message "Unparsable Date" when I read messages? Pine parses the date and time in the UNIX mbox "From " line in order to determine an "internal date" for each message. One of the components of this date and time is the offset from Universal Time. Certain older mailers write a symbolic timezone name instead of the more modern numeric offset, which expresses number of hours of deviation from Greenwich Mean Time (GMT). The problem with symbolic timezone names is that such names are ambiguous. Is BST "Bering Standard Time" or "British Summer Time"? Is KST in Korea or Kuwait? etc. The routine mail_parse_date() in pine/imap/c-client/mail.c knows how to parse some, but not all, of these symbolic timezones. We recommend that you modify this routine to add support for your own local timezone. Due to the ambiguity problem, however, it is unlikely that we will add any more symbolic timezones in the distribution sources. But, hopefully, this will only be a minor editing consideration for you. The correct solution is to undertake the transition from symbolic timezone names to numeric timezone values. UNIX software is definitely moving in this direction due to the ambiguity problem, and has been doing so for several years now. _________________________________________________________________ 7.10 Why can't I compile Pine under SCO unix? From: Gunther Anderson Pine has been tested and compiles just fine on a suitably equipped SCO Unix 3.2.4, and probably works on the whole 3.2 series (testing has not been as extensive). It handles both MMDF and sendmail mailboxes without needing recompilation. It should be sufficient just to unpack the source tree and run "sh build sco" at the top level. You need to own the complete Development System, and the Developer's Versions of the other packages. Pine will not compile without TCP/IP support. The most common problem is when people own the Development System, but keep getting missing header files (netbd.h is one) in their builds. This is a common problem on SCO systems because of the great fragmentation SCO enjoys in the marketing of system components. It is easy to get confused about just what you've bought. And in this case, haven't bought. What you need is the "Developer's Version" of the TCP/IP product. The normal version just supports the TCP/IP protocol, but doesn't include tools (including header files) to compile TCP/IP-specific programs. Alas, the only remedies available to you are to pick up a pre-compiled version (mine is on odi.cwc.whecn.edu, ftp.celestial.com has their own, which prefers Bezerk mailboxes, though it supports MMDF too), or to buy the Developer's Version of TCP/IP. If you intend to do any serious compiling of Internet- available programs, I'd recommend the latter, though many of the most useful ones are available precompiled on other FTP sites. _________________________________________________________________ 7.11 How can I set up Pine for rimap under Solaris 2.4 and NIS+? From: David Drum I have figured out how to configure Solaris 2.4 running NIS+ and Pine so that users may access an imapd server without having to provide their password yet not compromising the security of the imap server machine. I hope that these instructions are useful to someone. Perhaps this will go in the FAQ. You may also contact me if you have problems compiling Pine under Solaris. 0) Install /etc/rimapd 1) Reconfigure the Solaris nsswitch.conf The OS must know how to treat login requests. We use NIS passwd entry rewriting to ensure the login security of the server machine. Thus we must tell the OS to use NIS-style lookups. Edit /etc/nsswitch.conf on the computer running the imapd server. Replace the "passwd: [files] [nis] [nisplus]" line with: passwd: compat passwd_compat: nisplus 2) Tell the imap server machine about the machines that will be requesting remote logins Edit /etc/hosts.equiv and add the names of the trusted hosts: host1.your.domain ... hostn.your.domain 3) Configure /etc/passwd and /etc/shadow to filter NIS+ password entries This is where the security measures are made. We "rewrite" password entries for users not in /etc/passwd, giving them a different shell - /etc/rimapd - which allows rlogin, but not shell access. Append this line to /etc/passwd: +:x:-1:-1:::/etc/rimapd Append this line to /etc/shadow: +::-1:::::: And you are done! I would be happy to field questions about this procedure. Regards, David david@services.more.net -- "That man has a rare gift for obfuscation." -- ST:DS9 _________________________________________________________________ 7.12 What do I need to do when compiling PINE to let users change their ``From:'' line? Q&A submitted by: Timothy J. Luoma You must edit the appropriate file in the source code. Assuming the current version of pine is 'x.y' you would need to go to pine.x.y/pine/osdep/ and edit the appropriate ``os-XXX.h'' file, where ``XXX stands for the 3-letter abbreviation for your OS. Look for the line: /* #define ALLOW_CHANGING_FROM /* comment out to not allow changing From */ and change it to #define ALLOW_CHANGING_FROM /* comment out to not allow changing From */ and then compile as usual. See also 4.10 How do I change my 'From:' line? in Customization and Configuration. The Pine source code is available from ftp://ftp.cac.washington.edu/pine/. _________________________________________________________________ 7.13 Is Pine ready for the year 2000? [NEW] As you may have heard, computer systems and software programs that store the year in date information as only two digits may encounter operational problems with the arrival of the year 2000. To the best of our knowledge, Pine will not have trouble with the year 2000 change. Internally, Pine has never stored years as two digit values. The "last-time-pruned" variable might appear to be problematic, as this century's dates are represented as two characters, but this value is relative to the year 1900, so the year 2000 will be represented as "100" and so on. However, Pine version 3.96 and earlier do have a bug in their date-sort routines for the message index such that messages with a date in the middle of the next century will incorrectly sort before current messages. This bug is corrected in the Pine 4.00 code base. _________________________________________________________________ Pine Development 8.1 What is the latest version of Pine, and what's new in it? 8.2 What new features will future releases of Pine include? See "Pine Release Chronology & Version Changes" at http://www.washington.edu/pine/changes/ or ftp://ftp.cac.washington.edu/pine/docs/chronology.txt _________________________________________________________________ 8.3 When is the next release of Pine scheduled? As late as possible, as soon as necessary, and vice versa! Seriously, firm future release dates are hard to establish. To make sure you won't miss the next release, you can subscribe to the Pine-Announce mailing list; for more information on that, see http://www.washington.edu/pine/pine-info/pine-announce.html _________________________________________________________________ Can I contribute to this Q&A list? If you have a tip, trick, or workaround for Pine that is not yet discussed elsewhere in the Pine documentation, and that you believe will be of value to other Pine users, you can submit it for inclusion in this collection of questions and answers: * Send a message to: PIC@cac.washington.edu + Note: this email address is for the submission of questions WITH answers only; see Who should I ask for help with Pine? in the Frequently Asked Questions about Pine if you need a question answered. * The Subject: line should state the question * The body of the message, or an attachment, should contain the answer. (HTML format preferred.) * Make the answer as generic as possible: + Avoid references to specific versions of Pine in the question and answer. + Avoid terminology, references, directory paths, etc., that are specific to one platform, installation or site. * If possible, references to sources of software, additional documentation, etc., should be in the form of a URL pointing to the primary source. URLs should be placed on a separate line and indented from the text. The question and answer will be evaluated for accuracy, clarity, and appropriateness, and may be edited, before inclusion in the collection. _________________________________________________________________