Package: wemail
WEmail(Or, Wayne's Email)I really love command line tools. Alpine has been a favorite of mine and Mutt
is also a rather useful mail client. But I wanted to do some things
differently, so I'm working on this project, WEmail.It's designed for use with my other projectOrouboros, a mailserver that
cheerfully violates all kinds of standards for MTAs.To get started, you'll want to create a~/.wemailrcfile. It's a JSON file,
because aside from the pesky inability to have trailing commas, it's pretty
good otherwise. Here's a sample one to get you started:{
    "ABORT_TIMEOUT": 2,
    "MAILDIR": "~/mymail/",
    "DEFAULT_FROM": "person@example.com",
    "person@example.com": {
        "HEADERS": {
            "From": "person@example.com",
            "To": "",
            "X-CommonMark": "True",
            "Subject": ""
        },
        "SMTP_HOST": "example.com",
        "SMTP_PORT": 1234,
        "SMTP_USE_TLS": true,
        "SMTP_USERNAME": "person",
        "SMTP_PASSWORD": "this is not a real password",
        "":""
    }
}Oh yeah, you can add"":""at the end of your blocks, because I don't care
about them, and that lets you put commas at the end of everything else.Anyway, after that you justpython3 -m pip install --user wemailand then runwemail.Now you can runcheckto check your email, andprocto process your email.
While not everything has ahelp, hopefully there should be enough to get you
going. And if you get stuck, feel free to sendmean email - you can find my
address insetup.py. Oooh, maybe I should add a command that lets you send me
an email for help!The changelog format is based onKeep
a Changelog.This project uses [CalVer][calver] - YYYY.0M.0D(.MICRO)[2020.08.14]ChangedNow list, read, raw, reply, save, and attachment will all operate on emails
in the current directory.[2020.03.31]AddedAdded--wrapargument for reading emails that are too wide.[2020.03.30]ChangedFailures on filter now prints messages.[2020.03.27]RemovedRemoved older interface.AddedAdded ability to call filters - use"filters": ["command", "arg", "--option"]in.wemailrc. Filters get passed each folder, and a
non-zero exit code will abort further processing.Can add"default_part": "1"to.wemailrcto automatically open thetext/plainpart of the message.-p/--partoption added toread, which overrides thedefault_partoption.ChangedChanged to [CalVer][calver] versioning.Sender address now comes from config.FixedSent emails now get a pretty name.Space afterWhich part?Date now shows up when reading email.[0.4.0] - 2010-01-17Addedrawcommand to view the original message.Fixedreply/reply_all use appropriate recipientsContent with too-long lines no longer show up with quoted-printable (=20)
formatting[0.3.0] - 2020-01-03ChangedWEmail interface is re-written. Rather than a prompt style program, arguments
are passed via command line. Runwemail --helpfor more info.[0.2.0] - 2019-11-14Addedfiltercommand - filters all messages in current folder.extcommand - allows viewing different parts in external viewers/editors.ChangedNo longer wrap body lines, because it was wrapping the wrong way.lsdisplay no longer shows filename, but email subject[0.1.18] - 2019-07-24Addedlinkscommand now parses URLs from the message body.Changedbodynow displays the message body interactively if it's too long. It also
wraps the message at 120 characters wide, or the width of the terminal -
whichever is smaller.Header wraps message body, so truncating should be a lot nicer. Also wraps.[0.1.17] - 2019-06-18FixedUpdate from the prompt no longer quits if there are no updates.[0.1.16] - 2019-06-18FixedUpdate from the prompt now actually works, instead of throwing an error.[0.1.15] - 2019-06-18ChangedSaving without a folder now saves tosaved-mail[0.1.14] - 2019-06-18FixedForwarding and replying now both allow attachments and CommonMark rendering.ChangedMessage now prints when you're up to date.From address tries to default to ones found in config.[0.1.13] - 2019-06-18Addedupdatecommand lets you check for updates without exiting the program.[0.1.12] - 2019-06-18AddedUses linux escape sequences to (try) and set the terminal title.Can now add attachments! Simply addAttachment: /path/to/filein the
headers and they will be replaced by the appropriate attachments. Images
can be inlined to CommonMarked email via something like so:Attachment: /path/to/image.png; inline=true; name="example.png"

Hey, here is an inline image:
![Alt text](cid:example.png)The only important thing is thatcid:<this part>matches whatever is in thename="<this part>".FixedResuming draft works properly.With only one draft, resuming no longer asks a second time.No longer multiply headers.Display failed body seek on KeyError, instead of crash.ChangedTemp file when composing now has.emlsuffix, to trigger email-like
behaviors in editors that honor that kind of thing.Save raw message as draft after compose, rather than rendered.[0.1.11] - 2019-06-06Addedcompose now has an address book autocomplete function, usingADDRESS_BOOKin the config file.FixedFor messages without any kind of body, now show a list of message parts, if
any.ChangedAdded spacer line between header and body.[0.1.10] - 2019-06-05AddedEmail forwarding.rshortcut for reply.Ability to save and resume drafts, queue messages for later sending, and edit
files generally.README for pypi and GitHub.FixedOn failure to send, display failure message instead of crash.Properly display recipient headers when doingproc.ChangedDefault tomistletoefor the CommonMark renderer, because tables are
cooler. But fallback to commonmark, if available.Show message body (up to 20 lines) when doingproc.[0.1.9]FixedFix~-prefixed maildir paths.[0.1.8]AddedAbility to do a quick command, e.g.proc replyto quickly reply to the
first message.AddedOn <date> at <time>, <sender> wrote:to reply text.[0.1.7]ChangedRemoved testing To: email and CC: field.[0.1.6]AddedConfig file! ~/.wemailrc, a JSON fileComposing emails! works withcor `compose'Replying to emails! When processing emails now it's possible to reply
usingreply.[0.1.5]AddedSettingWEMAIL_CHECK_FOR_UPDATESenv var now allows automagic upgrades.versioncommand now displays WEmail version.[0.1.4]Addedbodyshortcut, to print the message body.[0.1.3]Addedp1shortcut to view the first part of a message, probablytext/plain.Dshortcut added to delete a message without confirmation.'-v'/ '--version' command to check version.[0.1.2]AddedAbility to change directories.headerscommand (aliash) to (re-)dislpay message headers.[0.1.1] - 2019.05.14ChangedFixed date header fallback.Fixed subject encoding fallback.[0.1.0] - 2019.05.12Minimally useful product released.AddedAbility to process a maildir-style folder.Ability to view parts of messages.Ability to save messages in new directories.calver:https://calver.org/