home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
comms
/
network
/
amigaelm.lzh
/
Elm.doc
< prev
next >
Wrap
Text File
|
1992-03-15
|
41KB
|
1,035 lines
AA ii EEEEEEE lll
AAAA EE EE ll
AAAA mm mm iii ggg gg aaaa EE ll mm mm
AA AA mmm mmm ii gg gg aa EEEE ll mmm mmm
AAAAAA mm m mm ii gg gg aaaa EE ll mm m mm
AA AA mm mm ii gggg aa aa EE EE ll mm mm
AA AA mm mm iiii gg gg aaa aa EEEEEEE llll mm mm
ggggg
Amiga Elm, Copyright (c) 1992 by Andreas M. Kirchwitz
==========================================================
(amk@zikzak.in-berlin.de)
based on hwr-mail by Heiko W.Rupp (hwr@pilhuhn.ka.sub.org)
------------------------------------------------------------
Consequently, after becoming more and more disenchanted with the existing
electronic mail facilities (dmail, amr) I decided to undertake creating my
own system.
In any case, the system should be useable without reading any of the
documentation!
Any comments or problems with any of the documentation or the program itself
are welcome; if you can't get electronic mail to me, please feel free instead
to drop me a note via the overland mail address given below.
Amiga Elm was written with the "CygnusEd Professional 2.12" editor and
successfully compiled with the "Lattice SAS/C 5.10b" c-compiler.
-----------------------------------------------------------------------------
The Index (Main) Screen
=========================
Upon entry to the program, the main screen will be displayed as below:
Mailbox is 'uumail:amk' with 15 messages [Elm 0.42]
-> N 1 Apr 24 Larry Fenske (49) Hello there
N 2 Apr 24 jad@hpcnoe (84) Chico? Why go there?
D 3 Apr 23 Carl Smith (53) Dinner tonight?
NU 4 Apr 18 Don Knuth (354) Your version of TeX...
N 5 Apr 18 games (26) Bug in cribbage game
AF 6 Apr 15 kevin (27) More software requests
7 Apr 13 John Jacobs (194) How can you hate RUSH?
U 8 Apr 8 decvax!mouse (68) Re: your Usenet article
L F 9 Apr 6 root (7)
O 10 Apr 5 root (13)
!=shell, |=pipe, +, -, <, >, ?=help, <n>=set current to n
c)hange folder, C)opy, d)elete, e)dit, E)xport, f)orward, g)oto last, m)ail,
o)ptions, p)rint, q)uit, r)eply, s)ave, u)ndelete, w)rite, or e(x)it
Command: @
There are a number of things to notice about this, the main screen.
Most likely, on your computer the message currently "active" will be
displayed in an inverse bar rather than being delimited by the two character
arrow as here. It's nothing to worry about; displaying inverse video is just
quite difficult on printable guides!
The first line on the screen (the screen title) always displays the name of
the current folder, the number of messages in the folder, and the current Elm
version number.
The arrow ("->") or inverse video bar will always indicate which is the
current message.
The first field that appears associated with each message is the status
field. This can be blank (as with most of the ones above, or can have any
combination of the following:
These characters signifies temporary status:
N for a new message
O for an old (i.e. not new but not read) message
D for a deleted message
These characters signifies permanent status:
U for urgent mail
L for a logged message (i.e. written to a file or printed)
F for a message that has been forwared
A for an answered (replied) message
B for a bounced message
Continuing from left to right, the next field is the message number. For the
most part you can ignore these unless you want to quickly move to a specific
message (as we'll see later).
The date associated with each message is typically the date the person
actually sent the message.
The next field displayed indicates whom the message is from. Elm will try to
display the full name of the person who sent the message, rather than the
their return address or computer login. Some systems don't generate the
correct headers, though, hence messages like numbers 2 and 8, where it's
their return address.
The number in parentheses is the total number of lines in the message
(without header).
The final field is the subject of the message. Notice that messages might
not have any subject, as in messages #9 and #10.
The maximum of messages displayed depends on the screen dimensions and size
of the default system font. Further into the document we'll learn how to
change "pages" in the folder.
The three line Menu display will always indicate the relevant commands. Some
commands do not show up on the mini-menu because they are somewhat esoteric,
but they do appear on the '?' help screen (can you find it there, though?).
Finally, the '@' character indicates where the cursor would be, awaiting your
input.
The typical action at this point is to use the <return> or <space> key to
read the current message, which will clear the screen and display the current
message:
Message 1/15 from Larry Fenske Apr 24 '87 at 8:45 pm
Hello there
Dave,
Just wanted to drop you a brief note to see what was going on with
you this afternoon. Life here has been the usual fun and games...
Ah well, off to the great wilds beyond the desk!
Larry
Before we go further with our example, however, let's look at all the
functions available from the main screen:
Information: <help>
--------------------
Gives information about the author and the program.
(needs reqtools.library)
List of commands: ?
--------------------
A short overview of all the possible commands and a very short
description of each command.
+, k, <cursor-up>
-----------------
Move the current message pointer up to the next message (going to the
next page if needed).
-, j, <cursor-down>
-------------------
Move the current message pointer down to the next message (going to
the next page if needed).
<, <cursor-left>
----------------
Goto previous page.
>, <cursor-right>
-----------------
Goto next page.
Redisplay: <ctrl-l>
--------------------
Redisplay the index screen. This should never be necessary, and it's
a relict from my alpha tests for version 1.09 when running Elm on the
workbench window and using the "Zoom" gadget. Redisplay is done
automatically by default. But never say never :-)
Shell: / (or any other program)
---------
This allows you to send a command to the shell without leaving the
program. A new shell ("newshell" by default, see .elm/elmrc) is fired up.
With AmigaOS 2.0 (or higher) you can make Elm's screen public to let newshell
open its window on Elm's screen rather than on the Workbench screen. If so,
you have to quit the shell before leaving Elm.
Shell: !
---------
This opens a newshell on Elm's screen. There's no need to make the
screen public. Handles also multiple shells (with adapted dimensions) at the
same time.
Works only under AmigaOS 2.0 or higher.
Pipe: |
--------
This command allows you to pipe the current message through a given
command. It's not really a pipe. Elm copies the message to an temporary
file and calls the user-defined command with that (absolute) filename as
argument.
Display the current message using a user-defined pager: <return>, <space>
--------------------------------------------------------------------------
When issued from the index (main) screen, it will display the first
screen of the current message; and then when issued while in the builtin
pager (prompting "--More--" or something like that), it will page through the
message to the end; and then when issued at the end of a message (when "End
of Message" appears), it will bring you back to the index screen.
If you're using an external pager Elm starts it synchronously. While
the pager is running, you cannot make any input to Elm. Quit your pager
after reading the message and Elm jumps back to the index screen
automatically. If your pager detaches itself from the cli -- BE CAREFULL.
WARNING: do not use any of Elm functions before the pager has terminated.
Specify new current message: <digit key/s>
-------------------------------------------
When you type in any digit key Elm will prompt "Set current to : n",
where 'n' is the digit entered. Enter the full number and terminate with
<return>.
Note that changing the current message to a message not on the
current page of headers will result in a new page being displayed.
Resynchronize folder: $
------------------------
On more advanced systems, it's nice to start up the mailer in a
window and let it sit in background unless new mail arrives which point it
can be brought up to the forefront of the system and read.
In this case, the modified mail folder is saved not very often, so
when your system chrashes all modifications since last (re-) read of the
folder are lost. To avoid to quit and start Elm again, this command lets Elm
write the current folder back to disk (like "Quick quit", see below) and read
it again (like it was started again).
Bounce mail: b (not yet implemented - sorry, i can't do that, dave)
---------------
This "remails" mail to someone else in such a way as to make the
return address the original sender rather than you. (The forward command is
similar, but it makes the return address you rather than the original
sender.)
Copy to folder: C
------------------
This command copies the current message to a folder. If there is
anything in the folder currently the message or messages are appended to the
end, otherwise the folder is created containing only the newly copied
message. The prompt for this command is `Copy to folder: '. A response of
<return> cancels the command and returns the user to the system prompt. The
usual filename metacharacters are available, too. That is, this command
expands filenames with '=' (on first position) being your maildir directory
("uumail:" by default); i.e. "=dave" is expanded to "uumail:dave".
If you have installed the reqtools.library, you can enter the name of
the destination folder with a comfortable string requester.
Change folder: c
-----------------
Specifying this command allows the user to change the folder that is
currently being read. This is intended for perusal and reply to previously
archived messages. The prompt is "Name of new folder: " and entering
<return> cancels the operation, while entering a filename causes the program
to read that file as the new folder, if possible. The usual filename
metacharacters are available, too. That is, this command expands filenames
with '=' (on first position) being your maildir directory ("uumail:" by
default); i.e. "=dave" is expanded to "uumail:dave".
If you have installed the reqtools.library, you can select the name
of the new folder with a comfortable file requester. The default (starting)
directory is "uumail:".
Delete and Undelete: d and u
-----------------------------
Neither of these two commands have any prompts and indicate their
action by either adding a 'D' to the current message index entry (indicating
deletion pending) or removing the 'D' (indicating that the message isn't set
for deletion).
Edit mailbox: e
----------------
This allows you to modify the current mail file at a single
keystroke. This is mostly useful for editing down messages before saving
them. Modifying headers should be done with extreme caution, as they contain
routing information and other vital stuff for full functionality.
Note that Elm re-reads the folder if the folder has been modified;
this operation can take a little while.
Forward: f
-----------
Allows the user to forward the current message to another user. This
copies the message into the edit buffer and allows the user to add their own
message too. (See also bounce, above.)
Group reply: g
---------------
Identical to reply below, except that the response is mailed to all
recipients of the original message (except yourself).
Goto last message: ^g (ctrl-g)
-------------------------------
Move the current message pointer to the last message in the folder.
(going to the next page if needed)
Display header: h
------------------
This command displays the current message with all headers intact.
When you display a message with other commands, certain header lines are
formatted and others discarded.
Mail: m
--------
Send mail to a specified user. The editor is invoked and the message
can be composed.
Unread: n
----------
Mark message as unread. If the message was new for this session the
'N' flag will appear again; else the message is marked as old (not read yet
but not new for this session).
Options: o
-----------
This full-screen display allows you to alter the settings of a number
of parameters. It's self-documenting (where have you heard that before?) so
isn't explained in too much detail here.
Print: p
---------
This allows you to print out (prt:) the current message.
Quit: q
--------
If you're in the pager, you are returned to the index screen. If you
are on the index screen, Elm quits altogether. If any messages are marked
for deletion, it will ask if you want them deleted. Read messages are always
kept in the incoming mailbox.
Quick quit: Q
--------------
This behaves similar to the 'q' command except that you are never
prompted for answers to the message disposition questions. If any messages
are marked for deletion, they will be deleted without further inquiry.
Reply: r
---------
Reply to the sender of the current message. A copy of the source
message is copied into the edit buffer prepended with the prefix character
sequence specified in your .elm/elmrc file.
Save to folder: s
------------------
This command is like the 'copy' command (see above), except that the
saved message is marked for deletion.
This command expands filenames with '=' (on first position) being
your maildir directory ("uumail:" by default); i.e. "=dave" is expanded to
"uumail:dave".
Write to file: w
-----------------
This command is like the 'copy' command (see above), except that the
saved message is marked for deletion and the header of the message is not
written to the specified file; so files created with this command cannot be
used by Elm afterwards due to the missing header.
This command expands filenames with '=' (on first position) being
your maildir directory ("uumail:" by default); i.e. "=dave" is expanded to
"uumail:dave".
Exit: x
--------
This leaves Elm discarding any changes to the mailbox. If changes
are pending (such as messages marked for deletion) a prompt is made to
confirm discarding the changes. If confirmed, no messages are deleted and
the statuses of messages are unchanged. That is, any messages that were new
will remain new instead of being noted as old, and any messages that were
read for the first time will be again noted as unread.
Quick exit: X
--------------
This leaves Elm in the quickest possible manner without even
prompting about discarding the changes to the mailbox. No messages are
deleted and the statuses of messages are unchanged. That is, any messages
that were new will remain new instead of being noted as old, and any messages
that were read for the first time will be again noted as unread.
Note
------
Use the shifted command keys for reply, forward, bounce and group reply to
get the whole message (with header) included in your message. By default
only the message body (text) is included.
-----------------------------------------------------------------------------
The Builtin Pager
===================
Now, back to our example. The builtin pager shows you each page of the
message; it deals also with lines longer than the actual screen width. The
pager offers you some additional choices which are equivalent to the
correspondending functions from the index screen: Mail, Reply, Forward,
Delete. But there's one more feature: Header. This command displays the
current message with all headers intact. When you display a message with
other commands, certain header lines are formatted and others discarded.
Choose Header again to display the message from the beginning in the old
manner.
(there's a flag in the configuration file for displaying headers; properly
speaking, the Header command switches this flag)
If you want to redisplay the message from the beginning (like quit and then
diplay) use the '^' key.
You can quit the builtin pager at any time with 'q' (quit) or 'i' (index).
Both keys are equivalent.
When you are about to send of a message under the forward, mail, or reply
commands (see above), a small menu of the following options appears:
Forget. This gets you out of sending a message you started. If you are in
send-only mode, the message is saved to the file Cancelled.mail in your home
directory. Otherwise it can be restored at the next forward, mail, or reply
command during the current session of Elm. After issuing one of those
commands you will be prompted with "Recall last kept message?"
Edit message. Entering this command will allow you to edit the text of your
message again. At this point the .elm/elmheaders file is added to the text
and all aliases and receipients of a group reply are expanded.
Send. This sends the message as is without any further ado, except that the
signature (uulib:<user>.signature or uulib:.signature) is appended to the
message.
Send without signature. This sends the message as is without any further
ado.
BTW: The file uulib:<user>.elm/elmheaders (or uulib:.elm/elmheaders) is
always appended to your message header.
-----------------------------------------------------------------------------
The Configuration File
========================
Elm, like lots of other software on the Amiga system, has the ability
to automatically read in a configuration file at each invocation. The file
must be called elmrc and reside in the .elm directory located in your uulib:
directory. It can have any of the entries below, in any order. If you are
missing any entries, or if you don't have an .elm/elmrc file, the default
values (listed below for each option) will be used. Note that those options
below designated with * can be altered using Elm via the o)ptions screen.
Elm tries to support multi-user; first it opens a configuration file
named "uulib:<user>.elm/elmrc", where <user> is the name found in
uulib:Config. If Elm is invoked from a shell with the -f option and the
argument specifies an user name (and not only a file name), this will be
taken as <user>. If all this fails, Elm opens the file "uulib:.elm/elmrc"
(<user> = "").
Same procedure is done with "uulib:<user>.signature",
"uulib:<user>.elm/elmheaders" and all other user-dependent files.
The configurations file consists of a bunch of keywords and their
values. Keywords begin in the first column and are seperated from their
value by one or more white spaces (space or tabulator). It's not allowed to
omit a value. Keywords and values are case-independent.
For a better idea of how this all works, here's my .elm/elmrc file.
While looking through it, notice that you can have lots of comments and blank
lines for readability.
# example .elm/elmrc - options file for the ELM mail system
# (rename it to "<username>.elm/elmrc" for multiple users)
# If the sender has included a "Return-Receipt-To: <address>" in the
# message header, Elm will send back an acknowledge if the message was
# successfully read. "Yes" turns this feature on, any other off.
# Use with care, because normally "s(end)mail" handles it for you.
# (*)
AnswerReturnReceipt No
# If the sender has included a "Return-View-To: <address>" in the
# message header, Elm will send back an acknowledge if the message was
# successfully read. "Yes" turns this feature on, any other off.
# (*)
AnswerReturnView Yes
# If you want to have an acknowledge if the receipient of a message has
# received this message, Elm adds a "Return-Receipt-To: <address>" to the
# message header, where address is the same like "From: <address>".
# "Yes" turns this feature on, any other off.
# (*)
RequestReturnReceipt No
# If you want to have an acknowledge if the receipient of a message has
# read this message, Elm adds a "Return-View-To: <address>" to the
# message header, where address is the same like "From: <address>".
# "Yes" turns this feature on, any other off.
# (*)
RequestReturnView No
# If you always want to see the full header of each message and not only
# some keywords (From:,Cc:,Bcc:,Subject:), set it to "Yes", any other
# value shows only a small reformatted header.
# (*)
ShowFullHeader No
# The message body (text) and the signature are divided by "-- \n"
# normally. Elm recognizes this and gives you the abiltity to hide
# signatures. If you want to see the signature, set value to "Yes",
# any other will suppress signatures.
# (*)
ShowSignature Yes
# If you reply to a message, each line of the source text will be
# included in your new mail and prefixed with this string. If you
# do not want any prefix, set value to "". DO NOT OMIT THIS VALUE!
PrefixString "> "
# All outgoing mail is saved to a special archive. This archive
# is not meant to be a mail folder, so it should not be read by Elm.
# If you do not want to save outgoing mail, omit the value
# for this keyword or omit both (prefix line with '#').
SentArchive uumail:mail.sent
# Where to save received and read messages to.
# If you quit Elm, all messages marked as read (not old, not new and
# not marked for deletion) may be saved to this folder. On exit Elm
# will prompt the user whether to save or not. (see also 'AlwaysKeep')
ReceivedFolder uumail:mail.received
# If you quit Elm quickly ('Q'), all messages marked for deletion
# may be removed from the folder ("Yes") or not (any other value).
AlwaysDelete Yes
# If you quit Elm quickly ('Q'), all read messages may be
# moved to the 'ReceivedFolder' (see above) or may be kept
# in the incoming mailbox ("Yes").
AlwaysKeep Yes
# The full user name (real name) for outbound mail.
FullName Andreas M. Kirchwitz
# What editor to use for editing mails, folders etc.
# (if not in your DOS search path, use full (absolute) path)
# The editor should act synchronously (running in the foreground),
# that means it should not push itself to the background.
# This entry replaces the value read from "ENV:Editor" (if any).
Editor StartCED
# There are several versions of the 'sendmail' program which is called
# by Elm. Each of them has a different behavior in parsing the mailfile
# and the command line options. For example: Ingo Feulner's sendmail
# has no -R (realname) option but it allows to omit the -f option and
# to put the complete From: line into the mailfile. Matt Dillon's
# sendmail has some problems with From: within the mailfile, but it
# allows -R option...
#
# Set value to 'Feulner' for Ingo Feulner's sendmail (AmigaUUCP Plus)
# (sendmail is called without options, all keywords within mailfile),
# set value to 'Dillon' for Matt Dillon's sendmail (AmigaUUCP D)
# (sendmail is called with options -f and -R, no From: within mailfile),
# any other value will call sendmail only with option -f and no
# From: line within mailfile.
#
# NOTE:
# If you're using Kai 'wusel' Siering's sendmail which is based upon
# Ingo Feulner's sendmail, set the value to "Feulner", too.
#
SendmailVersion Feulner
# If doing a reply, Elm puts an introducing line for you in front of
# the quoted text. To give this automated process a more personal touch,
# some useful keywords are available (relating to the original message):
#
# $NAME : full real name
# $FIRSTNAME : only the first name
# $MSGID : message id
# $DATE : date
#
# If Elm cannot find the corresponding fact (for example, the real name
# is missing in the original message) the keyword remains unchanged.
#
ReplyIntroduction Hi $FIRSTNAME ($NAME), in $MSGID on $DATE you wrote:
# same as "ReplyIntroduction" (see above), but for forwarded messages
ForwardIntroduction On $DATE, $NAME wrote:
# Elm makes a backup of the current folder in uumail: (appending ".o"),
# before saving the folder to the original file. If you wish to keep
# this backup - even if no error occured while saving - set the value
# to "Yes", set it to any other value to delete the backup if the folder
# was written successfully to disk.
# (*)
KeepBackup No
# By default Elm uses the workbench colors (preferences) for its screen.
# You have to specify four colors (two bitplanes), which are equivalent
# to the ones given by the "palette" tool from Commodore's Workbench/Extras
# disks. Hexadecimal numbers must begin with "0x" (or "0X"), octal numbers
# with "0" and any other numbers are assumed to be decimal.
Color 3258 0 4095 2916
# Elm reads and writes very slowly. To speed up saving a little bit,
# you may allow Elm to allocate some extra bytes for buffered I/O.
# These extra buffers are used to put in the body of each mail, so
# for maximum speed increase the buffers must be big enough to hold
# your largest message body. Minimum buffer size is 1024 bytes.
# Because of C's limitations ("int" for "fread()/fwrite()") buffers
# should not be greater than ca. 36000 bytes.
Buffers 20000
# Elm uses the "standard font" for the index (main) screen. To handle
# large subjects and as much messages as possible on one page you can
# choose a small font. At least 80x20 characters must fit on the screen.
# (default font is "topaz")
StdFontName courier.font
# Size of the "standard font". Under AmigaOS 2.0 (or higher) there need
# not exist a suitable file in the fonts: directory. The font will be
# scaled if needed.
# (default size is "8")
StdFontSize 13
# The "pager font" appears within the builtin pager.
# (see "standard font")
PagerFontName courier.font
# Size of the "pager font".
# (see "standard font")
PagerFontSize 13
# This entry replaces the value read from "ENV:Pager" (if any).
Pager builtin
# The "intuition font" is used for window titles, requesters etc.
# (see "standard font")
IntuiFontName topaz-classic.font
# Size of the "intuition font".
# (see "standard font")
IntuiFontSize 8
# By default Elm offers you the messages on the index screen in
# reverse order (newest first, oldest last). If you wish to
# see the oldest first and newest last (e.g. for mailing lists)
# set the value to anything else than "Yes".
ReverseSorting Yes
# Not everyone uses hotkey utilities like AutoCLI or DMouse.
# The "shell" command starts an user definable command (need
# not has to be a shell). The idea is that you make Elm's
# screen public; so the shell (or any other application) can
# open it's window on Elm's screen and not far away on the
# workbench.
#
# This entry replaces the value read from "ENV:Shell" (if any).
# (default command is "newshell")
#
Shell NewShell CON:0/0/600/200/ElmShell/SMART/CLOSE/SCREEN AmigaElm
# The current message can be piped to a special command. Now,
# it's not really a pipe. Elm copies the message to an temporary
# file and calls the following command with that filename as an
# argument.
PipeDefault uucp:c/xuudecode
# AmigaOS 2.0 (KS 37.175, WB 37.67) has a minor bug when sending CMD_CLEAR
# to the console.device (memory is trashed randomly). This might be fixed
# by a new version of the SetPatch (37.27 or later) command. If you are
# using an older SetPatch you MUST (!!) set this value to "true" !!!!!!!!
#
# Note: ignored under AmigaOS 1.3 or lower.
#
UseCmdClearKludge True
# Rather than opening its own screen you can make Elm opening its window
# on the workbench screen. Under AmigaOS 2.0 (or higher) the workbench
# window will have a "zoom" gadget to "iconify" the window for later use.
UseOwnScreen Yes
# Before invoking the editor you can make Elm calling WBenchToFront() to
# bring the workbench screen to the front. This might be useful if your
# editor opens on workbench screen (instead of opening an own screen or
# appearing on Elm's public screen).
WorkbenchToFront No
# Under AmigaOS 2.0 (or higher) you can make screens public so that
# other applications can easily open their windows on YOUR screen
# rather than on the workbench. If you do not want to make Elm's
# screen public, comment this line out or omit the value.
#
# NOTE:
# Names of public screens must be unique. You can not start more
# than one Elm with this public screen name.
#
PubScreenName AmigaElm
# Under AmigaOS 2.0 (or higher) it's possible that an application with
# an own screen "hijacks" windows of other applications. It's not
# necessary to make the screen public. Shanghai works for all windows
# which were intended to open on the workbench screen.
ShanghaiWindows No
# Screen Parameters
# (must be large enough for 80x20 characters (with default font))
# Width (in pixels) of the Elm screen.
# Use "-1" for the default screen width (preferences).
Screen-Width 700
# Height (in pixels) of the Elm screen.
# Use "-1" for the default screen height (preferences).
Screen-Height 420
# If you want to set the Interlace-Flag for opening of the screen,
# set this value to "Yes", any other turns interlace off.
# (set by default to the workbench's interlace mode)
Screen-Interlace Yes
# end of .elm/elmrc
-----------------------------------------------------------------------------
Command Line Options
======================
elm
---
Get UserName <user> from uulib:Config and read folder uumail:<user>.
elm <user>
----------
Start Elm in send-mode. This will allow sending of a single message
to the specified recipient with all the options usually available in the Elm
system itself. Elm puts you into an editor for you to enter the text of the
message.
elm -s <subject> <user> -or- elm <user> -s <subject>
------------------------------------------------------
Start Elm in send-mode (see above) and additionally specify subject
for message to mail.
elm -f <folder>
---------------
Instead of the UserName in env:UserName or uulib:Config Elm uses the
argument <folder> as new user name; it will try reading the folder
uumail:<folder>. If this fails, Elm re-uses UserName from env:UserName or
uulib:Config, takes <folder> as a normal filename and opens it.
If you wish to read a folder from uumail:<folder> without changing
your user name to <folder>, use an absolute path. Elm does not change the
user name und does not try uumail:<folder> first, if <folder> contains one of
the characters ':' or '/'.
elm ?, -?, -h, -v
-----------------
Print version and configuration information.
-----------------------------------------------------------------------------
Additional Features
=====================
The mailer provides a facility for including customized header lines
in the messages you send. If you have an .elm/elmheaders file, the mailer
will include its contents immediately after the regular headers of all
outbound mail. Here's a typical .elm/elmheaders file:
Organization: Department of Fun & Games
Cc: bonzo@tic.tac.toe
X-Charset: iso-8859-1
These lines will appear after all other header lines in the message.
While running, Elm checks the mail folder on every action taken by
the user. Elm compares date and length of the folder with previous values
and re-reads the folder if it has been changed. This means you can run Elm
in background and Elm re-reads the actual folder automatically if new mail
comes in.
Elm tries to handle with your data files very safely. Before
re-writing a folder to disk, it is backed up to "<filename>.o" (normally
located in your mail directory "uumail:"). Therefore it should be very
difficult to lose some of your important data during a session.
-----------------------------------------------------------------------------
Aliases
=========
This part of the document is intended as a supplement to the Elm
Users Guide and is only of interest to those users desiring more knowledge
about how aliases work and how to create strange and exciting aliases for
their systems (okay, so maybe it's not that exciting!)
The most simple type of aliases in the Elm system are individual user
aliases. These are made up of two parts (separated by an equals sign '='):
aliasname list = address
Where the aliasname list is either a single aliasname or a list of
aliasnames separated by commas. Aliasnames can be any combination of
letters, numbers, dashes (`-'), periods (`.'), or underscores (`_'). Letter
case _is_ significant. That is `FRED' and `Fred' are _not_ identical.
Address is either the user's full electronic mail address or, if the
machine routing database is installed, the minimum address needed to specify
the destination. For example, say our routing database contained information
on how to get to machine `hp-sdd' and I wanted to have an address for my
friend Ken there - I could have his address specified as simply `ken@hp-sdd'
(or alternatively `hp-sdd!ken' since the two are functionally equivalent).
Let's get on to some examples, shall we?
Consider this excerpt from my own .elm/aliases file:
# Mail aliases for Dave Taylor
# Friends from UCSD
addie = addie@hp-sdd.SDD.HP.COM (Addie Silva)
frank,minjarez = Minjarez.Verify@dockmaster.arpa (Frank Minjarez)
pizzini = hplabs!ucbvax!ucdavis!pai!ken (Ken Pizzini)
Note that the alias for Frank Minjarez has two aliasnames associated
with it, frank and minjarez. Also notice that the first and second aliases
use the ARPA Internet style naming convention of user@machine whereas the
third uses the UUCP notation of machine!user. For the most part, the
notational format is transparent within the alias file - the only time it
does make a difference is if you have to specify more than the machine that
the user is receiving mail on (as in the third example above). Suffice to
say that if you must specify any sort of uucp route that you should use the
uucp notation as much as possible to ensure that the system expands the
correct machine name. Similarly, if you're bouncing mail through different
ARPA Internet sites (to get to a foreign system, as in the example below) you
should use the notation that system expects:
listserv%byuadmin.BITNET@rugters.edu
After the confusion of user aliases, group aliases are even more fun!
For the most part the notation is very similar;
aliasname list = list of people
Where aliasname list is exactly equivalent to the corresponding
fields in user aliases. The interesting part is the list of people field;
this field is actually in the same notation as the aliasname list, so it's
really quite easy to create. It's best to illustrate by example:
friends, mypals = joe, larry, mary, joanna, nancy, amk@zikzak
Each of the people in the list must be a defined alias (anywhere in
the alias file) or a valid mail address. It's allowed to use aliases as well
as complex addresses. (this differs from the original Unix Elm!)
The major limitation with aliases is that Elm does not has its own
alias editor. Create your aliases with your favourite text editor and save
this file to .elm/aliases. Elm reads in the alias list once upon startup.
You can change .elm/aliases at any time, but you have to quit and start Elm
again to take advantage of the changes.
If you have defined an alias twice Elm ignores the second one and
prints out a message.
-----------------------------------------------------------------------------
Installing
============
Copy the Elm binary to your dos search path (e.g. "uucp:c"), create
a configuration file (an example is included) and have all the assigns and
configs you need for AmigaUUCP. Username is taken from command line option
-f (it's very tricky, see above) then from env:Username and finally from
uulib:Config (if not found before). Nodename (Sitename) and Domain are
always taken from uulib:Config.
-----------------------------------------------------------------------------
Bugs, Infos, To Dos
=====================
REPORT:
Send bug reports, ideas, flames etc. to "elm-fan@zikzak.in-berlin.de" (UUCP).
INFO:
Major parts of this document are taken from the original Elm documentation
written by Dave Taylor (taylor@hplabs.hp.com).
TO DO:
- better handling of included mail-headers
- bounce mail
- faster load & save
-----------------------------------------------------------------------------
Elm (Amiga Elm) is (c) Copyright 1992,
Andreas M. Kirchwitz, all rights reserved.
Any possesor of this version "Elm" for the Amiga is hereby granted a
non-exclusive license permitting its use and/or redistribution, subject to
the following terms and conditions.
Permission is hereby granted to freely redistribute this version of "Elm" via
electronic bulletin board systems (BBS's), freely redistributable disk
collections (such as provided by Fred Fish), service bureaus (BiX, GEnie,
CompuServe, etc), and networks such as USENET, BITNET, and Internet, provided
that such distribution includes this unmodified License, and all of the
documentation files (README and .doc files), in addition to the executable,
and with all copyright notices intact. Access to the source code must also
be available and allowed.
Use of the "Elm" executable and docmentation in any environment, commercial
or otherwise is not restricted, and no fee shall be required for said use.
The use of the source code is also permitted in other freely redistributable
works, provided proper acknowledgement of the authors is given. The use of
the source code in a commercial product is prohibited without prior written
permission of the author.
Without prior written permission from the author, it is prohibited to sell or
otherwise convey this version of "Elm" for monetary or other forms of
compensation, other than the customery service and/or duplication fees as may
be charged by the distribution mechanisms identified above.
It is further prohibited, without prior written permission from the author,
to include this version of "Elm" in whole or in part, in the distribution of
any commercial hardware or software package, or component thereof.
This version of "Elm" is provided "as is", without express or implied
warranty. The author makes no claim or representation about the suitability
of this software for any purpose.
The author disclaims any and all warranties with regard to this software,
including all implied warranties of merchantability and fitness. In no event
shall the author be liable for any special, indirect, or consequential
damages, or any damages whatsoever resulting from loss of use, data, or
profits, whether in an action of contract, negligence, or other tortious
action, arising out of or in connection with the use or performance of this
software.
Andreas M. Kirchwitz
Seesener Str. 69
1000 Berlin 31
+49 (0)30 873376
Federal Republic of Germany
UUCP
------
amk@zikzak.in-berlin.de
amk@cs.tu-berlin.de
amk@methan.chemie.fu-berlin.de
IRC
-----
bonzo
MAILBOX
---------
Eprom's Datenhaus, +49 30 3722739, ID: Big Bonzo (Sysop)
Leguan's Byte Channel, +49 30 8122442, ID: Big Bonzo (Sysop)
-end-of-manual-