emailler/README-attacher.md

3.1 KiB

Apple II Email and Usenet News Suite

emai//er-logo

Back to Main emai//er Docs

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:

Attacher Startup

Using the file selector to choose an attachment:

Attacher File UI

Navigate up the to the top level 'Volumes' by repeatedly selecting the .. entry and hitting Return.

Attacher File UI

The navigate down to the directory of interest, select the file to attach and hit Return.

Attacher File UI

Now ATTACHER.SYSTEM shows there is a file attached.

Attacher with One File

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.
  • ATTACHER.SYSTEM will terminate the MIME document, erase the original email file from OUTBOX and rename the temporary file to replace the original.
  • ATTACHER.SYSTEM will reload EMAIL.SYSTEM once it is done.

Here is how the Base64-encoded email attachment is encoded:

Base64 Encoded

Back to Main emai//er Docs