imm: Retrieve RSS/Atom feeds and write one mail per new item in a maildir.

[ library, program, public-domain, web ] [ Propose Tags ]


[Skip to Readme]


  • Imm
    • Imm.Boot
    • Imm.Config
    • Imm.Core
    • Imm.Database
    • Imm.Dyre
    • Imm.Error
    • Imm.Feed
    • Imm.HTTP
    • Imm.Mail
    • Imm.Maildir
    • Imm.OPML
    • Imm.Options
    • Imm.Util


Maintainer's Corner

For package maintainers and hackage trustees


Versions [RSS],,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies base (>=4 && <5), bytestring, case-insensitive, cond, data-default, directory, dyre, feed, filepath, http-conduit, http-types, imm, lens, mime-mail, monad-control, mtl, network, old-locale, opml, random, text, text-icu, time, timerep (>=1.0.3), tls, transformers-base, utf8-string, xdg-basedir, xml [details]
License LicenseRef-OtherLicense
Author kamaradclimber, koral
Maintainer koral att mailoo dott org
Category Web
Source repo head: git clone
Uploaded by koral at 2013-02-24T00:10:58Z
Distributions NixOS:
Executables imm
Downloads 18265 total (129 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-22 [all 7 reports]

Readme for imm-

[back to package description]
About imm

In a nutshell

**Technically**, *imm* is a little tool that retrieves a list of RSS/Atom feeds and fills a maildir with new items.

**Functionally**, *imm* makes it possible to use mail readers for feeds, for the sake of *I-want-the-mutt-of-feed-readers* zealots.

*imm* is written and configured in *Haskell*.

Informations about versions, dependencies, source repositories and contacts can be found in hackage_.

Need & purpose

Following numerous RSS/Atom feeds needs organization and aggregation.
Such needs are usually met by feed readers.
Although there are a lot of those, some people still feel unsatisfied with the existing implementations.

The expected features of a feed reader could be defined as follows:

- it retrieves items with the following attributes: an author, a date/time, a (possibly enriched) body;
- items can be sorted, categorized, marked as read/unread, tagged, shared/forwarded;
- items must be available from anywhere on the internet.

Luckily, there's already a widespread solution that provides such features: mail readers.
Considering that, *imm* aims at projecting the RSS/Atom paradigm onto the mail one; this way, all the existing tools that work on mails can be leveraged to work on RSS/Atom feeds as well, no wheel reinventing.


*imm* does only one thing and does it well: it downloads an RSS/Atom feeds list, and for each new item it writes a file in a local maildir. How and where to write mail files is setup in *imm*'s configuration file.

No *SMTP* sending, no *IMAP* serving, no aggregating: those should be performed by external tools.

Example usage

It is possible to setup a Google Reader-like on a server using the following steps:

- schedule *imm* to check feeds regularly and write new items into a local maildir;
- setup an IMAP server to publish the aforementioned maildir;
- setup a webmail, bound to the IMAP server above, to read feeds from any computer connected to the internet.

Getting started

To get started, please fill the configuration file at ``~/.config/imm/imm.hs`` with your feeds list and settings. An example configuration file is provided with the package. Configuring *imm* requires basic knowledge of *Haskell* language.

.. _hackage: