@DATABASE YAMRexxTips.guide
@$VER: YAMRexxTips.guide 1.0 (December 1997)
@AUTHOR   John Pullicino <jjpull@pac.com.au>



@node main "        YAMRexxTips - AREXX scripts for Marcel Beck's YAM mailer"

@{fg shine}        ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ @{fg text} @{b}Y A M R e x x T i p s@{ub} @{fg shine} ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬  @{fg text} 
               @{I}- a guide to some ARexx scripts available for YAM@{UI}
@{fg shine}   ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬  @{fg text} 
                            @{"© 1997 John Pullicino" LINK "author"}  
                          @{I}(release 1 - December 1997)@{UI}


                           @{"Introduction         " LINK "intro"}
                           @{"Basic information    " LINK "binfo"}  
                           @{"The Scriptwriters    " LINK "writers"} 

    @{"                       T H E   S C R I P T S                          " LINK "Scripts"}
        @{"                   an alphabetical listing                   " LINK "Scripts"}

   
                           @{"Other YAM things     " LINK "5"} 
                           @{"Postscript           " LINK "ps"}

@{fg shine}   ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬  @{fg text} 
@endnode


@node intro "Introduction"
-@{i}why i wrote this guide@{ui}

       I wrote this guide to describe some of the many Arexx scripts that
       have been written to enhance the capabilities of YAM and to extend its
       usefulness, in the hope that more people will be encouraged to try them
       out.

       YAM is my favorite Amiga mailer, currently at version 1.3.5, although
       the much awaited version 2 is almost ready for release. It is written
       by Marcel Beck deep in the snows of Switzerland as a gift to the loyal
       tribe of Amigans around the world -@{i}merci marcel !@{ui}

       Marcel's email address is                 @{b}mbeck@access.ch@{ub} 
       and YAM's WWW page is at                @{b}http://www.yam.ch@{ub}

       There is also a YAM mailing list where all aspects of YAM are
       endlessly discussed and debated among YAM users, and of course
       with Marcel himself, when he takes a break from programming. To
       subscribe to the list, just send a message containing the text 
       @{i}subscribe yam@{ui} in the body to       @{b}listserv@tu-clausthal.de@{ub}.

       This is the first release of this guide, and further releases will
       become available, as more scripts are written and reviewed. Any errors
       you come across are my responsibility, not that of Marcel or the script
       authors. Praise should be directed to them - abuse to me.

                                 >next>@{"Basic information    " LINK "binfo"}
@endnode

@node binfo "Basic Information"    
-@{i}what you need to run the scripts@{ui}   

       1/ YAM installed and running beautifully (online or offline)
       2/ RexxMast running. Rexxmast is commonly kept in the System drawer
          of WB3, but it makes a lot of sense to put it in your WBStartup
          drawer
       3/ A drawer inside YAM, why not call it REXX, in which you keep the
          scripts themselves

NOTE:  In YAM you'll find an @{i}Arexx @{ui}menu item, with its own menu
       item called @{i}Execute Script...  A[x]@{ui} which will open up a
       requester displaying all the scripts in your Rexx drawer.

       You can add up to ten scripts as menu items in this menu, by loading
       the .config file into an editor and append one or more lines like :

              RexxMenu0 = YAM:Rexx/Edit.rexx
              RexxMenu1 = YAM:Rexx/Search.rexx
                     etc
       You may define up to 10 menu items. Save the .config file and
       (re)start YAM.

       Finally, look at each script for any modifications you may need to
       make inside the script to adapt to your setup.

 >next>@{"Scripts Directory    " LINK "Scripts"} 

@endnode

@node Scripts "Scripts Directory"
 -@{i}the scripts@{ui}                                        @{"  Back to the main page  " LINK "main"}
