3.1 KiB
Apple II Email and Usenet News Suite
ATTACHER.SYSTEM
Automatically invoked when exiting EDIT.SYSTEM
when using the W
(write email), F
(forward email) or R
(reply) commands in EMAIL.SYSTEM
ATTACHER.SYSTEM
is used for attaching files to outgoing email messages. This program is started automatically by EDIT.SYSTEM
and is not normally invoked directly.
Here is how it looks when it first starts up - there are no attachments yet:
Using the file selector to choose an attachment:
Navigate up the to the top level 'Volumes' by repeatedly selecting the ..
entry and hitting Return
.
The navigate down to the directory of interest, select the file to attach and hit Return
.
Now ATTACHER.SYSTEM
shows there is a file attached.
When EDIT.SYSTEM
invokes ATTACHER.SYSTEM
, the following operations occur:
- The outgoing email message is loaded from
OUTBOX
and copied to a temporary file. While copying, additional email headers are appended to indicate that this is a MIME multi-part message. - A
plain/text
MIME section header is added to the email body (which becomes the first section in the multi-part MIME document.) ATTACHER.SYSTEM
loops until the user says they are done adding attachments:- Display the current number of attached files. Initially this shows
There are currently 0 attachments
. - Display a list of the files that have been attached so far.
- Prompt:
A)dd attachment | D)one with attachments
. - If the user chooses 'D' then we are done adding attachments. Exit the loop.
- If the user chooses 'A' then a file selector is shown, allowing the user to choose the file to attach. Navigate to the desired directory and select the file to be attached. Alternatively, you can hit the
Tab
key and type in the absolute or relative path to the file to be attached. - The selected file is loaded from disk and encoded using the Base64 algorithm. A MIME section is created in the outgoing email and the Base64-encoded file data is appended.
- Display the current number of attached files. Initially this shows
ATTACHER.SYSTEM
will terminate the MIME document, erase the original email file fromOUTBOX
and rename the temporary file to replace the original.ATTACHER.SYSTEM
will reloadEMAIL.SYSTEM
once it is done.
Here is how the Base64-encoded email attachment is encoded: