[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: Elm Mail User Agent FAQ - Frequently Asked Questions

This article was archived around: 29 May 1997 09:24:58 GMT

All FAQs in Directory: elm
All FAQs posted in: comp.mail.elm
Source: Usenet Version


Archive-name: elm/FAQ Last-modified: 1996/02/07 Version: $Id: Elm-FAQ.post,v 4.10 1996/02/07 16:57:06 piero Exp $
Frequently Asked Questions Elm 2.4 [24] Piero Serini - piero@free.it $Id: Elm-FAQ.post,v 4.10 1996/02/07 16:57:06 piero Exp $ (C) Piero Serini 1993,1994,1995 - All Rights Reserved This is an unofficial Frequently Asked Questions (with an- swers) list about Elm. Syd Weinstein kindly checked this, but he is not responsible for the errors in the answers, which are my fault, unless otherwise specified. I do NOT claim to be a mem- ber of the Elm Development Group. *WARNING*: delete arepdaem and autoreply from your systems NOW ! Those programs represent a security hole, giving root access to people on your own system. They've been dropped from the distri- bution. 0.0 Organization and availability This FAQ is posted monthly, around the 15th, on news.answers, comp.answers and comp.mail.elm. It is available: - from the above USENET groups - from all the USENET archives - ftp://ftp.free.it/pub/elm/Elm-FAQ.Z - ftp://ftp.cs.ruu.nl/pub/NEWS.ANSWERS/elm/FAQ - mail request from cs.ruu.nl: send mail to mail-server@cs.ruu.nl with the following commands in the message body: send NEWS.ANSWERS/elm/FAQ end A file containing instructions on how to buid and install Elm un- der Next is on the same sites in .../Next.Z. A context diff file containing the differences between this FAQ and the previous release is posted on comp.mail.elm and is avail- able from the same sites in the file Elm-FAQ.diffs.Z. This FAQ is NOT reposted if modified, until the next issue date. I will modify the ftp file only. I suggest using ftp to get the latest version of this document. This FAQ refers to latest patchlevel I put my hands on. Ques- tions about a specific patchlevel are kept if of common interest. Actually, all relevant questions concerning PL 21 are kept in this file, as many users still run PL 21. I'm considering going multipart. There will be other changes, and I'm recovering from being without the Net for 4 months. So, this FAQ is almost identical to the last posted version. I know it contains errors, but I choose to post it as is to help you help- ing me. I desperately need your comments both on the contents and the organization. This FAQ consists of six parts: 0.* Organization. (0.1 Copyright) 1.* Operational Questions (and answers). 2.* Installation Questions (and answers). 3.* Filter Questions (and answers). This part is maintained by Jan Djarv (Jan.Djarv@sa.erisoft.se) 4.* Bugs list. 5.* Archivers, what they archive, how to download. At the end of this file you can also find: - Copyright Notice - Warranty Disclaimer - Publishing Notes 0.1 Copyright This FAQ is Copyright (C) 1993,1994,1995 by Piero Serini. All Rights are reserved. Please check the full Copyright notice, Warranty disclaimer and Publishing notes at the end of this document. 1.a Questions Here is an (incomplete) questions list, followed by an (incom- plete) answers part. This list (and answers) are now divided into three major groups: - The "Operational" group is dedicated to those having any pro- blem running Elm. This part also contains a few general ques- tions, like "What is Elm?" - The "Installation" group is dedicated to those who want to in- stall Elm and don't succeed in. - The "Filter" group is dedicated to filter, a great utility which appears in the 70% of the users' questions. Please, mail me any comment, suggestion, correction to any of the addresses above, with Subject: Elm-FAQ Answers are from the "Elm montly posting" or from comp.mail.elm and proper credit is given before each answer. 1.0 Operational Questions 1.01 What is Elm? 1.02 Which is the current version of Elm? 1.03 Where can I find the distribution? 1.04 Where do I get the "Elm Reference Guide" and the other docs ? 1.05 How to get frm(1L) to only show new mail? 1.06 How do I get ELM to read a mailbox other than /usr/mail/<me> ? 1.07 How do I save a message without deleting it? 1.08 How do I attach a `signature' to the bottom of outgoing messages? 1.09 Why do I get the remote signature on replies to local mail? 1.10 How can I get elm to NOT expand the alias list on outgoing msgs? 1.11 How does one mark a message as urgent? 1.12 How can I get a line like "Quoting foo:" before a replied-to mail? 1.13 How do i customize the ">" sign ?? 1.14 Can I tag uuecoded files in the order I want and then uudecode them? 1.15 Is there any way to bounce all the tagged messages with ONE command ? 1.16 Does ELM have MIME (metamail) support? 1.17 How not to include headers in outward bound mail? 1.18 Is it possible to save mail messages without the headers? 1.19 How do I upgrade my ELM aliases from 2.3 to 2.4PL23 ? 1.20 Elm seems to ignore HOME environment variable. Why? 1.21 Sometimes Elm (PL < 21) seems to join two messages in one. Why? 1.22 How can ELM be used for an automatic reply? 1.23 How to list your mail from the oldest to the newest? 1.24 How to use elmheaders file? 1.25 How to change the fullname in sent mail ? 1.26 "Alias too long" or string too long errors. 1.27 How to crypt mail in elm ? 1.28 How can I enable 8-bit characters configuration? 1.29 Sun mailtool attachments and elm? 1.30 How can I save outgoing mail ? 1.31 Can I get an automatic receipt when my message is actually read? 1.32 Get a copy of message(s) into the edit buffer when composing a reply? 1.33 How can I print in Elm ? 1.34 How can I get a complete elmrc file ? 1.35 How can I change a configuration setting for all of my users? 1.36 What do `Priority, Expires and Action' headers mean? 1.37 What does the `Precedence' header mean? 1.38 How can I get a `Reply-To' header in all of my messages? 1.39 ti/te strings for the xterm in termcap are wrong. 1.40 Can I edit and forward without having the prefix (>) added 1.41 Can I take an address from a message and put it in the aliases list? 1.42 sendmail 565c+IDA + Elm = SEGV. Why ? 1.43 Can ELM use MH-style inboxes? 1.44 How can I enter a message that is in a folder into a message ? 1.45 I get my NIS/YP domainname appended to local mails. Why? 1.46 How can I include a file in a header ? And a quote ? 1.47 How can I build an alias containig "=" ? 1.48 What's aliases limit ? # of aliases ? total length ? 1.49 How can I change the editor ? 1.50 How do I include a file in a mail message ? 1.51 Which are the (s)ave abbreviations ? 1.52 Why do I get "folder corrupt" messages ? 1.53 How to know how many new messages arrived, without entering Elm ? 1.54 How not to display header when reading mail ? 1.55 Does Elm support headers within message body ? 1.56 How can I do <.....> with vi / my editor under Elm ? 1.57 How can I scroll backwards w/ builtin editor ? 1.58 How can I send the same message to a list of people ? 1.59 How can I resynchronize folder (deleting, etc) w/out exiting Elm ? 1.60 error: Couldn't malloc 1769480335 bytes!! 1.61 Can I handle mailing to lists of people with Elm ? 1.62 How can I put my folder in chronological order ? 1.63 Can I bounce e-mail from outside Elm ? 1.64 Can I associate a folder to an alias or to multiple senders ? 1.65 Is there a way to forward more than 1 mails in the same mail body ? 1.66 Can I know the path a mail took to reach destination ? 1.67 How do I import my unix mail aliases from .mailrc to Elm ? 1.68 Is there anything to make Elm work with SGI's Workspace ? 2.0 Installation Questions 2.01 On SCO Xenix, all mail is from user anonymous. Why? 2.02 Elm doesn't work on Next. Why? 2.03 Compiling with Microsoft UNIX C Compilers won't work. Why? 2.04 Various problems on Unix 286. 2.05 Configure won't run on HP-UX. Why? 2.06 Configure won't run on SCO XENIX 2.2.1. Why? 2.07 Will Elm work on SGI Indigo? 2.08 I have problems compiling elm2.4 on HP/Apollo 2.09 I have problems compiling elm2.4 on IBM AIX 2.10 Compiling elm 2.4 under NS 3.0 2.11 Elm sends 'empty mail' on 386BSD: why? 2.12 Why can't I get SGI to work for non ROOT? 2.13 I have problems p)rinting messages in 2.4PL20 2.14 Elm2.4 PL20 - 'x' key causes segmentation violation 2.15 readmsg:illegal option -- I. Why? 2.16 Forms don't work. Why? 2.17 ELM does not recognize VMS mail. Why? 2.18 Huge headers cause Memory Fault. Why? 2.19 Can I use elm for posting and replying to news? 2.20 Compile fails on lib/strftime.c [PL23]. 2.21 Compile error on SGI Crimson. 2.22 Problem compiling elm on DEC Alpha, OSF/1 v.1.2 2.23 I can't build Elm 2.4PL23 on Sun 386i SunOS 4.0.2 2.24 How can I override a Configure's setup ? 2.25 How to solve hdrs/mcprt.h problems with Sequent/PTX 2 ? 3.0 Filter Questions This part is maintained by Jan Djarv <Jan.Djarv@sa.erisoft.se> 3.01 What documentation exists for filter? 3.02 What do I need to get filter working? 3.03 How can I tell if my system understands .forward files? 3.04 What do I put in my .forward file? 3.05 What is the simples filter-rules file I can write to test filter? 3.06 How do I check my filter-rules for typos and other errors? 3.07 Why doesn't the output from filter -r match my filter-rules file? 3.08 Can I have 'or' in my filter-rules? 3.09 Can I make filter execute more than one rule for a message? 3.10 How do I do multiple actions for one rule? 3.11 What headers are available in the filter-rules? 3.12 How do I forward mail to an elm alias from filter? 3.13 Filter executes my script but the script doesn't work. 3.14 How do I capture the message fed to a script by execute/executec 3.15 Both execute and executec feeds the message as standard input to 3.16 What if I what to do something based on the contents of a message 3.17 How can I make filter operate on all messages in a folder? 3.18 Can I use filter to automatically answer my mail (like vacation)? 3.19 My filter doesn't recognize executec/matches. 3.20 Filter sometimes munges up my folders, or looses messages. Why? 3.21 Why doesn't elm mark mail I saved in a folder with filter as new (N)? 3.22 Why does filter join adjacent messages together? 3.23 What other mail filter programs exists? 3.24 554 "|/usr/local/bin/filter"... unknown mailer error 3.25 My filter doesn't work. I set it up correctly, but nothing happens. 3.26 How to (b)ounce from filter, instead of (f)orwarding ? 3.27 If I use filter, all incoming mail disappears. Why ? 3.28 I use filter and MMDF and have some problems. 1.0 Operational Answers --------------------------- 1.01 What is Elm? * From Elm documentation: Currently on Unix, there seems to be a preponderence of line- oriented software. This is most unfortunate as most of the soft- ware on Unix tends to be pretty darn hard to use! I believe that there is more than a slight correlation between the two, and, since I was myself having problems using "mailx" with high-volume mail, I created a new mail system. In the lingo of the mail guru, Elm is a "User Agent" system, it's designed to run with "sendmail" or "/bin/rmail" or any other UNIX Mail Transport Agent (according to what's on your system) and is a full replacement of programs like "/bin/mail" and "mailx". The system is more than just a single program, however, and includes programs like "frm" to list a 'table of contents' of your mail and "printmail" to quickly paginate mail files (to allow 'clean' printouts). 1.02 Which is the current version of Elm? ELM2.4PL24 (Elm 2.4 patchlevel 24) is the latest version, re- leased on 1994/09/20. New release should be ELM2.5, scheduled some time in 1995. Please have a look on comp.mail.elm for further info on develop- ment. If you are on an HP machine, you can find strange (high) version numbers, like 60.25 or 70.85. These are HP versions, derived from Elm, maintained by HP who added some feature. If the version number is < 70 you can consider upgrading to 2.4.23, otherwise it's a matter of choice. 1.03 Where can I find the distribution? There's a list of sites distributing Elm in section 5 of this file (5.* Archivers, what they archive, how to download.). In addition, new releases will be posted to comp.sources.unix, patches will be posted to comp.sources.bugs. After patches have been proven and out for a while, they will be posted to comp.sources.unix. Elm portings or clones for DOS, Windows and OS/2 are available as listed below: DOS/WINDOWS: * Peter Churchyard <pjc@cc.ic.ac.uk>: Elm-PC, a version I ported, is available by anon ftp: ftp://lister.cc.ic.ac.uk/pub/elm-pc A Windows version is available, too, in: ftp://lister.cc.ic.ac.uk/pub/winelm * Mike O'Connor <mjo@msen.com>: There is a package called PC-Elm that's an imitation of Elm (i.e. it didn't come from Elm's source tree). It's supposed to interop- erate with UUPC and possibly other common PC UUCP mailers. * Gerry Belanger <wa1hoz@a3bbak.nai.net>: Simtel has it available in the ka9q directory as pcelm31.zip ftp://ftp.coast.net/SimTel/msdos/ka9q/pcelm31.zip ftp://wuarchive.wustl.edu/systems/ibmpc/simtel/msdos/ka9q/pcelm31.zip ftp://ftp.uu.net/systems/ibmpc/msdos/simtel/ka9q/pcelm31.zip OS/2: * Richard j. Wyble <rjw@rjwhome.dmc.com>: Elm version 3.11 for OS/2 is available by anon ftp: ftp://ftp.os2.nmsu.edu:/pub/os2/2.x/network/elm23exe.zip ftp://ftp.os2.nmsu.edu:/pub/os2/2.x/network/elm23src.zip No other version is available for OS/2 (Yet. Maybe someone wants to make a port?). 1.04 Where do I get the "Elm Reference Guide" and the other docs ? * From the monthly posting: Elm has several documents (over 100 pages worth of doc) that were written to help users install, support and use Elm. These are in the doc directory of the source distribution. Contact your sys- tems administrator for a copy of the documents. For those sites that do not have troff (either di-troff or o-troff) and do have postscript printers, dsinc (dsinc.Myxa.com) has a copy of the docs already in postscript format available for anonymous uucp or ftp. * David W. Tamkin (dattier@Mcs.NET): Plain text copies are available for FTP: ftp://ftp.wwa.com/pub/elmguides/2.4pl24/ * Paul Kramer (pkramer@unlinfo2.unl.edu): At UNL, I have put together documentation on 'elm'. You will find it in two different servers: gopher and ftp. In both places, you should find MSWord, postscript, ASCII, and rich-text- format versions of the local documentation. Plus there are 1 page helpsheets in Aldus Pagemaker, postscript, and ASCII ver- sions. For FTP, the URLs are: ftp://ftp.unl.edu/pub/crc/docs/UNLINFO.GUIDE/*elm* ftp://unlinfo2.unl.edu/pub/crc.docs/UNLINFO.HELPSHEETS/elm.* 1.05 How to get frm(1L) to only show new mail? * Alan Thew (alan.thew@liverpool.ac.uk): Try the fromwho program which IMHO is better tham frm and allows you to type "fromwho -n" to show who has sent you new mail amd what the subject line is. Availabe from comp.sources.unix archives and needs an ANSI C compiler (but will build on Suns with "unproto" software). * Syd Weinstein (syd@Myxa.com): Better answer: use nfrm, it will only show new mail. nfrm is a link to frm. There are other command line options to show various restrictions see the frm(1) manual page. possible status limitations are new, unread and old or any combination of these. typing frm -h yields: frm -- list from and subject lines of messages in mailbox or folder Usage: frm [-n] [-v] [-s {new|old|read}] [filename | username] ... option summary: -h print this help message. -n display the message number of each message printed. -Q very quiet -- no output is produced. This option allows shell scripts to check frm's return status without having output. -q quiet -- only print summaries for each mailbox or folder. -S summarize the number of messages in each mailbox or folder. -s status only select messages with the specified status. 'status' is one of "new", "old", "unread" (same as "old"), or "read". The first letter need only be specified. -v print a verbose header. 1.06 How do I get ELM to read a mailbox other than /usr/mail/<me> ? Elm uses the MAIL environment variable to read the correct mail- box. 1.07 How do I save a message without deleting it? C)opy it instead of s)aving. 1.08 How do I attach a `signature' to the bottom of outgoing messages? 1) look for "localsignature" and "remotesignature" in your elmrc file ( ~/.elm/elmrc ); if they're present, uncomment them and be sure they look like: localsignature = ~/.signature remotesignature = ~/.signature 2) if they're not present, add them; 3) be sure there's also "sigdashes = ON"; 4) Create the corresponding file(s) in your home directory, with your signature. You can have 2 different signatures for local and remote mes- sages: in this case you need to change one og the names in elmrc (like localsignature = ~/.signature.loc , for example). Please note that .signature files should contain useful informa- tion and not exceed 4 lines in length. 1.09 Why do I get the remote signature on replies to local mail? * From the monthly posting: In Elm 2.4, any address with an ! or @ in it is considered re- mote, without those characters, its local. Any reply is quali- fied to prevent alias expansion. If you had an alias in your private Elm aliases that matched the name of a user on your sys- tem, but that alias did not point to that user, there would be no way to reply to the message. It would end up going to the alias name, not the user that mailed you. To prevent this, Elm fully qualifies (adds the site name) to a reply address. This makes the simplistic signature detector think that the message is 're- mote'. This is not slated to change until 3.0. 1.10 How can I get elm to NOT expand the alias list on outgoing msgs? * From the monthly posting: Problem is if a list has, say, 100 names in it then sending to the list expands every single one of the 100 names. I would like the message to have the "To" line = the name of the list itself and have the actual recipients' names not appear. You can't and don't want to. (and yet you can also) An alias is a mechanism of making Elm address a message to multiple people. However, when the message gets to its destination, Elm also has to allow that person do a group reply. If the message only has your local pri- vate elm alias in it, the group reply will try and go to that alias name. Unfortunately, that name is meaningless to that oth- er person (its private to both Elm and you). There are two solutions: 1) The preferred if replies are desired: Have your mail administrator create a file-include-alias for you in your MTA (sendmail, et al). This is usually of the type: alias :include:/some/path/to/a/file where the file would be in a place you control and you have write access to the file. Then you can add/drop members of the list, and the mail just goes to the alias, and, someone sending to alias@your.system will be able to send to all members. (group re- ply works correctly) 2) The less preferred method: (no group reply is possible) Send the message to yourself, with a bcc to the Elm alias. Of course, the Bcc: won't be expanded by the MTA internal to the message, so it won't appear in the message. 1.11 How does one mark a message as urgent? * David W. Tamkin (dattier@Mcs.NET): Having an Action: header sets the recipient's A flag (if the re- cipient uses Elm); in 2.3 have a Priority: header set the U flag no matter what it said (even "Priority: none" or "junk" or "low"). In 2.4 there are certain precoded Priority: values that do not turn on the U flag ["normal" and "non-urgent"], but any- thing else will. * Jan Djarv <Jan.Djarv@sa.erisoft.se>: Normal or non-urgent (case independent) does not turn on the U flag. Also 'Importance: 2' turns on the U flag (exactly 2). I dont know if this is an old artifact. I have never seen any Im- portance header. 1.12 How can I get a line like "Quoting foo:" before a replied-to mail? * Joshua A. Laff (laff@cs.uiuc.edu): from $HOME/.elm/elmrc: # attribution string for replies ('%s' is the author of original # message) attribution = In our previous episode, %s said: * (me) : I also wrote a little patch, since it seemed everyone was look- ing for something like "In the mail about ..., on ..., you (...) said ...". It was posted on comp.mail.elm, sent to Syd@Myxa.COM, and it is available on mail request from piero@free.it. 1.13 How do i customize the ">" sign ?? * Sven Guckes (guckes@math.fu-berlin.de): You can edit the "quote prefix" by editing the "elmrc" ($HOME/.elm/elmrc). Just change the value of the variable "pre- fix". # prefix sequence for indenting included message text prefix = >_ Note: The '_' stands for a <space>. 1.14 Can I tag uuecoded files in the order I want and then uudecode them? * Alan Edmonds <alan@ernest.itg.ti.com>: I save all of the items into a single folder, order not important (yet). Bring up elm on the single folder. Go to the options screen and select "Sort by Subject." Go back to the main screen. All of the items are (usually) in the proper order. I can then tag related messages and save them (in order) to another folder. I then run I can go back to the original folder if something gets messed up. I don't have to trim the headers out of each part (uucat does this), and elm figures out the order for me. (Ask Alan Edmonds for uucat source.) * Steve Faiwiszewski <stevef@embit.com>: UUdecode expects to decode a single uuencoded file. It knows nothing about multiple parts, and certainly has no knowledge of the correct sequencing. Here's what I do: Typically, I receive a multipart uuencoded file with the subject line of each msg con- taining the part number, so I can get the parts ordered properly by telling Elm to sort by Msg Subject. I then save all the parts to a folder, and run it through this program I found a long time ago, called unpack (source follows). The neat thing about this program, is that you can append many uuencoded files to the same folder, and unpack will do the right thing - as long as all the parts are ordered correctly, and the "begin" line of each part 1 contains a unique file name. Invoke it like this: "unpack < foldername" I guess tagging and piping should work with it too. (Ask Steve Faiwiszewski for unpack source.) 1.15 Is there any way to bounce all the tagged messages with ONE command ? * Chip Rosenthal (chip@chinacat.unicom.com): Save the following to a script in your personal bin directory, say `bounce': : use /bin/sh : ${ELMSTATE?} ${1?} sed -n -e 's/^S//p' $ELMSTATE | while read mssgno ; do echo "Bouncing message $mssgno to $@ . . ." readmsg -a $mssgno | rmail $@ done When you run: !bounce addr ... then all of the tagged messages will be bounced to the indicated address(es). If no messages are tagged, then the currently se- lected message will be bounced. * (me): If your rmail complains about 'missing From line', change line 5 in the script above to: readmsg -h $mssgno | rmail $@ 1.16 Does ELM have MIME (metamail) support? MIME allows for sending and receiving of messages compliant to the Multipurpose Internet Mail Extension (RFC 1341). MIME pro- vides a way to attach binary, graphic, audio, video, postscript and other files. It doesn't necessarily need graphics capabili- ties on your display, but its useful. If you have installed Nathaniel Borenstein's metamail package for displaying MIME messages, Elm can make use of it. If you didn't have metamail installed you might want to obtain a copy of it. The most recent version is 2.7, and you can find it at: ftp://ftp.bellcore.com/pub/nsb/mm2.7.tar.Z Compiling of Elm even with MIME support enabled would not depend on the metamail package. But you would not be able to use nearly all of the MIME features as long as you don't have metamail in- stalled. Metamail with its companion programs (mmencode) must be installed somewhere in the search path, usually /usr/local/bin. 1.17 How not to include headers in outward bound mail? Problem: all outward bound mail still includes the following lines, even if I have the "noheader = ON" line in my .elmrc: X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 67 * Syd Weinstein (syd@Myxa.com): "noheader = ON" means when the message is copied into the buffer for a reply or forward. The "X-Mailer:" header is controlled at Configure time. There is a compile time option to produce or not produce it. The three "Content-*" headers are always going to be produced by 2.4. 1.18 Is it possible to save mail messages without the headers? * Chip Rosenthal (chip@chinacat.unicom.com): Use: !readmsg -n >filename If you want to save a few keystrokes, you can encapsulate this in a shell script to go in your personal bin directory. * Syd Weinstein (syd@Myxa.com): Note that some of the newer features of readmsg are only avail- able in later 2.4 releases 1.19 How do I upgrade my ELM aliases from 2.3 to 2.4PL23 ? * Syd Weinstein (syd@Myxa.com): All I did, was make sure 2.4 as installed, and then had each user run newalias and I ran newalias -g. The aliases.text file is up- wards compatible. The old newalias converted aliases.text to aliases.data and aliases.hash the 2.4 newalias converts alias- es.text to aliases, aliases.dir and aliases.pag. If you don't have those three new files, you didn't install 2.4 correctly and are still running 2.3's newalias. 1.20 Elm seems to ignore HOME environment variable. Why? * Syd Weinstein (syd@Myxa.com): This is a feature. Elm ignores $HOME, so that when su'd you read the right mail file. Its a choice of one or the other and we chose to allow su over $HOME. 1.21 Sometimes Elm (PL < 21) seems to join two messages in one. Why? * Syd Weinstein (syd@Myxa.com): Early versions of Elm 2.4 had a problem with messages with bad content length headers. I'd update to a more recent version when 21 comes out in a bit. Note: now PL 23 is out. I chose to report this Question as it is so a strange behaviour (mail still reads the mailbox correctly) a person can get mad about it :) 1.22 How can ELM be used for an automatic reply? It cannot. Autoreply is no longer supprorted and MUST be removed from you system. You can try and use filter, but it's better looking for some other utility. 1.23 How to list your mail from the oldest to the newest? * Arnaud Girsch (Arnaud.Girsch@INSA-Lyon.FR): You can change the sortby= in your .elm/elmrc file, or change in menu (O)ption, and then (S)orting criteria. It allows you to choose lots of different order, and you can choose whatever you want. 1.24 How to use elmheaders file? * Arnaud Girsch (Arnaud.Girsch@INSA-Lyon.FR): Under your .elmrc directory, create a file named elmheaders, a text file where you put all the lines you want to be seen in the header. If you redefine an existing header, it will take its place. Example: if you want to redefine your Reply-To: header, just create the file and put the following into it: Reply-To: myaddress@node.domain.country * (me): Please also note that elmheaders file is NOT processed. It's ap- pended as it is, with the exception of quoted shell escapes. Hence, a Bcc: will not work, but a Return-Reply-To will, as the latter is processed by the *receiving* MTA. 1.25 How to change the fullname in sent mail ? 1) use the "fullname" option into the elmrc file; 2) set the NAME environment variable. Method 2) is useful if you want to change your name for a mail only, without editing your elmrc file. Note that you might not be able to change fulname at all. If your Elm is configured with DONT_ADD_FROM enabled (run `elm -v' to see if it is), then Elm is *not* adding the From: line. The low-level mail transport is. If this is the case (and it common- ly is) you'll have to ask your local administrator how to do it. (If you have a `chfn' command that might do it.) 1.26 "Alias too long" or string too long errors. Errors are to be expected when trying to expand very long alias- es, mailing lists, and so on. This error is due to the fixed length strings in Elm 2.xx, and will not be fixed until 3.xx is released. 1.27 How to crypt mail in elm ? * Sven Guckes (guckes@math.fu-berlin.de): You need these two "keylines": [encode] and [clear] Just put your top secret messages in between these two lines. See the "ELM Reference Guide", "5. Special Outgoing Mail Process- ing" for an example. For all folks outside the US I might quote that little footnote: "Unfortunately, at many non-US sites, it's quite probable that you won't be able to use this feature since you won't have the crypt() library available due to USA Government restrictions." 1.28 How can I enable 8-bit characters configuration? * Hakan Sjogren (hakan@Sweden.Prime.COM) PROBLEM: When receiving mails having swedish characters the dis- play of these national characters on the terminal are wrong when using ELM. If I add the line Content-type: text/plain charset=iso-8859-1 into this received mail, ELM displays correct- ly. Since this is a normal situation I would assume ELM to dis- play full 8bit characters if the mail bandwith is set to 8bit. SOLUTION: The solution to this problem was to set the environment variable LC_CTYPE=ISO-8859-1 . * Juergen Schroeder (schroeii@papin.HRZ.Uni-Marburg.DE): For displaying incoming letters no changes are neccessary. You have to set the environment: stty -istrip pass8 LC_TYPE=ISO-8859-1 For outgoing mail you must specify when running Configure: charset: ISO-8859-1 content-transfer-encoding: 8bit 1.29 Sun mailtool attachments and elm? * Kurt Swanson (kurt@dna.lth.se): > Has anyone hacked elm to support the Sun attachment > style in the Openwindow's Mailtool? This is handled by metamail, not well, unfortunately, but handled that way in any case... 1.30 How can I save outgoing mail ? Set the following in your elmrc file: # save a copy of all outbound messages? copy = ON # save outbound messages by login name of sender/recipient even if # the associated folder doesn't already exist? forcename = OFF # save messages, incoming and outbound, by login name of # sender/recipient? savename = ON # where to save copies of outgoing mail to, default file is "=sent" sentmail = /path/to/the/file 1.31 Can I get an automatic receipt when my message is actually read? * Chip Rosenthal (chip@chinacat.Unicom.COM): With Elm, you cannot. Many people consider this an intrusion of privacy, not a feature. 1.32 Get a copy of message(s) into the edit buffer when composing a reply? * Chip Rosenthal (chip@chinacat.Unicom.COM): Use the `readmsg' command. 1.33 How can I print in Elm ? * Chip Rosenthal (chip@chinacat.Unicom.COM): First thing you need to do is change the default print command Elm gives you. The compiled-in default of "cat %s | lp" is obso- lete. Simply use "lp" (or whatever) as your print command. This will pipe the message directly into the print command, and it will leave stdout/stderr of the print command attached to your terminal. That means that pass-through printing will work. That means problems and error messages will be displayed. Making this change might fix the problems you are having. Even if it doesn't fix them, at least now you'll be able to see the error diagnos- tics rather than the mysterious `Printout failed' message. 1.34 How can I get a complete elmrc file ? From inside ELm, type 'o' (Options) then '>' (Save). This will create a complete elmrc file, with all options and lots of comments. Remember that a leading "#" on a line denotes a com- ment. Hence a line with leadin "###" is ALSO a comment. 1.35 How can I change a configuration setting for all of my users? * Chip Rosenthal (chip@chinacat.Unicom.COM): By creating a global elmrc file. Copy your personal elmrc file to $libdir/elm.rc, where $libdir is the Elm library directory that holds the help files and other such things. Edit that file. The values it provides will override the compiled-in defaults. 1.36 What do `Priority, Expires and Action' headers mean? * Chip Rosenthal (chip@chinacat.Unicom.COM): Not a whole hell of a lot. These are Elm-isms. Priority: If you put a value in this header, *any* value other than `normal' or `non-urgent', then Elm will put a `U' on the index screen to note the message as urgent. Expires: You can specify an interval up to 8 weeks from now (e.g. `7 days'). When that date has been passed, Elm will put a `E' on the index screen to note the message as expired. Action: You can use this header to specify some action for the recipient to take, and Elm will do absolutely nothing with it. 1.37 What does the `Precedence' header mean? * Chip Rosenthal (chip@chinacat.Unicom.COM): This is *not* an Elm-ism. It is a sendmail-ism. :-) It allows you to specify handling instructions for the mail transport. If you have to ask this question -- you don't want to mess with it. * Russell Schulz <Russell_Schulz@locutus.ofB.ORG>: to avoid bounces on many mailing lists, and to prevent auto- acknowledgements when mailing (for instance) news-answers- request@mit.edu, you just put `Precedence: bulk' in the headers. 1.38 How can I get a `Reply-To' header in all of my messages? * Chip Rosenthal (chip@chinacat.Unicom.COM): Create a file called ~/.elm/elmheaders that contains the single line: Reply-To: joe@AcmeWidgets.COM The contents of this file are slapped onto the end of the headers that Elm generates for an outgoing message. 1.39 ti/te strings for the xterm in termcap are wrong. * David W Sanderson (dws@ssec.wisc.edu): Whoever wrote the default termcap and/or terminfo descriptions for xterm included in the ti/te strings the special escape sequences to make xterm switch between the normal and alternate screen buffers. These sequences are: \E[?47h - use alternate screen buffer \E[?47l - use normal screen buffer The elm code is just fine as it is. If you change it so that it doesn't ever send ti/te, you'll just break elm for somebody else. Fix your termcap/terminfo definition instead. If this won't work, * Neil Weisenfeld (weisen@alw.nih.gov): change usetite in your .elmrc file to: usetite = OFF 1.40 Can I edit and forward without having the prefix (>) added to the mail body? Forward the mail, answering NO at the edit? question. Then, in the send menu, instead of s)ending it, e)dit it. 1.41 Can I take an address from a message and put it in the aliases list? * David W. Tamkin <dattier@Mcs.NET>: Return to the index screen, make sure the pointer or bar is on a letter from that person, and press "a" twice. The first "a" puts you into the alias subsystem and the second says to create an alias for the sender of the current letter. 1.42 sendmail 565c+IDA + Elm = SEGV. Why ? * Paul Pomes (paul@uxc.cso.uiuc.edu): Either fix your Elm to use correct GMT offsets or apply the following patch from Mike Park <mikep@dragoman.com>. *** 5.11.0.16 1992/08/26 22:06:32 --- arpadate.c 1993/03/10 21:38:23 *************** *** 423,428 **** --- 423,440 ---- #endif /* LOG */ return(NULL); } + + /* + * Some buggy mailers (ie elm 2.4.p13) can produce huge incorrect + * offsets. Applying these offsets can cause the static array + * used by gmtime to be overrun on a NeXT OS3.0 causing sendmail + * to SEGV. + * Limit offsets to be +- 24 hours. + */ + if (h_offset < -24) + h_offset = -24; + if (h_offset > 24) + h_offset = 24; /* is the year a leap year? */ if ((tm.tm_year % 4 == 0) && 1.43 Can ELM use MH-style inboxes? * Steve Simmons (scs@lokkur.dexter.mi.us): Elm does not currently do this. It has been suggsted for Elm 3.0, but 3.0 is off in the mists of the far future. 1.44 How can I enter a message that is in a folder into a message ? * Syd Weinstein (syd@Myxa.com): Just use the readmsg command. It is the external command that does the same thing as ~m, and it understands the current mailbox sort order, just like ~m. From vi, I would put the cursor on the line I want to repalce with the message and say "!!readmsg". 1.45 I get my NIS/YP domainname appended to local mails. Why? * Dave Wolfe (david_wolfe@risc.sps.mot.com): You have to run Configure again, and say NO to the question: Should getdomainname() be used to obtain the mail domain? This is because when the getdomainname() system call is found, and you run NIS, getdomainname() usually returns the NIS domain and not the mail domain. The domain name should be compiled into the code. If the getdomainname call does return the correct mail domain, it can be used. 1.46 How can I include a file in a header ? And a quote ? The elmheaders file allows the inclusion of the output of a command which is run each time Elm reads elmheaders. This is useful for a header which changes its contents, like a fortune output. Unfortunately, if a header cointains "`", Elm tryes to execute what follows. The workaround is: save the offending text in a file, then include it like follows: X-Foo: `cat /path/to/file` 1.47 How can I build an alias containig "=" ? Quote it. i.e. : "foo=bar"@net.org 1.48 What's aliases limit ? # of aliases ? total length ? Aliases are limited by length. It's 5120 chars. 1.49 How can I change the editor ? In your elmrc file set editor=/path/to/editor 1.50 How do I include a file in a mail message ? 1) Normal plain text file: see your editor's man page. In vi, :r /path/to/file 2) executable or non-printable file: see man uuencode. Then as 1) 3) MIME-recognized file (gif, Postscript, ...): [include /path/to/file type encoding]. Examples: [include /path/to/file.gif image/gif base64] [include /path/to/file.ps application/postscript] See also MIME documentation. 1.51 Which are the (s)ave abbreviations ? * David W. Tamkin (dattier@Mcs.NET): For saving to a folder, Copying to a folder, or changing folders [or naming a folder on the command line as an argument to Elm's -f option], Elm accepts several abbreviations: ! folder named in your $MAIL variable; default: your mail spool > receivedmail folder named in your .elm/elmrc; default: $maildir/received < sentmail folder named in your .elm/elmrc; default: $maildir/sent =filename $maildir/filename +filename $maildir/filename [useful on the shell command line, where an equal sign could confuse the shell] @aliasname folder in your $maildir directory named for the real logname behind alias "aliasname" 1.52 Why do I get "folder corrupt" messages ? * Peter Churchyard (pjc@cc.ic.ac.uk): If your folder (/usr/spool/mail/<login>) starts with a line of ^A^A^A^A and not 'From username', then you need to configure Elm to use MMDF style message seperator lines. 1.53 How to know how many new messages arrived, without entering Elm ? * Chip Rosenthal (chip@chinacat.unicom.com): frm -S -q -s new 1.54 How not to display header when reading mail ? Use the weedout option in the elmrc file. You should find a line like this: ### weedout = "*end-of-user-headers*" Change it to: weedout = "Header-to-elimitate" To eliminate more than one header, add weedout lines as appropriate. In my elmrc file I have, for example: weedout = "X400-Received" weedout = "X400-Originator" weedout = "X400-Recipients" weedout = "X400-Mts-Identifier" weedout = "X400-Content-Type" weedout = "X-Vms-From" weedout = "X-Vms-To" 1.55 Does Elm support headers within message body ? No, it doesn't.For example, you still need to specify "-s <subject> even if you're calling it with "-i <file>" and <file> contains the Subject header. 1.56 How can I do <.....> with vi / my editor under Elm ? This is not an Elm question. Please refer to the appropriate manual / doc / FAQ / whatever. I'm sorry, but should I give you answers on your editor, I'd end up writing a bad FAQ for your editor and a bad FAQ for Elm. 1.57 How can I scroll backwards w/ builtin editor ? You can't. You can specify your favourite pager in your elmrc file ( ~/.elm/elmrc ) by adding a line like: pager = /usr/local/bin/less Should you choose "less", you can yse one of the following lines, from John Sturgeon <johns@nado.hp.com>: pager = less -cEw pager = less -C -e +Gg -P%f' ['%T'] ('%pb'\% ln '%lb/%L')' pager = less -cEw -e +Gg -P%f' ['%T'] ('%pb'\% ln '%lb/%L')' or these from Andrew Duchowski (andrewd@sematech.tamu.edu): pager = less -C -e +Gg -M pager = less -C -e +Gg -P?f%f:'stdin'.'--('?pb%pb:'0'.'\%'?lb' line '%lb.')--' (You will put this on a single line: I split it for formatting reasons). Remember to specify the full path to "less". 1.58 How can I send the same message to a list of people ? There are 3 possible cases: 1) You need to send a message to a huge list once in your life; 2) You sometimes send to a huge list; 3) You often / regularly send messages to a lot of people; 1) type recipients' addresses by hand. If the list is really a long one, you can consider 2). 2) if the list is static (i.e. you haven't to modify it each time), you can create aliases: simply press 'a' from the main menu, then follow the alias submenu help (really easy). Or you can use the 3rd method, which gives you more flexibility and (inmy opinion) ease-of-use; 3) use the following script by John Woodburn (woodburn@indirect.com): #!/bin/sh file=/path/to/message read address while [ -n "${address}" ] ; do cat ${file} | /usr/bin/sendmail -oi -odb ${address} read address done The addresses' list is read from stdin, so you can store it in a file and run this srcipt, say "snd_msg" this way: snd_msg < /path/to/addresses/file If you want to use elm aliases in the file, you can substitute the line with "sendmail" in the script with: cat ${file} | /path/to/elm -s "subject" ${address} Another way to handle such mailings is to convince your system administrator to put a line like: foo :include:/path/to/a/file in sendmail's system-wide aliases file, and give you write permission to this file. You can then use whatever mail program to mail to the list, and anybody sending a message to foo@your.site will reach the list. 1.59 How can I resynchronize folder (deleting, etc) w/out exiting Elm ? From main menu, press '$'. 1.60 error: Couldn't malloc 1769480335 bytes!! This error occurs when Elm tries to open $lib/aliases and the sytem-wide aliases file is not in the expected format. For exam- ple, if you installed sendmail in /usr/local, its aliases are then kept in usr/locla/lib/aliases, the same path that's default for Elm. * John Warburton <jwarb@SACBH.com.au>: I fixed the problem here by renaming the elm aliases files in hdrs/sysdefs.SH to have elm_ prefixed before the aliases: * Syd Weinstein <syd@Myxa.com>: (referred to the above soution) ... that or just use a different $lib than /usr/local/lib, make it /usr/local/lib/elm. In addi- tion, Elm 3.0 will rename the aliases file to avoid conflicts. 1.61 Can I handle mailing to lists of people with Elm ? * Roman Czyborra <czyborra@cs.tu-berlin.de>: Let's say the you have a file named `recipients' that lists the email addresses of your recipients and a file named `message' that contains the text you want to send out. The Elm tool to handle that is Fastmail and you would call it like this: $ fastmail -b "`cat recipients`" -s subject message "" 1.62 How can I put my folder in chronological order ? * John G Dobnick <jgd@alpha1.csd.uwm.edu>: If you simply want to *see* your messages in chronological order, then go to the O)ptions menu, select S)orting criteria, then hit spacebar until you see "Date Mail Rec'vd" or "Date Mail Sent" as you like. If you also want to write your mailbox so that your messages ac- tually are in order, rather than appearing to be, perform the same steps as above, then tag all messages ('t') and save them to another file. The contents of this new file will be in the de- sired order. 1.63 Can I bounce e-mail from outside Elm ? * Chip Rosenthal <chip@chinacat.Unicom.COM>: Something like: $ readmsg <message_number> | rmail <recipient> might be what you are looking for. 1.64 Can I associate a folder to an alias or to multiple senders ? * Chip Rosenthal <chip@chinacat.Unicom.COM>: The canonical trick to do this is to use a Unix link (the ln(1) command) and link the name Elm wants to use to the name you want. Be forewarned -- if you use this trick there is one thing to watch out for. If you delete all messages from one of these folders, it might or might not work properly. (On some systems, it leaves a zero-sized folder under all the names. Under others it simply deletes one of the links to the folder. It depends up- on how Elm is configured.) * Sven Guckes <guckes@inf.fu-berlin.de>: Example: You get mail from "Joe Miller" but he's using two accounts - "john@zuke.com" and "miller@mazola.com". Now make the folder "miller" be a link to "john": $ ln -s john miller Now "miller" should point to "john". Any mail saved to "miller" actually goes into "john". Disadvantages: Any other guy with a login name "john" or "miller" will be saved in that folder, too. But that's an over- all drawback, anyway. 1.65 Is there a way to forward more than 1 mails in the same mail body ? * Sven Guckes <guckes@inf.fu-berlin.de>: Short answer: Send all mail to a folder, read them in from the editor. Longer answer: Save all mails to be forwarded to a file ("folder"), say "fwd". Start sending a mail to the person. When in the editor, read in that folder "fwd" to your temporary file. Exit editor and send the whole thing as *one* mail. 1.66 Can I know the path a mail took to reach destination ? This isn't an Elm question, but here is the answer: If you're receiving the message you want to trace, just hit 'h' to see all the headers, then look for 'Received:' headers. That's the path. If you're sending a mail and you want to know what route it fol- lows, ask the recipient to mail your messages back to you. 1.67 How do I import my unix mail aliases from .mailrc to Elm ? * Balaji <balaji@nexus.yorku.ca>: cat .mailrc | awk '{print $2 " = " $2 " = " $3}' > .elm/aliases.text ought to do it. You may want to edit the 2nd column by hand be- fore running newalias. 1.68 Is there anything to make Elm work with SGI's Workspace ? * Dave Schweisguth <dcs@neutron.chem.yale.edu>: There is a package that makes Elm work nicely with SGI's Workspace (graphical file manager) at: ftp://neutron.chem.yale.edu/pub/elm-ws-support.shar. People FTP it on a regular basis, and no-one has complained, so it must be more or less OK. 2.0 Installation Answers ---------------------------- 2.01 On SCO Xenix, all mail is from user anonymous. Why? From Elm README: On SCO Xenix, if you are all mail is from user anonymous, this is because the mail delivery agent should be /usr/lib/mail/execmail instead of /usr/bin/rmail or /bin/rmail. 2.02 Elm doesn't work on Next. Why? The complete NeXT document by anderson@macc.wisc.edu is available via anon ftp from: yak.macc.wisc.edu [144.92.30.18] and ghost.dsi.unimi.it:/pub/Elm/Next.Z 2.03 Compiling with Microsoft UNIX C Compilers won't work. Why? * Thomas Bullinger <mrbulli@btoy1.rochester.ny.us>: On many systems with the Microsoft UNIX C Compilers (such as SCO), compiling with optimization breaks the code. One symptom is that aliases do not work. On those machines do not compile any of Elm with optimizations. To accomplish that, set all occurences of "OPTIMZE" in the make- files to "-Od" - then it works. Another possibility is to use gcc instead (my current version [PL23] is compiled with gcc [2.4.5] on SCO Unix [3.2.2] without modifications and runs perfectly). 2.04 Various problems on Unix 286. From Elm README: On some systems, especially those based on the AT&T Port to 286's the -O flag of the compiler produces improper code causing segmentation violations. If this happens, recompile the code without the -O flag. This has been seen with Microport SysV/AT type systems. The Configuration script has been known to exceed the default stack size in Unix 286 sh's. If Configure does not run correctly on this type of machine increase the stack size and rerun it. On Microport SysV/AT machines, Configure might run correctly under ksh. Obtain ksh from Microport (available to current version owners without additional charge) and rerun Configure using it. Also on Microport SysV/AT Machines, the C compiler produces improper code for one of the arithmetic calls. To fix this problem it is necessary to reduce the complexity of the statement, as reported by one of our testers here is the symptom and his patch. Being this is a compiler bug on only one system, we make the information available, but not incorporate it in the main release. Note, this may effect other areas of Elm, and in the future, Microport may even fix this problem. [Read the README file for the patches] 2.05 Configure won't run on HP-UX. Why? From Elm README: The Configuration script has been known to exercise an old bug on HP-UX's version of /bin/sh. This shows up as part of the variable setting section showing up on your screen, and configure aborting on errors. If this happens, try using ksh instead of sh as in: ksh Configure this will usually solve the problem. 2.06 Configure won't run on SCO XENIX 2.2.1. Why? Keith Brazington (keith@g4lzv.co.uk): The solution is simple, up the stack size for /bin/sh. I used # mv /bin/sh /bin/sh.old # cp /bin/sh.old /bin/sh # fixhdr -F 8000 /bin/sh This may seem a bit over the top, but I put it back after! 2.07 Will Elm work on SGI Indigo? Syd Weinstein (syd@Myxa.com): Well, I had no problems at all configuring and running Elm on my SGI Iris under 4.0.5. The biggie for SGI is to say Elm is a non ansi application, so you need to list -cckr as an additional compilation flag. I took all the defaults from configure and it ran just fine. 2.08 I have problems compiling elm2.4 on HP/Apollo * Gordon D. Berkley (gordonb@mcil.comm.mot.com): As of ELM2.4pl17, The system compiles cleanly (?) for Apollo. This patch level includes many "fixes" that I submitted to ensure this. There *are* many compilor warnings, but they can safely be ignored. I would suggest discarding any config.sh from a previous Configure, though, as this will cause the corrections to NOT work. In order to ensure compilation, please be sure to compile with SYSTYPE set to "sys5" rather than "bsd". 2.09 I have problems compiling elm2.4 on IBM AIX * Steve Adams (adams@spss.com): >I am trying to compile the latest and greatest version of ELM on my >RS/6000 running 3.2.? (exact level unclear). I received the following >error messages about setgid being redefined: > >"init.c", line 128.16: 1506-132 (S) Function getgid cannot be >redeclared. >"init.c", line 128.26: 1506-132 (S) Function getuid cannot be >redeclared. You can get around the problem defining -U__STR__ during 'Configure' It will be fixed in PL22. * From the monthly posting: This version of Elm 2.4 should not require any changes to the configure run to link under AIX 3.2 or newer. On IBM RISC 6000 AIX, prior to 3.2, you might get string function errors on the compile. The solution is to do the following: Look at /usr/lpp/bos/bsdsport. It tells you to add following lines to /etc/xlc.cfg: * BSD 4.3 c compiler stanza bsdcc: use = DEFLT crt = /lib/crt0.o mcrt = /lib/mcrt0.o gcrt = /lib/gcrt0.o libraries = -lbsd, -lc proflibs = -L/lib/profiled,-L/usr/lib/profiled options = -H512,-T512, -qlanglvl=extended, -qnoro, -D_BSD, -D_NONSTD_TYPES, -D_NO And then link bsdcc to xlc and use bsdcc instead of cc. In addition, Elm should be linked with the curses lib and not termcap lib if /etc/termcap is not there. (You can always copy the termcap database to etc (or make a symlink)). 2.10 Compiling elm 2.4 under NS 3.0 Paul Terray (popaul@binkley.cs.mcgill.ca): Check if fcntl.h is included somewhere (as it probably is). It contains most of the declaration the program are looking for. If not, include it. Then, just comment the include line for unistd.h. 2.11 Elm sends 'empty mail' on 386BSD: why? * From the monthly posting: On 386bsd, the shell that is shipped with the system, ash, does not work for sending messages within Elm. Mail messages have headers only and no body. Replacing the shell with bash (from GNU) seems to solve the problem. The bash shell is in the 'etc' distribution of 386BSD. * If you upgrade to current version, this should happen no more. 2.12 Why can't I get SGI to work for non ROOT? From the monthly posting: SGI, at 3.3, doesn't have vfork, but instead a stub that does not work. Make sure vfork is undef in the configuration. 2.13 I have problems p)rinting messages in 2.4PL20 When I try and print a message, I get "readmsg: Cannot find start of selected message". Why? Chip Rosenthal (chip@chinacat.Unicom.COM): Please take a look at the From_ line of the message you are trying to print. I'm going to guess that it has a complex address, maybe with some quoting or special characters, or maybe a strange date syntax. The utilities in the current Elm release (including `readmsg') use very simpleminded routines to crack the From_ lines. Some headers that Elm handles fine confuse these utilities. One of the larger changes in the next Elm update will be moving all of the From_ and ~Date: processing out of the main Elm code and into the library, so the utilities (including `readmsg') will use the same algorithms as Elm. If you look at the From_ line and it doesn't seem particularly unusual, feel free to drop me a line. Most of the changes to readmsg and Elm printing came from my hands, and I'm working on the aforementioned changes too. If there is something else broke in there, I'd be glad to look at it. 2.14 Elm2.4 PL20 - 'x' key causes segmentation violation Nigel Metheringham (nigelm@ohm.york.ac.uk): in the file src/exitprog.c, there is a line char *msg, answer; replace it with char msg[SLEN], answer; 2.15 readmsg:illegal option -- I. Why? Chip Rosenthal (chip@chinacat.Unicom.COM): It means you installed an updated `elm' binary but continue to use an old version of `readmsg'. 2.16 Forms don't work. Why? Syd Weinstein (syd@Myxa.com): If you have `forms = ON' in elmrc, Forms is there, but the menu items to make a form require that user level be set off beginner. (anything but 0 (beginner)) 2.17 ELM does not recognize VMS mail. Why? * This is fixed in Pl22. * Syd Weinstein (syd@Myxa.com): Looks to me like you found a bug in Elm's quote parsing routines. It just needs to be looked into. Reported from: Steen Hammerum (kel2sh@uts.uni-c.dk) 2.18 Huge headers cause Memory Fault. Why? Syd Weinstein (syd@Myxa.com): Any part of Elm at the 2.x level will abort if given a header line that is too long. It uses fixed length buffers, and at some point they overflow, and none too gracefully. 3.x will support dynamic strings to solve this problem. 2.19 Can I use elm for posting and replying to news? * Andreas Spiegl (spiegl@cs.utexas.edu): In order to set things up so elm is your mailer when you respond r or R to a news article in rn or trn, define an environment variable RNINIT that points to an initialization file for rn/trn. E.g. .rnrc Then put the following line in this file (.rnrc): -EMAILPOSTER="elm -i %h -s \"Re: %S\" %t" This is from now on telling rn to start elm with the appropriate parameters whenever you reply to an article and works great. But: --> This is not for followup postings on the usenet! <-- If you want to use elm in order to post article, you'd need a line with -ENEWSPOSTER instead of -EMAILPOSTER. Then you would tell elm (once it was evoked by rn/trn) that you want to send this to newsgroupname-with-dashes-instead-of-dots@cs.utexas.edu, for example use "comp-mail-misc@cs.utexas.edu". This will post your email message to the usenet. This is not very convenient though, as you have to convert the address manually. Unless you write a nice script for it, of course. Be sure to send me a copy if you do. :-) * Mike O'Connor (mjo@iao.ford.com): Of course, the DEC gateway allows one to gateway email to Usenet with email addresses of the following format: comp.mail.misc.usenet@decwrl.dec.com and has the additional advantage that they carry a LOT of the regional newsgroups. I still think piping it to sendmail with a macro for R is the way to go. This allows you to use the mailer of your choice, be it elm or pine or Berkeley Mail or Z-Mail or whatever. This gets it into your /usr/spool/mail or /usr/mail or /var/mail or wherever. * Robert Nicholson (robert@steffi.demon.co.uk) The objective was to be able to use elm for all news contributions, reply/followup. This way I can then store my postings and replies in =sent or filter based on Subject: and store them in a separate folder. For Replies I added the following to .zshenv: export MAILPOSTER="elm -i %h -s \"Re: %S\" %t" This invokes elm for replies within trn. For Followups it's a bit more involved. Now I didn't like the idea of relying on mail2news gateways in order to post news. So I chose to set up an alias to handle postings: export NEWSPOSTER="elm -i %h -s \"Usenet News Post\n\n\" usenetnews" The postings go to the usenetnews (as opposed to usenet) alias. This gets processed in procmail thus. :0b * ^TOusenetnews | sed -n '/Newsgroups/,$p' | /usr/local/news/inews -h 2.20 Compile fails on lib/strftime.c [PL23]. * Chip Rosenthal (chip@chinacat.Unicom.COM): A bug was introduced at PL23 that causes the compile to fail on pre-ANSI systems. Change line 114 from "# define P_(x) /**/" to "# define P_(x) ()". 2.21 Compile error on SGI Crimson. Error: cc -O -I../hdrs -c opt_utils.c accom: Warning 294: opt_utils.c, line 171: Function getpwuid has prototyped and non-prototyped declarations. Default promotion of non-prototype form of argument 1 does not match prototype: prototype: unsigned short is different from actual: int * Spencer Sun (spencer@der.Princeton.EDU): in Configure, tell it to use the -cckr flag for cc. 2.22 Problem compiling elm on DEC Alpha, OSF/1 v.1.2 Error: getarpdate.c, line 110: redeclaration of 'timezone'; * Eiji Hirai (hirai@cc.swarthmore.edu): This is fixed in elm 2.4p23 ; I think By the way, you should most definitely upgrade to DEC OSF/1 1.3. It fixes a tremendous number of bugs from 1.2. Do it NOW! :-) 2.23 I can't build Elm 2.4PL23 on Sun 386i SunOS 4.0.2 * Sydney Weinstein (syd@Myxa.com): known bug, will be fixed in Patch 24, but its an easy one: in lib/strftime.c, there is a bug in the prototyping macro, it currently reads: #if ANSI_C # define P_(x) x #else # define P_(x) /**/ # define const /**/ #endif and the relevant line needs to read # define P_(x) (/**/) thats it. 2.24 How can I override a Configure's setup ? If you know what Configure makes wrong before running it, then create a file "config.over" with your own choices. If you don't know it, manually edit Configure output. 2.25 How to solve hdrs/mcprt.h problems with Sequent/PTX 2 ? Alan Thew (Alan.Thew@liverpool.ac.uk) reports the following: >PTX 2.0x does not like the code in this header file. > > cc -Xo -O -I../hdrs -c mcprt.c >"../hdrs/mcprt.h", line 52: syntax error >"../hdrs/mcprt.h", line 53: syntax error >"../hdrs/mcprt.h", line 53: incomplete or misplaced function definition >extern int MCprintf(char *fmt, ...); <----- * Chip Rosenthal (chip@chinacat.Unicom.COM) says: The first question is does your system truly support the ANSI <stdarg.h> facility, or does it use the traditional Unix <varargs.h>? If the first case is true, then your compiler has botched the implementation for specifying prototypes for variable-argument procedures. It's possible. I know of at least one compiler that was done while the ANSI spec was still in development, and used an unadorned comma at the end of the parameter list to prototype varargs routines. In this case, you'll need to edit the function declarations in mcprt.h Maybe just deleting the "..." ellipses will work. (It would with the aforementioned compiler.) Maybe you'll have to scrap the prototype by removing everything between the parens. If the second case is true, then Configure made a boo-boo. It saw a <stdarg.h> file and decided to use that. If this was the wrong thing to do, then you can override Configure by creating a file called "config.over" with a single line saying: i_stdarg='undef' Then run "Configure -d" to rebuild things and re-make. * I'll give you the right answer as soon as Alan Thew will tell me how did he solve this problem. 3.0 Filter Answers ---------------------- This part is maintained by Jan Djarv (Jan.Djarv@sa.erisoft.se) 3.01 What documentation exists for filter? Besides the man-page (which is rather brief) there is the `Elm Filter System Guide' (doc/Filter.guid in the elm distribution). A PostScript version is available on dsinc.Myxa.com. 3.02 What do I need to get filter working? You need a MTA (Mail Transport Agent) that reads .forward files AND let's you mail to a program. A .forward file is put in your home directory, where it is read by your MTA. It is here you tell your MTA to pipe the messages to filter instead of putting it in your mailbox. 3.03 How can I tell if my system understands .forward files? This usually works: Make a .forward file in your home directory with the following contents: \userid, "|/bin/cat - > /your/home/directory/forward.test 2>&1" where userid is your username and /your/home/directory is the full path to your home directory. The \ is there to avoid infinite recursion (i.e. if it wasn't there, the MTA would read your .forward again, and see userid a second time, and read your .forward again and on and on ...) Then mail yourself a message. If all goes well you should have 1. A message in your incoming mailbox. 2. A file forward.test that contains the same message as in 1. If you get 1 but not 2, it is possible that your MTA doesn't support mailing to programs. Take it up with your system administrator. It might also be the case that your MTA has another syntax for mailing to programs. 3.04 What do I put in my .forward file? "|/full/path/to/filter -vo /some/unique/file" (note the placements of the quotes, this is for sendmail at least, there are possibly other MTA:s out there that want's it different. Try finding a manual if the above doesn't work). Always use the full path to filter. Your MTA probably has a different PATH than the one you have. Also you should personalize your line by for instance redirect the errors of filter (that's what -o does, -v just makes the errors a bit more verbose) to a file that is unique on your system. /tmp/filter.userid (userid == your user name) usually does it. * Syd Weinstein (syd@Myxa.com) explains why your line should be personalized: Its not a bug, but a feature of sendmail. Sendmail prevents duplicate deliveries to addresses, so a message sent to "a, b, a, b, c" would be delivered to "a, b, c", but only one copy to a and b. Sendmail does this by sorting and 'uniq'ing the list of addresses. If two people's filter invocations in the .forward file match, sendmail will gladly coallese these down to one as a duplicate delivery address, and the result is exactly what you describe. Just get everyone to make their .forward line personal (add a unique -o file perhaps) and all will work ok. * John Walder (walder@alexia.lis.uiuc.edu ): If you have the source code for sendmail, try the following patch to the sameaddr() function in the file src/parseaddr.c. It still eliminates duplicate recipients but not duplicate programs (filters). This solution is more elegant than continually fixing .forward files. --------------------------------------------------------------------- *** parseaddr.c- Tue May 4 10:55:42 1993 --- parseaddr.c Tue May 4 11:42:52 1993 *************** *** 1525,1530 **** --- 1525,1538 ---- if (a->q_mailer != b->q_mailer) return (FALSE); + /* -- 05/04/93 jdw LOCAL CHANGE + Allow recipients to forward to the same program/filter! + Have same mailer, so check for delivery to a program + */ + /* fprintf(stderr, "sameaddr(%s,%s)\n", a->q_user, b->q_user); */ + if (a->q_mailer == ProgMailer) + return (FALSE); + /* -- End LOCAL CHANGE */ + /* if the user isn't the same, we can drop out */ if (strcasecmp(a->q_user, b->q_user)) return (FALSE); 3.05 What is the simples filter-rules file I can write to test filter? Well, the simplest is: always leave which tells filter that it should always put the messages into your default mailbox. A more interesting example would be: if (subject contains "filter-test") then save "~/filter-folder" which tells filter to save all messages with a Subject: field that contains filter-test into the file filter-folder in your home directory. All other messages will be put into your normal incoming mailbox, since that is filters default rule if no other match. You can then look at the messages in filter-folder with elm (elm -f ~/filter-folder). 3.06 How do I check my filter-rules for typos and other errors? Run 'filter -r'. See also the next question. 3.07 Why doesn't the output from filter -r match my filter-rules file? Filter reads the rules and converts them to an internal format. When it writes them out again, it writes them in a canonical format. This is due to the fact that filter has a loose input syntax. Each rule is turned into an 'if (...) then ...'. The following words are translated: contains becomes = && becomes and then becomes ? matches becomes ~ 3.08 Can I have 'or' in my filter-rules? No, filter can't deal with that. Or is implemented by writing another rule below the one you want to 'or' with. 3.09 Can I make filter execute more than one rule for a message? No. As soon filter find's one applicable rule, it executes that one and exits. 3.10 How do I do multiple actions for one rule? You can't do that directly in the filter-rules file. You have to write a shell script or program that does what you want, and then call it with the execute or executec action. 3.11 What headers are available in the filter-rules? From, To, and Subject. If you answered yes to Configure when it asked "Does your site receive e-mail with valid "Reply-To:" and "From:" fields?", the From field will be the From: header, or the Reply-To: header if one is available (Reply-To: supersedes From:). If you answered no, the From line is the From_ header. The To field is the concatenation of the To:, Apparently-To: and the Cc: headers. 3.12 How do I forward mail to an elm alias from filter? Let's say you want to do if (subject = hello) forward "mail-alias" where mail-alias is an alias you have defined in elm. The sad part is that filter doesn't know about elm aliases. You have to do something like this: if (subject = hello) executec "/full/path/to/elm -s '%s' mail-alias" 3.13 Filter executes my script but the script doesn't work. It does work if I run it prom my shell prompt. Why? Never assume that the script filter executes has the same PATH that you have when logged in. Always set the PATH explicitly at the beginning of your script. 3.14 How do I capture the message fed to a script by execute/executec for later processing? At the start of your script: /bin/cat - > /tmp/mail$$ Then you can grep, and examine /tmp/mail$$ as you would an ordinary file. Don't forget to remove /tmp/mail$$ if you don't need it afterwards. 3.15 Both execute and executec feeds the message as standard input to the script. But what if I don't need it? Just ignore it. 3.16 What if I what to do something based on the contents of a message (i.e not the headers), or based on some header not available in filter? Feed the message to a script using execute/executec, save it and do your stuff in the script. 3.17 How can I make filter operate on all messages in a folder? You can't directly, but you can make a little script that does the job: #!/bin/sh frm -n $1 | while read no rest do no=`echo $no|sed 's/[^0-9]//g'` readmsg -h ${1:+"-f$1"} $no \ | filter -vo /what/usually/goes/here done Start the script with the folder name as argument. NOTE: this script is an example, and doesn't work on empty fold- ers. If your filter rules try and put something into the folder the script is currently operating on, disaster occurs. 3.18 Can I use filter to automatically answer my mail (like vacation)? If you are on vacation you might do something like this: In your filter-rules: always executec "/path/to/vac.script %s %r" In vac.script: -- #!/bin/sh PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin export PATH # Make sure that the PATH above includes elm elm -s "Re: $1" $2 <<EOM Hi. I got your message about "$1". Im not in now but will get back to you as soon as I'm back. EOM -- You can also execute "vacation" if you have it. 3.19 My filter doesn't recognize executec/matches. Executec and matches was added in Elm 2.4 PL11. Try getting a newer Elm. 3.20 Filter sometimes munges up my folders, or looses messages. Why? If two instances of filter are running at the same time, and are operating on the same folder, you get this effect. Filter doesn't lock your private folders (i.e not incoming folder), so the two instances will never know that there is someone else operating on the same folder. See also bug: UB13. 3.21 Why doesn't elm mark mail I saved in a folder with filter as new (N)? * Elm does only mark new messages as new in your incoming folder. Sometimes you want it that way, sometimes you don't. If you are sure you want new messages to be marked as such in any folder, you need to edit the source for Elm, and recompile. Search for these lines in src/newmbox.c: if(folder_type == SPOOL) current_header->status = VISIBLE | NEW | UNREAD; else current_header->status = VISIBLE; and change them to: current_header->status = VISIBLE | NEW | UNREAD; * Jennifer Myers (jmyers@eecs.nwu.edu): You should also modify the code for 'frm' and 'nfrm', so that those utilities will recognize new mail in the users's mail folders. In utils/from.c, the following code appears twice: if (user_mailbox) status = NEW_MSG; else status = READ_MSG; Change both occurrences of the above lines to: /* if no Status header, assume NEW_MSG */ status = NEW_MSG; * William Pemberton (wfp5p@holmes.acc.Virginia.EDU) also wrote a set of patches to do this. 3.22 Why does filter join adjacent messages together? * Aidan M Corey (jo95005@oxford.ac.uk): The first line in a piece of mail is a From_ line; this is used by Elm to tell where one message in the mailbox ends and a new one starts. Unfortunately, on some systems this line is lost. If the first message in the mailbox went through filter, Elm will refuse to run, saying that the mailbox is corrupt. If a filtered message follows another message, Elm will interpret them as a single message. A patch for this is to have a .forward containing: "|/full/path/to/mailkludge" where mailkludge is a world-executable file containing: #!/bin/sh (echo From fubar `date`;cat) | /full/path/to/filter exit 0 If you have sendmail it may be that it is configured to remove From_ lines. Some sendmails have an f option that can be set in the sendmail.cf file: # Save those UN*X From_ lines Of Others require you to define a variable called l: # UNIX header format DlFrom $g $d Then there is the mailer flags. There is one flag, n, that when set will not insert the From header. I.e. this mailer spec will keep the From headers: Mether, P=[TCP], F=msDFMuCX, S=11, R=21, A=TCP $h but this will not: Mether, P=[TCP], F=nmsDFMuCX, S=11, R=21, A=TCP $h (the diff is in the F= spec). 3.23 What other mail filter programs exists? Filter is a very simple program and has limitations. If you have something complicated you want to do, and it is difficult to do with Filter, you should check out the more powerful alternatives: deliver, procmail or mailagent. More info on these can be found in the UNIX Email Software Survey FAQ (see news.answers or comp.mail.misc). 3.24 554 "|/usr/local/bin/filter"... unknown mailer error This happens if your system administrator disabled the pipe inside sendmail. It is due to a security hole in sendmail. Check CERT advisories to know more on this. 3.25 My filter doesn't work. I set it up correctly, but nothing happens. Sendmail has a security hole which fix may cause pipe in .forward to be ignored. This isn't the correct fix to the hole, but is the most secure. Check with your system administartor. * from Jack Moskowitz (jackm@qa.pica.army.mil): Moreover, some versions of sendmail have another bug, which will cause mail addresses to be ignored if two addressees have the same entries in thier .forward files. This is to inhibit multiple delivery to the same address. The problem is that sendmail makes no distinction about addresses and "| program". * from David W. Tamkin (dattier@Mcs.NET): The easy solution is to put your own logname as a comment in the pipe, like this: "| /path/to/filter # jackm" sendmail will think that that's different from "| /path/to/filter # bigboss" and will deliver to both addressees. 3.26 How to (b)ounce from filter, instead of (f)orwarding ? When forwarding mail thru filter, the forwarded message appears from "Filter of <myself>" instead of the actual sender. How to avoid this ? * Aidan Corey (Aidan.Corey@sjc.ox.ac.uk): After some experimentation, I arrived at: if (condition) then execute "/usr/lib/sendmail -oi -odq your@other.address" If your system doesn't use sendmail, you would need to modify this. If it does, read man sendmail for the meanings of the switches I used. 3.27 If I use filter, all incoming mail disappears. Why ? Newer versions of sendmail fix a security hole by not allowing piping a message to a program. Sendmail's configuration changed a bit, also, and it's possible that your local Postmaster didn't configure it properly. If it's so, there's no wy getting sendmail using filter. Check with your Postmaster. 3.28 I use filter and MMDF and have some problems. Filter doesn't know how to handle MMDF style mailboxes. It will corrupt the folder. 4.0 Bugs list This list is included for completeness in the ftp version only. please, use ftp as stated at the beginning of this FAQ to get it. You can get it via a mail server,too: send a mail To elmbugs@ohm.york.ac.uk, with Subject: command and "@SH elmbugs <your email addr>" as the body. 5.0 Archivers, what they archive, how to download This is the list of Internet and UUCP sites distributing the latest version of Elm, from the Elm monthly posting. 5.0.1 The following sites have agreed to make Elm available via anonymous ftp. Site Contact In the US/Canada: ----------------- wuarchive.wustl.edu chris@wugate.wustl.edu (Chris Myers) (128.252.135.4) /packages/mail/elm ftp.uu.net (137.39.1.9, 192.48.96.9) /networking/mail/elm In Europe: ---------- ftp.cs.ruu.nl Edwin Kremer, edwin@cs.ruu.nl (131.211.80.17) /pub/ELM-2.4 ftp.th-darmstadt.de ftpadmin@ftp.th-darmstadt.de (130.83.55.75) /pub/networking/mail/elm In the UK: ---------- uk.ac.soton.ecs T.Chown@ecs.soton.ac.uk (bitnet) (152.78.64.201) T.Chown@uk.ac.soton.ecs (JANET) ftp.demon.co.uk Cliff Stanford, cliff@demon.co.uk (158.152.1.65) /pub/unix/mail/elm src.doc.ic.ac.uk L.McLoughlin@doc.ic.ac.uk (146.169.2.10) /computing/mail/elm In Australia: ------------- ftp.adelaide.edu.au Mark Prior, mrp@itd.adelaide.edu.au (129.127.40.3) /pub/mailers In Taiwan: ---------- NCTUCCCA.edu.tw Huang, Chih-Hsien hch@NCTUCCCA.edu.tw (140.111.1.10 and 192.83.166.10) /packages/mail/elm 5.0.2 The following sites have agreed to make Elm available via anonymous uucp: Site Contact uunet Elm is /networking/mail/elm dsinc Syd Weinstein syd@Myxa.com, dsinc!syd note: anon uucp info changed 12/16/91 For further info, send an e-mail message to archive-server@Myxa.com stating: send anon how-to dir stanton Steven P. Donegan donegan@stanton.cts.com, stanton!donegan 714-894-2246 uucp - nuucp no word Elm is /u/public/elm2.3.tar.Z =+=+=+=+=+=+ Copyright Notice This FAQ is Copyright (C) Piero Serini. All Rights are reserved. Permission to use, copy and distribute this FAQ, or parts there- of, by any means and for any purpose is hereby granted, provided that both the above Copyright notice and this permission notice appear in all copies of the FAQ itself. Reproducing this FAQ or parts thereof by any means, included, but not limited to, printing, copying existing prints, publishing by electronic or other means, implies full agreement to the Publish- ing Notes (see below). Distribution of this file via USENET news is always permitted. Warranty Disclaimer THIS FAQ IS PROVIDED BY THE AUTHOR ``AS IS'', AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PUR- POSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUEN- TIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUB- STITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIA- BILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE INFORMATIONS HEREIN CONTAINED, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Publishing Notes If you want to publish this FAQ by any means, electronically or otherwise, you can do it, provided the following conditions are met: 1) The above Copyright Notice and Warranty Disclaimer appear in their entirety in all copies you publish; 2) You notify me by e-mail that you will publish this FAQ; 3) You use the latest version of the FAQ you can get; 4) You let people know where to find updated versions of the FAQ; 5) Any modifications (other than typesetting changes) you make to it are clearly designated as your modifications; You shall also send me a copy of the published material, in its entirety, free of charge. Should this not be possible, due to le- gal or other restrictions, please send me the part containing this FAQ, with full references to the published material (i.e. ISBN or anything else to identify it), free of charge. ---------------------- *** END of Elm FAQ *** This file has not been truncated