@{fg shine}-------------------------------------------------------------------------------@{fg text}
       @{" Anonymize.rexx       " LINK "11"}-@{i}hide your identity when mailing@{ui}     
       @{" ArchiveFolder.rexx   " LINK "12"}-@{i}Archives messages in any folder @{ui} 
       @{" Archivemsgs.rexx     " LINK "13"}-@{i}Archives selected messages@{ui} 
       @{" Beheader.rexx        " LINK "14"}-@{i}Strips header material from messages@{ui}   
       @{" ChangeBound.rexx     " LINK "15"}-@{i}Makes MIME'd mail readable@{ui} 
       @{" ChangeStatus.rexx    " LINK "16"}-@{i}Changes message status@{ui}  
       @{" ChangeSubject.rexx   " LINK "17"}-@{i}Changes message subject@{ui} 
       @{" CheckNewMail.rexx    " LINK "18"}-@{i}Finds any unread messages@{ui}  
       @{" DeleteFolder.rexx    " LINK "21"}-@{i}Deletes all messages in a folder@{ui}
       @{" DeleteOld.rexx       " LINK "22"}-@{i}Deletes all messages prior to set date@{ui}
       @{" Edit.rexx            " LINK "23"}-@{i}Sends message to your external editor@{ui}
       @{" FixQuotes.rexx       " LINK "24"}-@{i}Removes unsupported characters@{ui}
       @{" GetAddresses.rexx    " LINK "25"}-@{i}Collects addresses from messages@{ui}
       @{" GrabAllURLs.rexx     " LINK "26"}-@{i}Collects URL's from folder@{ui}
       @{" GrabURL.rexx         " LINK "26"}-@{i}Collects URL's from message@{ui}
       @{" MakeDigest.rexx      " LINK "27"}-@{i}Collapses many messages into one@{ui}
       @{" MakeHotlist.rexx     " LINK "28"}-@{i}Collects URL's into a file@{ui}
       @{" MakeList.rexx        " LINK "29"}-@{i}Collects addresses for mailing list@{ui}
       @{" MiamiYAM.miami       " LINK "30"}-@{i}Starts YAM when Miami connects@{ui}
       @{" RandomSample.rexx    " LINK "31"}-@{i}Plays random sample to announce new mail@{ui}
       @{" Search.rexx          " LINK "32"}-@{i}Finds messages containing a given word@{ui}
       @{" Showsubjects.rexx    " LINK "33"}-@{i}Adds the subjects as  filenotes to the messages@{ui}
       @{" SigReply.rexx        " LINK "34"}-@{i}Enhancement to the Reply function@{ui}
       @{" StripMail.rexx       " LINK "35"}-@{i}Removes attachments from a message@{ui}
       @{" WholeStory.rexx      " LINK "36"}-@{i}Collapses many messages into one textfile@{ui}
@{fg shine}-------------------------------------------------------------------------------@{fg text}
@endnode

@node writers "The Scriptwriters"   
       @{i}The Scriptwriters@{ui}                        @{"  Back to the main page  " LINK "main"}

@{b}Kai Nikulainen @{ub} <kajun@sci.fi>   http://www.sci.fi/~kajun
@{fg shine}-------------------------------------------------------------------------------@{fg text}
Kai is a 28 year old student of computer science at the University of Turku 
(on the sw coast of Finland). When he's not writing another rexx script, he
goes on-line, and his record for playing a MUD non-stop is a bit over 36 
hours!! He quit smoking on January 22nd 1996 at 4:15 PM, (not that he misses
it that much...) and his only remaining addiction is the X-Files. He mostly 
reads fantasy and science fiction, and listens to music by Adiemus, Enya, 
Enigma, Jarre and Vangelis but his all time favourite band is Rainbow.  

@{b}Dick Whiting@{ub} <dwhiting@europa.com> http://www.europa.com/~dwhiting
@{fg shine}-------------------------------------------------------------------------------@{fg text}
Dick is a full-time father from Oregon USA, who has homeschooled his 2 children
for the past 6 years. When not chauffeuring the kids, volunteering for the youth 
orchestra, etc., he enjoys using and programming on his A4000, and is currently
learning C. He is the author of YAMTools, as well as a number of these scripts.


@{b}Charles Patterson@{ub} <midian@AZSTARNET.COM>  http://www.azstarnet.com/~midian
@{fg shine}-------------------------------------------------------------------------------@{fg text}
Charles lives in Tucson Arizona with wife Pam, and daughters Amanda and Autumn,
and works with America Online. An ex-marine, he now spends all his energy
working on publishing a computer magazine, 2D and 3D animation, creating web
pages and at being a good husband and father. In his spare time he watches
Gargoyles, The X-Files, and reads anything by Clive Barker and Michael Crichton.

       @{i}> next >@{ui} @{" Scripts Directory  " LINK "Scripts"} 
@endnode

@node 5 " Other YAM things"
-@{i}what else to look at@{ui}

       YAM 1.3.5 is an excellent mailer with a large group of admiring
       users, whose enthusiasm is often only matched by their impatience
       to install YAM 2, which is about to be released.

       Whether a lot of these scripts will be made redundant remains to
       be seen, and the same may apply to these other programmes, which
       are still worth a look, to see how they may help you get the most
       out of YAM.

       @{"YAMTools        " LINK "6"}
       @{"YAMexpansion    " LINK "7"}
       @{"MPDMailPostV2   " LINK "8"}
       @{"TheTagThing     " LINK "9"}
       @{"RexxOpt         " LINK "10"}

       
@endnode
@node 6 "YAMTools  "
       @{u}YamTools 2@{uu}                                @{"Dick Whiting" LINK "writers"}
       available at http://www.europa.com/~dwhiting  and Aminet
@{fg shine}-------------------------------------------------------------------------------@{fg text}

 YamTools v2.0 by Dick Whiting is a MUIRexx programme which adds a powerful
