home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso
/
answers
/
elm
/
FAQ
next >
Wrap
Internet Message Format
|
1994-09-15
|
77KB
Path: bloom-beacon.mit.edu!hookup!swrinde!cs.utexas.edu!uunet!sunic!nic.tip.net!venere.inet.it!venere.inet.it!not-for-mail
From: piero@strider.inet.it (Piero Serini)
Newsgroups: comp.mail.elm,comp.answers,news.answers
Subject: Elm Mail User Agent FAQ - Frequently Asked Questions
Followup-To: poster
Date: 16 Sep 1994 00:15:44 +0200
Organization: Piero Serini Place
Lines: 2060
Sender: piero@venere.inet.it
Approved: news-answers-request@MIT.Edu
Distribution: world
Expires: Sat, 15 Oct 1994 23:10:40 MET
Message-ID: <piero.779667312@venere.inet.it>
Reply-To: Elm-FAQ@strider.inet.it
NNTP-Posting-Host: venere.inet.it
Summary: This posting contains a list of Frequently Asked
Questions (and their answers) about the Elm Mail
User Agent. It should be read by anyone who
wishes to post to the comp.mail.elm newsgroup.
Xref: bloom-beacon.mit.edu comp.mail.elm:8624 comp.answers:7297 news.answers:25764
Archive-name: elm/FAQ
Last-modified: 1994/09/16
Version: $Id: Elm-FAQ.post,v 4.3 1994/09/15 22:13:17 piero Exp $
Frequently Asked Questions
Elm 2.4 [23]
Piero Serini
piero@strider.inet.it
$Id: Elm-FAQ.post,v 4.3 1994/09/15 22:13:17 piero Exp $
(C) Piero Serini 1993, 1994 - 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, 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.cs.ruu.nl/pub/NEWS.ANSWERS/elm/FAQ
(ftp.cs.ruu.nl is 131.211.80.17)
- 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
* WARNING: *
The old ftp site:
- ftp://ghost.dsi.unimi.it/pub/FAQs/Elm
is now carrying old version of the FAQ, and is no more supported.
I strongly discourage getting the FAQ or other related stuff from
that site.
* END WARNING *
I *found* the ftp site. Many thanks to Syd, as usual. I plan
the ftp site to be operative within a week or so.
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/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) 1994 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 Elm current version?
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 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 addres 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 may news 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 Couldn't malloc 1769480335 bytes!!
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 ?
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 Elm current version?
Elm current version is 2.4 PatchLevel (PL) 23.
New release should be 3.0, scheduled some time in 1994.
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 at the bottom of this
file (4.* 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.
* Russell Schulz <russell@alpha3.ersys.edmonton.ab.ca>:
Simtel has it available in the ka9q-tcpip directory as pcelm31.zip
ftp://oak.oakland.edu/pub/msdos/ka9q-tcpip/pcelm31.zip
ftp://wuarchive.wustl.edu/mirrors/msdos/ka9q-tcpip/pcelm31.zip
ftp://ftp.uu.net/systems/ibmpc/msdos/simtel20/ka9q-tcpip/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
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.Com):
Plain text copies are available for FTP on ftp.mcs.com in subdi-
rectories of ~ftp/mcsnet.users/dattier/elmguides.
* 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.
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.Com):
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@strider.inet.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@bony1.bony.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.
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 on thumper.bellcore.com [128.96.41.1]:
/pub/nsb/mm2.6.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 8 bit characters configuration?
* Hakan Sjogren (hakan@Sweden.Prime.COM)
reports both the problem and the solution:
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 .
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.
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 addres from a message and put it in the aliases list?
David W. Tamkin (dattier@Mcs.Com):
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 (dwolfe@pffft.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.COM):
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 may news 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 Dave Ratcliffe (vogon1!frackit!dave@cse.psu.edu):
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 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 example, 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 dif-
ferent $lib than /usr/local/lib, make it /usr/local/lib/elm.
In addition, Elm 3.0 will rename the aliases file to avoid
conflicts.
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
makefiles 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 $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 folders.
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.
This usually occurs if you are receiving mail on more than one
machine, and your home directory is shared (via NFS, for instance)
between the machines AND you manipulate your folders from both
machines.
The solution is usually to forward all your mail to one machine and
run filter on that single machine.
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
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.COM):
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.
4.0 Bugs list
This list is included for completeness in the ftp version only.
please, ftp to ghost.dsi.unimi.it as stated at the beginning
of this FAQ to get it.
You can get it via a mail server,too:
send a mail to elmbygs@ohm.york.ak.uk, with Subject: command
and "@SH elmbugs <your email addr>" as the body.
5.0 Archivers
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 thereof,
by any means and for any purpose EXCEPT PROFIT PURPOSES 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 above
non-profit-use clause, unless upon explicit prior written permission
of the author.
Distribution of this file via USENET news is 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 WAR-
RANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 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 legal
or other restrictions, please send me the part containing this FAQ,
with full references to the published material (i.e. ISBN or any-
thing else to identify it), free of charge.
----------------------
*** END of Elm FAQ *** This file has not been truncated
--
# $Id: .signature,v 1.5 1994/09/03 14:00:21 piero Exp $
Piero Serini Via L. Da Vinci, 143
<Piero@Venere.Inet.IT> I 20090 Trezzano S/N (MI) - ITALY