All Projects → jonhoo → hasmail

jonhoo / hasmail

Licence: other
Simple tray icon for detecting new email on IMAP servers

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to hasmail

buzz
A simple system tray application for notifying about unseen e-mail
Stars: ✭ 123 (+324.14%)
Mutual labels:  systray, imap
steam go
Simple steam auth util in golang
Stars: ✭ 22 (-24.14%)
Mutual labels:  utility
BlauBot
A discord bot providing a collection of useful and unrelated commands
Stars: ✭ 16 (-44.83%)
Mutual labels:  utility
catsay
🐱 💻 like cowsay but cats
Stars: ✭ 33 (+13.79%)
Mutual labels:  utility
as-a
Runs a given command with additional environment settings for simple local development
Stars: ✭ 60 (+106.9%)
Mutual labels:  utility
aws-docker-deploy
Scripts and templates for deploying docker containers to aws / elastic beanstalk
Stars: ✭ 18 (-37.93%)
Mutual labels:  utility
sublimetext-autobackups
Sublime Text 2/3 Auto backups plugin
Stars: ✭ 70 (+141.38%)
Mutual labels:  utility
vstutils
Small framework for easy generates web-applications (SPA or Single Page Application).
Stars: ✭ 39 (+34.48%)
Mutual labels:  utility
telegram-counter-bot
A simple, easy to use counter bot to keep track of all the amazing things in your Telegram group!
Stars: ✭ 29 (+0%)
Mutual labels:  utility
pytest-stress
A Pytest plugin that allows you to loop tests for a user defined amount of time.
Stars: ✭ 39 (+34.48%)
Mutual labels:  utility
emma.css
🍴 Emma.css { utility-classes: emmet-like; }
Stars: ✭ 53 (+82.76%)
Mutual labels:  utility
RunDLL-NG
A better alternative to RunDLL32
Stars: ✭ 23 (-20.69%)
Mutual labels:  utility
Timesheet-Hero
Small utility to keep track of your time
Stars: ✭ 31 (+6.9%)
Mutual labels:  utility
fortran-curl
Fortran 2008 interface bindings to libcurl
Stars: ✭ 25 (-13.79%)
Mutual labels:  imap
bspwmbar
A lightweight status bar for bspwm.
Stars: ✭ 70 (+141.38%)
Mutual labels:  systray
AjaxHandler
ASimple PHP Class to help handling Ajax Requests easily
Stars: ✭ 30 (+3.45%)
Mutual labels:  utility
sortr.py
sort files using python
Stars: ✭ 15 (-48.28%)
Mutual labels:  utility
web-mqtt-client
A better MQTT API for the browser
Stars: ✭ 48 (+65.52%)
Mutual labels:  utility
ImapSyncClient
ImapSync Desktop Client
Stars: ✭ 92 (+217.24%)
Mutual labels:  imap
chronoman
Utility class to simplify use of timers created by setTimeout
Stars: ✭ 15 (-48.28%)
Mutual labels:  utility

Introduction

Using mutt (or pine), but annoyed that it doesn't give you any notifications when you've received new emails? hasmail is a simple tray application that detects new emails on IMAP servers using IDLE (push rather than pull). When it detects unseen messages, it shows a OSD style notification and changes the tray icon to indicate that you have new mail.

When hovering the mouse over the tray icon, hasmail shows which of the configured accounts have unseen messages. Clicking the icon executes a user-defined command.

Configuration

hasmail looks for ~/.hasmailrc and expects a file in simple INI syntax. The configuration file consists of (currently) one global option and one or more accounts, each with multiple fields.

Global fields

  • click: this command will be executed when clicking the tray icon

Account fields

The value in [] can be anything, and will be what is shown in the tooltip. The options for an account are as follows:

  • hostname: The address (+ port) to connect to. MUST currently be SSL/TLS enabled. Required.
  • username: Username for authentication. Required.
  • password: Command to execute to get password for authentication. Required.
  • click: An optional command to execute when clicking the tray icon if this, and only this, account has new messages. If this option is present, it overrides the global click option in the described scenario.
  • folder: What folder to check for new messages. INBOX is the default.
  • poll: How often (in minutes) to force a recheck of the account. By default it is set to 29 (as suggested in the spec) to avoid the server disconnecting us due to inactivity.

Installation

Assuming you've checked this out into $GOPATH/src/hasmail, just run go install hasmail. If your path is set up correctly, you should be able to run hasmail and get the message "Failed to load configuration file, exiting...". Create your config and you're ready!

If you're lucky enough to be running Arch Linux, you can just install the package from the AUR or run makepkg in pkg/.

Major dependencies

License

Use this code for whatever you want if you find it useful. You don't need to put any attribution (even though I'd be happy if you did), but please let me know if you use it for anything interesting!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].