search function to YAM, as well as allowing you to run ARexx scripts against
selected folders, selected mail, or all mail in selected folders. It needs
a couple of other programmes to run (explained in the documentation), but
comes with an array of specialised rexx scripts.

It has a highly configurable MUI interface, with bubble help available for
all gadgets, lists, etc., and you end up with buttons for all your rexx
scripts in a scrollable window - there are up to 800 buttons available!

Being so powerful, it takes a bit of getting used to, but the effort is
worth it.

       @{i}a lot of configuration possible - instructions in docs@{ui}

       @{"back to Other YAM things " LINK "5"} 
@endnode

@node 7 "YAMexpansion "

       @{u}Yamexpansion 1.9@{uu}  by  Diego 'dx0' de Felice <d.defelice@ba.nettuno.it>
       available at http://www.pegacity.it/abita/1360/INDEX.HTM and Aminet
@{fg shine}-------------------------------------------------------------------------------@{fg text}

YamExpansion is a collection of ARexx scripts that expands the operations
of YAM. Like @{"YAMTools" LINK "6"}, it is a is a MUIRexx programme, and combines 
a configurable MUI interface with the following scripts:

-a script to create an HTML page that contain the archives listed
     in an Aminet recent list.
-a script to create ftmmails or AmFtp batch files that contain the
     archives listed in an Aminet recent list.
-a script to add a random signature to an email
-a script to add a serious signature to an email
-a script to add an informal signature to an email

       @{i}a lot of configuration possible - instructions in docs@{ui}
       @{"back to Other YAM things " LINK "5"} 

@endnode

@node 8 "MPDMailPostV2   "

       @{u}MPDMailPostV2@{uu}   Andrew Kellett <mushypd@redrose.net>
       available at http://www.mushy-pd.demon.co.uk or Aminet
@{fg shine}-------------------------------------------------------------------------------@{fg text}

YAM does have built in functions allowing multiple mail posting, that
is writing a message and sending it to more than one recipient with a
degree of automation, using CC: and BCC: in the write window, or
compiling individual mailing lists in the Addressbook window. 

With large lists, often some addresses become anulled for unknown 
reasons, and the possibility of generating mailing errors increase.
This programme tries to avoid this problem by sending the same
message seperately to each recipient from inside YAM.

With MPDMailPost, you write the complete message in a text editor,
and import it using the GUI. Then you select the list it is to be
sent to, and each recipient appears in YAM's Outgoing folder as
an individually queued message.

Each list must be in ASCII and in this format: e.g.

