mirror of
https://github.com/draga79/NotiMail.git
synced 2024-11-09 23:51:07 +01:00
153 lines
4 KiB
Groff
153 lines
4 KiB
Groff
.\" Man page for NotiMail
|
|
.TH MAN 1 "2 July 2024"
|
|
.SH NAME
|
|
NotiMail \- Monitor email inbox(es) and send notifications upon new email arrivals using various providers.
|
|
.SH SYNOPSIS
|
|
.B notimail
|
|
[\fB-c\fR \fICONFIG\fR]
|
|
[\fB--print-config\fR]
|
|
[\fB--test-config\fR]
|
|
[\fB--list-folders\fR]
|
|
.SH DESCRIPTION
|
|
NotiMail is a script designed to monitor one or more email inboxes using the IMAP IDLE feature. It sends notifications when a new email arrives. The script can connect to multiple email servers and send notifications to different platforms, including NTFY, Pushover, Gotify, and Apprise.
|
|
.P
|
|
Key features:
|
|
.RS
|
|
.IP "*"
|
|
Monitors one or more email inboxes using IMAP IDLE.
|
|
.IP "*"
|
|
Supports monitoring of multiple folders per email account.
|
|
.IP "*"
|
|
Sends notifications containing the sender and subject of new emails.
|
|
.IP "*"
|
|
Maintains a SQLite database to ensure that emails are not processed repeatedly.
|
|
.IP "*"
|
|
Supports multiple notification providers: NTFY, Pushover, Gotify, and Apprise.
|
|
.IP "*"
|
|
Provides command-line functionalities to validate, test, and list IMAP folders.
|
|
.RE
|
|
.SH OPTIONS
|
|
.TP
|
|
\fB-c\fR, \fB--config\fR \fICONFIG\fR
|
|
Specify the path to the configuration file. Defaults to \fIconfig.ini\fR.
|
|
.TP
|
|
\fB--print-config\fR
|
|
Print the configurations set in the \fIconfig.ini\fR file.
|
|
.TP
|
|
\fB--test-config\fR
|
|
Test if the configurations set in the \fIconfig.ini\fR file are working properly.
|
|
.TP
|
|
\fB--list-folders\fR
|
|
List all the IMAP folders of the configured mailboxes.
|
|
.SH CONFIGURATION
|
|
Configuration data is read from a file named \fIconfig.ini\fR. Ensure it's correctly set up before running the script. The configuration file has multiple sections:
|
|
.P
|
|
.RS
|
|
.IP "[GENERAL]:"
|
|
.IP LogFileLocation:
|
|
Path to the log file.
|
|
.IP DataBaseLocation:
|
|
Path to the SQLite3 database for storing processed emails.
|
|
.IP LogRotationType:
|
|
Type of log rotation (\fIsize\fR or \fItime\fR).
|
|
.IP LogRotationSize:
|
|
Size threshold for log rotation (only used if \fILogRotationType\fR is \fIsize\fR).
|
|
.IP LogRotationInterval:
|
|
Time interval for log rotation in days (only used if \fILogRotationType\fR is \fItime\fR).
|
|
.IP LogBackupCount:
|
|
Number of backup log files to retain.
|
|
.IP "[EMAIL:accountX]:"
|
|
Defines an email account. Replace \fIaccountX\fR with a unique identifier for each email account.
|
|
.IP EmailUser:
|
|
The email address.
|
|
.IP EmailPass:
|
|
The password for the email address.
|
|
.IP Host:
|
|
The email server.
|
|
.IP Folders:
|
|
A comma-separated list of folders to monitor.
|
|
.IP "[NTFY]:"
|
|
Configuration for the NTFY notification provider.
|
|
.IP UrlX:
|
|
The NTFY URL for sending notifications. Replace \fIX\fR with a unique number.
|
|
.IP TokenX:
|
|
(Optional) Token for sending notifications to protected topics.
|
|
.IP "[PUSHOVER]:"
|
|
Configuration for the Pushover notification provider.
|
|
.IP ApiToken:
|
|
Your Pushover API token.
|
|
.IP UserKey:
|
|
Your Pushover user key.
|
|
.IP "[GOTIFY]:"
|
|
Configuration for the Gotify notification provider.
|
|
.IP Url:
|
|
The Gotify URL for sending messages.
|
|
.IP Token:
|
|
Your Gotify token.
|
|
.IP "[APPRISE]:"
|
|
Configuration for the Apprise notification provider.
|
|
.IP urls:
|
|
Comma-separated list of Apprise service URLs for sending notifications.
|
|
.RE
|
|
.SH DEPENDENCIES
|
|
Python libraries:
|
|
.RS
|
|
.IP "*"
|
|
imaplib
|
|
.IP "*"
|
|
email
|
|
.IP "*"
|
|
requests
|
|
.IP "*"
|
|
configparser
|
|
.IP "*"
|
|
time, socket
|
|
.IP "*"
|
|
sqlite3
|
|
.IP "*"
|
|
datetime
|
|
.IP "*"
|
|
signal, sys
|
|
.IP "*"
|
|
logging
|
|
.IP "*"
|
|
argparse
|
|
.IP "*"
|
|
threading
|
|
.IP "*"
|
|
BytesParser from email.parser
|
|
.IP "*"
|
|
apprise
|
|
.RE
|
|
.SH EXAMPLES
|
|
1. Running NotiMail with the default configuration file:
|
|
.RS
|
|
.IP ""
|
|
notimail
|
|
.RE
|
|
2. Specifying a custom configuration file:
|
|
.RS
|
|
.IP ""
|
|
notimail \-c /path/to/custom_config.ini
|
|
.RE
|
|
3. Checking the current configuration:
|
|
.RS
|
|
.IP ""
|
|
notimail --print-config
|
|
.RE
|
|
4. Testing the configuration settings:
|
|
.RS
|
|
.IP ""
|
|
notimail --test-config
|
|
.RE
|
|
5. Listing IMAP folders of the configured mailboxes:
|
|
.RS
|
|
.IP ""
|
|
notimail --list-folders
|
|
.RE
|
|
.SH AUTHOR
|
|
Stefano Marinelli <stefano@dragas.it>
|
|
.SH LICENSE
|
|
BSD 3-Clause License. See the source distribution for details.
|
|
.SH SEE ALSO
|
|
IMAP IDLE, SQLite3, NTFY, Pushover, Gotify, Apprise.
|