Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

No project description provided

Project description

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 project Orouboros, a mailserver that cheerfully violates all kinds of standards for MTAs.

To get started, you'll want to create a ~/.wemailrc file. 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 just python3 -m pip install --user wemail and then run wemail.

Now you can run check to check your email, and proc to process your email. While not everything has a help, hopefully there should be enough to get you going. And if you get stuck, feel free to send me an email - you can find my address in setup.py. Oooh, maybe I should add a command that lets you send me an email for help!


The changelog format is based on Keep a Changelog.

[Unreleased]


[0.1.14] - 2019-06-18

Fixed

  • Forwarding and replying now both allow attachments and CommonMark rendering.

Changed

  • Message now prints when you're up to date.
  • From address tries to default to ones found in config.

[0.1.13] - 2019-06-18

Added

  • update command lets you check for updates without exiting the program.

[0.1.12] - 2019-06-18

Added

  • Uses linux escape sequences to (try) and set the terminal title.

  • Can now add attachments! Simply add Attachment: /path/to/file in 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 that cid:<this part> matches whatever is in the name="<this part>".

Fixed

  • Resuming 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.

Changed

  • Temp file when composing now has .eml suffix, 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-06

Added

  • compose now has an address book autocomplete function, using ADDRESS_BOOK in the config file.

Fixed

  • For messages without any kind of body, now show a list of message parts, if any.

Changed

  • Added spacer line between header and body.

[0.1.10] - 2019-06-05

Added

  • Email forwarding.
  • r shortcut for reply.
  • Ability to save and resume drafts, queue messages for later sending, and edit files generally.
  • README for pypi and GitHub.

Fixed

  • On failure to send, display failure message instead of crash.
  • Properly display recipient headers when doing proc.

Changed

  • Default to mistletoe for the CommonMark renderer, because tables are cooler. But fallback to commonmark, if available.
  • Show message body (up to 20 lines) when doing proc.

[0.1.9]

Fixed

  • Fix ~-prefixed maildir paths.

[0.1.8]

Added

  • Ability to do a quick command, e.g. proc reply to quickly reply to the first message.
  • Added On <date> at <time>, <sender> wrote: to reply text.

[0.1.7]

Changed

  • Removed testing To: email and CC: field.

[0.1.6]

Added

  • Config file! ~/.wemailrc, a JSON file
  • Composing emails! works with c or `compose'
  • Replying to emails! When processing emails now it's possible to reply using reply.

[0.1.5]

Added

  • Setting WEMAIL_CHECK_FOR_UPDATES env var now allows automagic upgrades.
  • version command now displays WEmail version.

[0.1.4]

Added

  • body shortcut, to print the message body.

[0.1.3]

Added

  • p1 shortcut to view the first part of a message, probably text/plain.
  • D shortcut added to delete a message without confirmation.
  • '-v'/ '--version' command to check version.

[0.1.2]

Added

  • Ability to change directories.
  • headers command (alias h) to (re-)dislpay message headers.

[0.1.1] - 2019.05.14

Changed

  • Fixed date header fallback.
  • Fixed subject encoding fallback.

[0.1.0] - 2019.05.12

Minimally useful product released.

Added

  • Ability to process a maildir-style folder.
  • Ability to view parts of messages.
  • Ability to save messages in new directories.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wemail, version 0.1.14
Filename, size File type Python version Upload date Hashes
Filename, size wemail-0.1.14-py3-none-any.whl (13.6 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page