mbeck@access.ch               ( each address
kajun@sci.fi                  (  on its 
dwhiting@europa.com           (   own
midian@AZSTARNET.COM          (    line
.etc..
.etc..
*                             ( The last line of the file
                              ( followed by an ENTER press.   

You can either manually create these lists and store them, or use
@{"MakeList.rexx" LINK "29"} to extract addresses from messages in
your YAM folders.

Another way strangely enough is to use @{"TheTagThing" LINK "9"} a new
programme which does far more than send taglines to messages.  

       @{i}a lot of configuration needed - instructions in docs@{ui}
       @{"back to Other YAM things " LINK "5"} 
@endnode
@node 9 "TheTagThing"

       @{i}TheTagThing@{ui}  Jody Tierney  <jtierney@cyberlink-inc.com>
       available from  http://www.cyberlink-inc.com/jtierney or Aminet
@{fg shine}-------------------------------------------------------------------------------@{fg text}

TheTagThing is a sort of tagline chooser/inserter.  However, it isn't
limited to taglines; it could also be used for HTML or AmigaGuide tags, 
(files with all the HTML and guide commands are provided - I used them
extensively in writing this guide - thanks Jody!) Likewise, it isn't 
fussy about where the tags or commands are sent -  YAM, CED and even
to the SPEAK: device to have the lines 'spoken' at you.

So I used it to compile the maillists for @{"MPDMailPostV2" LINK "8"}by
saving the .addressbook file from YAM, loading it into TheTagThing, and
clicking each address I wanted and sending it to CED, adding the required
 " * " to the last line and saving it as a maillist in the MPDMailPost
drawer where the lists are kept.


       @{i}a lot of configuration needed - instructions in docs@{ui}
       @{"back to Other YAM things " LINK "5"} 
@endnode

@node 10 "RexxOpt  "  

       @{u}RexxOpt@{uu} 1.8    Ulrich Sibiller        Usenet: <pets@pizza.tynet.sub.org> 
       available from Aminet
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Rexx scripts are just textfiles with embedded recognised commands, and are
therefore not actually very large. The ones referred to here range from
about 500 bytes to about 6000 bytes. Because they often need configuration,
the authors traditionally add instructions and comments throughout the
script. When you have successfully configured and tested the script on your
setup, you actually don't need all the instructive material for the script 
to run, and removing that material with RexxOpt can actually speed up
operations to varying degrees, as well as a bit of spacesaving.

Since I have so many rexx scripts in my YAM/Rexx drawer, I have found
this a simple fast way of achieving both aims. @{b}BUT@{ub}I always keep
a copy of the original, and my customised version archived somewhere, just
in case, and I avoid circulating anything other than the original.

Note: In my experience you cannot successfully optimise rexx scripts which
use MUIRexx applications.

Using RexxOpt does not mean you cannot still edit them, but the scripts
may be harder to examine, although there are several modes in which to
work - from one single string of what looks like "spaghetti code" to
more readable forms of presentation.

       @{i}some configuration possible - instructions in docs@{ui}
       @{"back to Other YAM things " LINK "5"} 
@endnode


@node 11 "Anonymise.rexx"
       @{u}Anonymise.rexx@{uu} v1.0 (Oct 1997)  @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun  
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script allows you to select messages in the Outgoing folder, and to send
them anonymously, so that the recipient cannot trace who it is from. 
(Note: some mailing lists may object if you use it for mails to the list)

When you run it, a window appears to remind you to delete your signature if
you want to. You can either quit and go check whether you have, or anonymise
anyway. A handy script for the true lurker.

       @{i}no configuration needed@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 12 "ArchiveFolder.rexx"
       @{u}ArchiveFolder.rexx@{uu} 1.2  02-Jun-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun  
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script renames messages in a folder to their subjects and moves them 
into a .lha archive. Very useful as your YAM folders get bigger and bigger.
Before I actually archive a folder, I usually do a bit of work first, using
using @{"Edit.rexx" LINK "23"} on each message I want to keep, to snip out all the 
overquoting and any huge sigs, and @{"Beheader.rexx " LINK "14"} to trim off the
excess header material from all the messages, and even @{"ChangeSubject.rexx" LINK "17"} 
when the existing one isn't very indicative of the contents of the message.

Now I can run ArchiveFolder.rexx on the folder. A requester appears on
my YAM screen to select the archive name and destination, and clicking 'OK' or
the 'return' key executes. Yam disappears while the script works,and reappears
with an empty folder. An output window on the Workbench screen reports what
the script has done. In my destination drawer ( I configured to Ram:) there
is now an .lha file, which when expanded has the messages identified by their
subject. 

Notes: The saved texts can't be imported into YAM again. If you want that
       as a future option, you need to use @{"Archivemsgs.rexx" LINK "13"} instead
       
Kai advises not to add messages to an older archive, because that 
       could cause clashes with filenames and all messages would not be saved.  

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 13 "ArchiveMsgs.rexx"
       @{u}ArchiveMsgs.rexx@{uu} 1.1  (14 Jun 97) @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun  
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Like @{"ArchiveFolder.rexx" LINK "12"} this script is useful in storage of messages,
and freeing up valuable space in your YAM folders and hard drive. But whereas 
ArchiveFolder.rexx renames all the messages in a folder to their subjects and
moves them into an .lha archive, which makes them unusable by YAM, 
@{b}this@{ub} one archives messages with a given string in the subject, without 
renaming, so you can later simply dearch them into a Yam folder and 
read/reply etc as before.

I usually highlight a message with a telltale subject, because this will
become the default selection string (of course you can change this)
then i select ArchiveMsgs.rexx. I get a requester with the default
destination (as set in the script ) and  a default name for the archive
(the name of the folder PLUS the date, because of my 'yes' setting for
AddDate) - both of these can be changed of course.

Clicking OK (or return) brings a requester to select a subject pattern
which will select which messages are archived. The subject of the message
I highlighted earlier will be in the search string between 'wildcard' 
asterisks. If I leave this only messages with that subject will be 
archived and deleted from the folder. If i just leave an /e/ all messages
with /e/ in the subject will be archived and deleted. On my WB screen there
is an output window listing the messages selected for archiving, and on my
YAM screen a requester asking whether to Archive or Exit the script.
Selecting /Yes/ will archive those messages to my default drawer with the
default name and date as an .lha file, which if unarched will be intact for
further use in YAM.

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 14 "Beheader.rexx "
       @{u}Beheader.rexx@{uu}  1.0 ( 31-Oct-97)  @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun  
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script allows you to strip all the mail in the current folder of all the
header material that you configure it to remove. many mails you want to keep
are mercifully brief, but still have up to 1K in header material.
You can choose which of the following headers to exclude from the strip:
From: To: Reply-To: Subject: Date: Organization: Content-type: Message-ID:
I have kept all these other than /Organisation/ , but still manage to trim an
appreciable amount of kbytes on folders- and the script actually reports to yo
the amount saved, as well as prompting you to update the index to see the
change.

This script, like @{"Edit.rexx" LINK "23"}, @{"ArchiveFolder.rexx" LINK "12"} and @{"Archivemsgs.rexx" LINK "13"}
can really help when you want to save space and store valuable messages in
a logical and retrievable way.

       @{i}some configuration possible - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 15 "ChangeBound.rexx  "
       @{u}ChangeBound.rexx@{uu} 1.0 (July 1997) @{"Dick Whiting" LINK "writers"}
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Sometimes the 'boundaries' that are used by MIME'd mail make it difficult or
impossible for YAM to read. This script scans the highlighted message, changes
any boundaries needed to make it readable in YAM, reports to you if it is ok,
and invites you to update the index.

       @{i}no configuration needed@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 16 "ChangeStatus.rexx"
       @{u}ChangeStatus.rexx@{uu} 1.0     @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun  
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script lets you change the current message to new, unread, read 
or replied.  A simple script for those odd occasions! When you highlight
a message and execute the script, you get a requester displaying the
subject and four buttons @{i}New, Unread, Read, Replied@{ui} to choose from.
Clicking on one brings a second requester giving you the option to update
the index. You can configure the script to omit this request, but when a 
folder is very full update can take a while each time - i prefer to do an
update after i've done all i want to do in the folder.

Note: Kai had an earlier script called Unread.rexx, which this one
      supercedes

       @{i}some configuration possible - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 17 "ChangeSubject.rexx "
       @{u}ChangeSubject.rexx@{uu} 1.0 (30 Aug 1997) @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Sometimes you may need to change the subject given to messages, to make it
easier for you to identify them, or to group them before applying other
scripts. Often the subject has nothing to do with the contents, because it
is has been retained from an earlier message by someone else.

ChangeSubject.rexx displays a string requester and lets you change the 
subject of the current message. The new subject won't appear until you 
update the index, but you /can/ set 'yes' on the auto-update option in the
script. I have that on 'no', because often the folder is very full and it
saves time to do just one update after a session of subject changing.

       @{i}some configuration possible - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 18 "CheckNewMail.rexx"
       @{u}CheckNewMail.rexx@{uu} 1.6 (9 july 1997) @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script checks if there are new or unread messages in Yam and 
reports in which folders they are. if you have configured Yam to filter 
incoming mail and send some to allocated folders, this script will quickly
scan all your folders (max is set by default to 20, but this can be increased,
otherwise you dont need to modify the script at all)

When you run it, it will close the Yam screen to speed things up and then
report if and where your new unread mail can be found.

       @{i}some configuration possible - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 21 "DeleteFolder.rexx
"       @{u}DeleteFolder.rexx@{uu}1.0  (May 1997) @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

A simple script which quickly deletes all messages in the current folder.
Can be configured to send or not send a 'confirm deletion' message. I think
it is essential to retain this confirmation stage, because when executed,
the script will delete AND remove the messages, the @{i}Undelete@{ui} button
on YAM can't restore them. Use with care.


       @{i}some configuration possible - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 22 "DeleteOld.rexx   "
       @{i}DeleteOld.rexx@{ui}  1.0  (22 Nov 1997) @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script marks all messages in the current folder older than a set 
date as deleted. Or you can configure it to delete and remove as with 
@{"DeleteFolder.rexx" LINK "21"}
A confirmation requester reminds you of the date you have configured, before
the marking takes place. If it finds and marks such messages, you can use 
YAM,s @{i}Undelete@{ui} button to restore them.

       @{i}configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 23 "Edit.rexx "
       @{u}Edit.rexx@{uu} a long time ago! @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}
  
Edit.rexx is a tiny script (363 bytes!)  that can be very useful. 
It quickly edits a message in any folder.  Just select a message and
execute it and it will open your text editor with that message ready 
for editing.

The scriptline it comes with is for memacs
       address command 'sys:tools/memacs' result 'GOTO 12' 

but i edited this script itself to find my editor...CED

       address command 'dh1:utilities/ced/ced' result 

for CED 'result' means you get one page and the message already
loaded. you may have to read your editor docs to suit your setup

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 24 "FixQuotes.rexx"
       @{u}FixQuotes.rexx@{uu} 1.0 - 15-Mar-97  @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Email messages arrive from all sorts of places on all sorts of platforms.
This script removes any of those annoying squares from a message which are
displayed if your font doesn't support all characters.  

Simply select a message and run the script.

       

@{i}no configuration needed@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 25 "GetAddresses.rexx "
       @{u}GetAddresses.rexx@{uu} v1.2 - 24-Sep-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script scans messages for email addresses, displays them, and sends them to
YAM's address book or write window. When you run the script, you get a requester
asking whether to search all the messages in the current folder, or just the 
selected message. Then the number of addresses found is displayed, together 
with the addresses themselves. Each address has a corresponding button, which
if selected then asks whether to save the address, or to write to it. Selecting
'write' will open up YAM's write window with the address already in the 
textfield. Selecting 'save address' brings a sequence of textfields to accept 
or change the name, address, alias, and description, and a window then reports 
the information which will be added to the addressbook if you proceed. Then 
the script returns you to the original display to repeat with as many other 
addresses as you want. Selecting Reload in YAM's addressbook will now show
all the addresses saved by the script, for you to delete or save.w

        @{i}no configuration needed@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 26 "GrabAllURLs.rexx "
       @{u}GrabAllURLs.rexx@{uu} 1.3 - 29-Jun-97  
       @{u}GrabURL.rexx@{uu}     1.5 - 29-Jun-97   @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Both these scripts perform the same function - to grab URL's from your YAM mail 
and either send them to your browser or to a specified file for later use.

@{b}GrabAllURLs.rexx@{ub} displays all URLs from the read messages in the current 
folder, while @{b}GrabURL.rexx@{ub} displays all URLs from the current message.
You can then select @{b}one@{ub} URL to send to the browser, or if it's not
running, to the specified file. When you do go online, this file can be loaded
as a local file, the sites visited, and if you want to then add them to the 
browser's bookmark file.

When you run either script it will search the folder or message and display
found URLs in a requester with numbered buttons for each one found ( you can
configure the maximum number of URLs and buttons) - if there are no URLs, 
youll be told. (note: it will miss URL's which dont have the@{i} http://@{ui}
at the beginning ) 
When you click on a numbered button, that URL will be sent to your browser if
it is already running - if it isn't youll get another requester asking whether
you want to now run the browser, or add that selected URL to the hotlist file
or exit without doing anything.

see also @{"MakeHotlist.rexx" LINK "28"} which handles more than one URL at a time.

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode

@node 27 "MakeDigest.rexx"
       @{u}MakeDigest.rexx@{uu} 1.2 04-Sep-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script selects all messages in a folder according to a subject, or within
a specified range of dates, and collapses them all into a new message with a
separator line between each of the former messages. An excellent way to save
space and time searching amd opening many messages later. Once joined by this 
script, it's easy to run @{"Edit.rexx" LINK "23"} on the new message and cut
out superfluous text, leaving a coherent concise message on one topic.

When you run the script, you get a requester to choose the selection criteria.
If you choose @{i}By Date@{ui} you are asked to enter the first date, and then
the number of subsequent days to join , then a requester to confirm or change 
the selected range. If you choose @{i}By Subject@{ui} you are asked to enter
the subject, (wildcard selection is possible, and if you highlight a message 
prior to running the script, the subject will already be entered).

Then you get a requester to enter a subject for the digest (the name for the 
new message) and another allowing you to exclude any or all of the header types,
as these may not be of interest to you (@{i}Reply to: To: Date: Subject:
From: Content-type: Sender@{ui}) Then the script scans the folder, and when it
finds the first relevant message, asks you to specify who to record as the 
sender. Then it continues to scan, marking each file it finds as deleted, 
and finally creating the new file.   See also @{"WholeStory.rexx" LINK "36"}

       @{i}no configuration needed@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode
@node 28 "MakeHotlist.rexx "
       @{u}Makehotlist.rexx@{uu} 1.2 - 03-Jun-97  @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script searches for @{b}all@{ub} the URL's in the current folder, or in a 
selected message, saves them to a specified file with the URLs as hotlinks, 
and sends it immediately to your browser if it's open.
When you run the script you get a requester asking whether to search in all 
the messages in the folder or just the selected one. If none are found you 
will be advised. Once the search is done, if your browser is already running,
youll get a message telling you the hotlist has been sent there, and if you 
cross to your browser, youll find the URLs listed there as hotlinks, with the
identifying subject of the mail each was found in. You can now visit those 
addresses, or add them to your bookmarks for later use.
If your browser isnt running you get a message saying the hotlist has been
saved (as per the configuration ) and asking whether you want to run the 
browser now or quit.                      See also @{"GrabURL.rexx" LINK "26"} 
                                          and      @{"GrabAllURLs.rexx" LINK "26"}

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 29 "MakeList.rexx "
       @{u}MakeList.rexx@{uu} 1.0 -4-dec-97   @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

@{"MPDMailPostV2" LINK "8"}  is a new small GUI-based programme to simplify 
the sending of the same message to configurable lists of recipients,
and it supports YAM. This script was written to compile those lists from
addresses in YAM messages in a format used by the programme.

When you run the script, a filerequester appears with the default directory and
filename. (RAM:templist, but you can change it). If you ran it without a 
message highlighted, the script will now scan the whole folder for addresses.
If a message was highlighted, you will get a requester asking you whether to
search in the current message or in all. Then the number of found addresses
is reported with each address and a corresponding button. Selecting buttons 
in turn will report each address to be added, allowing you to skip it, and then
go bck to the display list for more. Each address selected will be appended to 
that file while it remains there, allowing you to move from folder to folder
building up that mailing list. The file is a text file so it can be edited
later, and it may be better to add addresses if in doubt, and delete later.

      @{i}no configuration needed @{ui}       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 30 "MiamiYAM.miami"
       @{u}MiamiYAM.miami@{uu} 1.1 26 JUL 97  @{"Charles Patterson" LINK "writers"}
       available at  http://www.azstarnet.com/~midian 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script will run YAM, if it isnt already running, and download new mail as
soon as Miami goes online. It therefore goes in the Miami/Rexx drawer, not 
in the YAM/rexx drawer. If there was email, it plays user defined sound.

To set it up
1) Put the script in Miami/rexx 
2) In Miami, Events, Online set to ARexx
3) Type @{i} Miami:rexx/MiamiYAM.miami@{ui} in the string gadget
4) Edit the script to the paths to where @{i}Play16@{ui} and where you
   keep the sound you want to be played
       
see also @{"RandomSample.rexx" LINK "31"}@{i}@{ui}

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode


@node 31 "RandomSample.rexx"
       @{u}RandomSample.rexx@{uu}              @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script plays a random sample whenever YAM receives new mail, either at
startup, or at YAM's configured periodical checks.

To set it up
1) Copy the script to YAM:Rexx                                               
2) Set YAM settings for 'New mail reporting' to external program             
3) Type @{i}sys:rexxc/rx >nil: yam:rexx/RandomSample.rexx@{ui} 
   into the string gadget.
