Porkmail

The aim of this script is to make reading email convenient by making the common things simple. For example, for me, 90% of the time an email I receive is plain text and has no attachments, and if I need to reply to it, I will only really want to whip up a few text lines myself. This program lets you immediately see, read, and reply to such emails without having to start up your full mail client.

This program is intended to be run when you have new mail, or to check if you have new mail. If you do, it will pop up a window telling you so, and give you the option of viewing a list of the messages in your inbox. From the list you can quickly popup a window with the text of any email message, or start your full mail client (if it is set in the environment variable MAILCLIENT).

Note, it requires my other program pgprompt, which in turn requires Gtk-Perl perl modules (also known as just perl-GTK).

Downloads

Software downloads are released under the GNU GPL. All downloads and related files are released "as is" and their use is entirely at your own risk.
  • Version 1.1: porkmail
  • Sample configuration file: (save to ~/.porkmailrc and edit it)
    sample porkmailrc
    The only things you really need to edit are your outgoing SMTP mail server, and the email address to use when sending.

Screenshots

screenshot of new mail popup
You can run it when you have new mail, or periodically to check if new mail has arrived (it does not retrieve mail from a mail server though).
screenshot of inbox summary
This is the inbox summary view. Note there is a button allowing you to start your full mail application. The mail application can be set by setting the MAILCLIENT environment variable. Here it is set to "evolution".
screenshot of viewing an email message
This is the message view. You can click on 'With headers' to get a similar window showing headers.
screenshot of composing a message
This is the compose / reply window.

Bugs or problems

  • If any lines are too long, including headers, the call to sendmail below wraps them but only inserts a linefeed, instead of a CR LF combination. The solution may be to do the wrapping myself, but I have yet to check out exactly what is happening. The end result is that the mail server will refuse to transfer the message. A workaround till I fix this is to wrap lines yourself at less than 72 characters, and to make sure your subject lines are less than that.

Todo:

  • command line handling of an extra argument after 'compose' so that you can specify the body, ie so that it can be scripted to send emails
  • include a compose button somewhere
  • poll command line option which makes it sleep and check mailbox every so often, then pop up as normal when new mail arrives
  • need to add sent mail to Sent mailbox
  • perhaps have a 'mail sent ok' box or something

Changelog:

  • v1.1 20 Nov 2002
    Added With Headers/No Headers options to viewMessage
    Now strips quotes out of the from address before viewing message