mirror of
https://github.com/draga79/NotiMail.git
synced 2024-11-09 23:51:07 +01:00
Preparing for ports and packages, added a man page and fixed the code to be able to run via ./NotiMail.py
This commit is contained in:
parent
636044ab52
commit
6e1b079ddb
2 changed files with 108 additions and 0 deletions
1
NotiMail.py
Normal file → Executable file
1
NotiMail.py
Normal file → Executable file
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
NotiMail
|
NotiMail
|
||||||
Version: 0.11 - Alpha
|
Version: 0.11 - Alpha
|
||||||
|
|
107
notimail.1
Normal file
107
notimail.1
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
.\" Man page for NotiMail
|
||||||
|
.TH MAN 1 "23 October 2023"
|
||||||
|
.SH NAME
|
||||||
|
NotiMail \- Monitor email inbox(es) and send HTTP POST notifications upon new email arrivals.
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B notimail
|
||||||
|
[\fB-c\fR \fICONFIG\fR]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
NotiMail is a script designed to monitor one or more email inbox(es) using the IMAP IDLE feature and send notifications via HTTP POST requests when a new email arrives. The script can connect to multiple email servers and send notifications to different platforms, including NTFY, Pushover, and Gotify.
|
||||||
|
.P
|
||||||
|
Key features:
|
||||||
|
.RS
|
||||||
|
.IP "*"
|
||||||
|
Monitors one or more email inboxes using IMAP IDLE.
|
||||||
|
.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, and Gotify.
|
||||||
|
.RE
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB-c\fR, \fB--config\fR \fICONFIG\fR
|
||||||
|
Specify the path to the configuration file. Defaults to \fIconfig.ini\fR.
|
||||||
|
.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 "[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 "[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.
|
||||||
|
.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
|
||||||
|
.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
|
||||||
|
.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.
|
||||||
|
|
Loading…
Reference in a new issue