4) Configure the script to the total number of samples (up to 1000 !)
   and enter the full path to each soundfile as shown in the script.

 Note: If you also have  @{"MiamiYAM.miami " LINK "30"} in use, you'll get 
       @{b}both@{ub} sound samples at the first download of new mail!

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode


@node 32 "Search.rexx"
        @{u}Search.rexx@{uu}   1.1 - 05-Feb-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script will tell you which messages in a folder contain a particular 
word - it is not case sensitive, it does not however support wildcards, so 
type the whole word. And it does not work on the @{i}Outgoing@{ui} or@{i}Sent@{ui} folders.

When you run the script you get a requester to enter the word to search for.
Enter and click OK or press Return. You can then choose where to search, in
@{i}All, Read, Unread @{ui}or @{i}Replied@{ui} messages, and then whether to start the search
at the first message or the highlighted one. The script will begin its
search and stop on a message containing that word, and you can open it up 
then or wait till the search is finished by clicking on @{i}Continue search.@{ui}.

A requester will then display the number of messages with the word, and each
message with a corresponding numbered button. These buttons do not open the
message, they remove them from the display. You have to open each message
from the folder as usual. If more than 9 messages are found, a @{i}Scroll@{ui} button 
takes you to the next nine. Clicking @{i}Cancel@{ui} or @{i}Done@{ui} will exit from the script.

