Workflow
Adapted from the Jaromail manual source. Copyleft © 2010–2023 Denis Roio. GNU Free Documentation License 1.3 or later; full permission notice.
This section goes through a scenario of simple usage for Jaro Mail
Fetch and read your mail at home
As you acces your computer where Jaro Mail has been configured, you can open a Terminal and type:
jaro fetchThis will download all new mails.
If you have configured fetchall among the imap account options, then will delete them from the server, freeing online space.
If you have configured the keep option, which is the default, Jaro Mail will only download the email that you have not yet read and in any case it won't delete anything from the server. Remove the keep option to delete on the server all emails that are downloaded.
jaroThis will launch mutt on the first folder containing unread emails, starting from the known folder, then priv, then all the destinations specified by Filters.txt exactly in the ascending order they are listed in that configuration file..
From there on, pressing = or c you can change to other folders and your unsorted mails.
Write a new mail
If you like to write a mail to someone, hit m and write the recipient address, you will be then asked about any additional Cc: recipients.
If you don't remember the emails of the recipients, you can just type their name or parts of the email you remember, then press the [ Tab ] key for completion. A list of addresses may popup with matches found in your whitelist addressbook to help remind who are you looking for.
The email is composed using a special Vim configuration that facilitates justifying text to 72 columns using [ ctrl-j ]. After composing the email you will be able to review it and change:
- the From: field using [ ESC f ]
- the recipient in the To: field using [ t ]
- the recipients in the Cc: field using [ c ]
- the subject string using [ s ]
You'll also be able to add more attachments by pressing a and use the arrow keys to move over the existing ones and delete them using [ D ] (please note that is a uppercase D, because lowercase d will just add a description for the attachment).
At last, when ready, pressing y will queue the email into the outbox, ready for sending.
One can review at any time the sending queue, which is just another maildir named outbox
jaro outboxMails can be deleted from this view using [ d ] or edited using [ e ] which will allow tweaking of both the header and body of the email.
Once sure the outbox contains all what needs to be sent, make sure the computer is connected to the Internet and issue the send command:
jaro sendJaro Mail will send all emails in outbox, one by one, listing their recipients and size while doing so. If successful, mails will be removed from the outbox and put into the sent folder, which can be accessed from inside mutt or with the command jaro open sent.
Write a new email from the commandline
Jaro Mail supports a lot of commandline operations based on stdin/stdout pipes, which makes it pretty easy to use in scripts that send emails and attachments.
If you have written a plain-text email using your favorite editor, you can send it quickly using the commandline: save the email into a txt file and then pipe it into jaro compose followed by a list of recipients and, optionally a list of filenames to attach. For example:
cat Greetings.txt | jaro compose friends@dyne.org picture01.jpg jingle02.mp3 ~/myicons/*The command above may send an email with various separate attachments (using MIME encapsulation): a picture, an hopefully small audio file and a list of icons which are all the files contained into the myicons/ directory. In this case the recipient will be friends@dyne.org, but may be any other email address found on the commandline in any position.
Once executed you will find this email in jaro outbox, ready to be reviewed and sent with jaro send.
Reply messages
While browsing through the index of emails in various folders, one can reply any of them just by pressing the [ r ] key, which will ask if the original message should be quoted and then open your favorite editor to compose your text.
If the email you are replying has been sent to multiple recipients (for instance using multiple addresses in the Cc: or From: fields) they will all be included, but you will have the possibility to exclude them by hand, editing the Cc: field. To remove them all at once use [ ctrl-k ] just like deliting a line on the terminal.
It is also possible to forward a message to someone else than the sender, for instance to submit it to his or her attention, or that of a mailinglist. To do that, you can use the [ f ] key which will present you with the full message and the possibility to write something on top of it, to describe its contents to its new recipients. Forwards include all attachments and are sent as attachments themselves, but this behavious can be changed as a confirmation to "send forward as attach" is asked.
Peek without downloading anything
If you are around and like to see your new mails without downloading them, then you can use the peek function:
jaro peekThis will open the default configured IMAP account and folder over SSL protocol (securing the data transfer) and allow you to browse, read and reply your emails without downloading them.
Using peek you can reply and even delete emails, but be careful since what you delete here will be removed from the server and won't be there when you download it from home.
This functionality can be also very useful if you are from a slow connection and need to delete some email that is clogging it and that you are not able to download because of its size.
The peek command will automatically open the INBOX, but also other remote imap folders can be specified, like for instance priv or unsorted if whitelisting is also setup server-side (the sieve filters generated by Jaro Mail need to be uploaded on the server). To have a list of imap folders on the server a command is also available:
jaro imap listfoldersWill list on the terminal all folders found on the imap account, one per line.
Save important emails for later
Sometimes one can be on the rush while reading emails (local or via imap) and flagging them as important can be useful to keep focus on priorities. In some cases it is very useful to save such important messages locally for later reference, for instance in a folder keeping messages that need to be remembered and that will constitute a kind of TODO list (a'la GTD).
Jaro Mail implements such functionalities: by pressing the [ F ] key (uppercase) one can flag an email, which will turn bright-green in the index. In addition to that there is a folder called remember/ where one can copy emails on the fly using the [ R ] key (uppercase) any time. Messages will be duplicated into the remember folder (which of course can be opened with the command jaro remember) so they can also be edited with annotations on the task they refer to, for instance using the [ e ] key, without affecting the original message.
Workflow in brief
Below a recapitulation of keys commonly used in our workflow
| Key | Function |
|---|---|
| m | Compose a new message |
| Tab | Complete addresses and folders input |
| r | Reply to the sender of a message |
| d | Delete a message |
| y | Send a message (queue in outbox) |
| f | Forward a message to new recipients |
| = | List all filtered maildir folders |
| c | Change to another folder |
| F | Flag a message as important |
| R | Copy a message to remember |
| s | Move a message to another folder |
| C | Copy a message to another folder |