Categorygithub.com/choppsv1/imapidle
modulepackage
0.0.0-20221209224407-2e009fb58781
Repository: https://github.com/choppsv1/imapidle.git
Documentation: pkg.go.dev

# README

  • imapidle - mbsync compatible IDLE aide

This utility will connect to your IMAP accounts and run the IMAP IDLE command on the INBOX for each account. When new mail arrives a script will be invoked to update mail from that account. Periodically the script will be invoked to do a full update from the account.

The accounts details are obtained from your .mbsyncrc file.

This project was inspired by https://github.com/leoc/mbidle

** Installing

You can use go to install imapidle thusly:

#+begin_src bash go install github.com/choppsv1/imapidle #+end_src

** Invoking

To simply IDLE on all defined Accounts (really IMAPStores) INBOX invoke imapidle with no arguments. This will choose the first channel defined for each IMAPStore and idle and update on that channel using ":INBOX" as a further restriction.

#+begin_src bash $ imapidle #+end_src

If you wish to restrict the stores checked, or specify special INBOX folder names you can do so on the command line using tuples of the form storename[:channel-name[:inbox-name]]. For example,

#+begin_src bash imapidle gmail-remote:gmail-channel #+end_src

imapidle will append ":INBOX" to the channel name (if there isn't ":something" explicit specified) to further select the INBOX only IMAP mailbox.

** Update Script: ~/.imapidle-update

imapidle invokes the update script for 2 reasons:

  • When new mail is seen on an account inbox. In this case the script is invoked with the associated channel name. A slight delay is taken to allow for multiple accounts to become active (e.g., this might happen if you had a second account CC'd in the received email). If multiple accounts need updating the script will be invoked with each channel name as a separate parameter e.g.,:

#+begin_src bash ~/.imapidle-update my-channel1 my-channe2 #+end_src

  • Periodically (default 5 minutes) a full update is requested by invoking the update script with no arguments. This should then update all your accounts and sub-folders as well as your INBOXes.

** Other Parameters

imapidle supports changing the periodic timer interval, the update script path, the mbsyncrc path in addition to verbose and debug logging options.

Use imapidle -h to see list the options.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Offline reaping the account is safe.

# Variables

No description provided by the author
Version : current version.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
An IDLE command.
No description provided by the author
No description provided by the author
An IDLE response.

# Type aliases

No description provided by the author