@{i}no configuration needed @{ui}       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode


@node 33 "Showsubjects.rexx"
       @{u}Showsubjects.rexx@{uu} 1.1 - 01-Jun-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script simply adds the subject of each message in a folder to a 'filenote'
for that message, so when you see them in a Directory utility or a shell, you
can easily identify them.

06875.003      1114 ----rwed 31-Oct-97 22:30:42
06937.001       623 ----rwed 31-Oct-97 22:30:39

become

06875.003      1114 ----rwed 31-Oct-97 22:30:42: O @{i}Re: Shuffle off to Buffalo@{ui}
06937.001       623 ----rwed 31-Oct-97 22:30:39: O @{i}Re: ChristmasGreetings@{ui}

NOTE: if you change the status of a message eg. from read to unread, the
      filenote will disappear - you'd have to run the script once more!

       @{i}no configuration needed @{ui} 

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node 34 "SigReply.rexx "
       @{u}SigReply.rexx@{uu}  1.1 -20 Jul 97-  @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

Starting the script is just like pressing 'Reply' with two exceptions:
1. It let's you to choose whether to use From: or Reply-To: address
2. It changes your signature depending on the domain of the sender.

I use it simply to ensure I reply to the private email address of someone
who's posted to a mailing list. I run the script on a highlighted message
and get a requester displaying both addresses. Choosing the @{i}From:@{ui} will
open YAM's write window with the private address, choosing the@{i}Reply to:@{ui} will
use the mailing list address - it can save a lot of embarrassment!

