This commit is contained in:
Bobbi Webber-Manners 2020-10-29 21:01:09 -04:00
parent 0f211764c7
commit df1fc96b91

View File

@ -14,9 +14,13 @@ 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` prompts the user to enter the filename of a file to be attached. This may be an unqualified filename (which will look in the directory the emai//er software is installed in), or a fully-qualified ProDOS pathname, such as `/H1/PATH/TO/MY/FILE.BIN`.
- For each filename, the file is loaded from disk and encoded using Base64. A MIME section is created in the outgoing email and the Base64-encoded file data is appended.
/////////// - After all the desired files have been added, enter an empty line to finish adding files.
- `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.