Its other function assigns different signatures to different uses,
determined by a file called @{i}YAM:sigs.txt@{ui} which the script will
create for you the first time you use it. You'll then have to edit it,
using this format...
@{b}@ .fi .se .au@{ub}          [chooses these domains]
@{b}cheers,   @{ub}             [ this         ]
@{b}your old pal,@{ub}          [  signature   ]

@{b}bob   @{ub}                 [     is used  ]
@{b}@ .de .com @{ub}            [another set of domains] 
@{b}best regards,@{ub}          [   another    ]
@{b}stay happy,   @{ub}         [  signature   ]
@{b}robert @{ub}                [   is used    ]

etc etc, until you get to the last one which has no domains eg
@{b}@
byebyebye
your old buddy
roberto@{ub}

NOTE: The lines after this last @-line are used as a default signature. 
Default signature is used when a domain can't be found from above @-lines.
The script restores your signature to a default value in file 'YAM:orig.sig'
so when you are writing a message instead of replying one a same signatur
is always used.  It's also better dealing with different formats of
address headers.

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 

@endnode
@node 35 "StripMail.rexx "
       @{u}StripMail.rexx@{uu}  1.1      @{"Dick Whiting" LINK "writers"}
       available at  http://www.europa.com/~dwhiting
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script will strip a message of the attachments it has, and replace it
with a message at the end  @{i}Stripped Attachment: blahblahblah@{ui} 
When the script is done you get a message reporting that its been stripped
and inviting you to do an Update index to see the new size of the message.

I use it when I want to keep the text, but have already saved the attachment
to where I am using it.

       @{i}no configuration needed @{ui}

       @{"back to Scripts Directory    " LINK "Scripts"}


@endnode

@node 36 "WholeStory.rexx"
       @{u}WholeStory.rexx@{uu} 1.6  04-Sep-97 @{"Kai Nikulainen" LINK "writers"}
       available at  http://www.sci.fi/~kajun 
@{fg shine}-------------------------------------------------------------------------------@{fg text}

This script finds selected messages in a folder according to subject, joins
the contents into one textfile, and marks those messages as deleted.

When you run it, you get a requester to enter a string pattern for the
subject you want to be selected. You @{i}could@{ui} use @{"ChangeSubject.rexx" LINK "17"}
beforehand, if some subject titles for messages you want to include arent
going to be trapped by the string pattern.

Next a requester asks you if you want to include all senders, or limit it to
the sender of the highlighted message. All found messages are displayed, 
and you can now combine them or change the order in which they will be
combined. When you are finished, a file requester asks you where to save 
the file to. You can configure which directory appears here, and you can
enter or change the name the file will have. Finally a message tells you
that the texts have been saved, and the messages are marked as deleted.

NOTE: You have to have 'Delete on exit' option set on in YAM configuration.

See also @{"MakeDigest.rexx " LINK "27"} which joins selected messages into a new
message, not a textfile.

       @{i}some configuration needed - instructions in script@{ui}

       @{"back to Scripts Directory    " LINK "Scripts"} 
@endnode

@node Author "Author"
       John Pullicino                          @{"back to Scripts" LINK "Scripts"} @{"back to Main" LINK "main"} 
@{fg shine}-------------------------------------------------------------------------------@{fg text}
       I am a 50 year old lawyer/farmer/songwriter/amigafanatic
       living on a small farm on the Mornington Peninsula in
       Victoria Australia. I got my first Amiga on a wintry
       night in 1986, and have hardly spent more than ten
       minutes in front of any other platform. I have never
       written any programmes at all, and my only foray into
       Arexx has been to modify other peoples scripts, to 
       customise the messages and the colour of the text !

       I wanted to write this guide to encourage more
       people to discover the power of these scripts, and
       to pay tribute to their writers, whose ingenuity
       astonishes me.

       I will be very surprised if I haven't made mistakes
       in this guide - hopefully not too many serious ones.
@{fg shine}-------------------------------------------------------------------------------@{fg text}
       @{i}send your comments corrections and criticisms to :@{ui}
@{fg shine}                         jjpull@pac.com.au
@endnode

@node ps "Postscript"
       @{u}thanks and apologies@{uu}           @{" main page  " LINK "main"} @{" Scripts Directory " LINK "Scripts"} 
@{fg shine}-------------------------------------------------------------------------------@{fg text}
       This guide covers 25 rexx scripts, and 5 other programmes - far more
       than that have been written, and I have chosen the ones I have come
       across, learned how to opreate, and found useful.

       If anyone is offended by the omission of their favourite script,
       channel that pent up fury into a constructive contribution along
       the lines of those that do appear here - I am sure that there
       will be further releases which will expand or contract the list
       depending on the features included in YAM2, and depending on
       whether anyone has found the guide useful.

Thanks to Marcel Beck for YAM, and for his encouragement
       to Kai Nikulainen for his patience and tolerance
       to Dick Whiting for raising his kids so well
       to all those on the PureAmiga mailing list for my sanity
   and to all the scriptwriters for their ingenuity and commitment to the AMIGA


@{fg shine}---------------  feedback = nourishment  <jjpull@pac.com.au> -------------------@{fg text}
@endnode




