aboutsummaryrefslogtreecommitdiff
path: root/smlmp/mda.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Relay access denied thingAndrew Yu2023-07-071-4/+0
|
* Test alignment of DKIM d: and From:'s domainpartAndrew Yu2023-07-061-3/+5
|
* Do not create a seperate SMTP connection for the archiverAndrew Yu2023-07-061-2/+3
|
* Import common if .common failsAndrew Yu2023-07-061-1/+4
|
* Fixed erroneous string substitution in error reportsAndrew Yu2023-07-031-1/+1
|
* Return upon [un]subscription action; also edit default configAndrew Yu2023-07-031-0/+3
|
* Fix programming errorsAndrew Yu2023-07-031-2/+2
|
* Update documentationAndrew Yu2023-07-021-1/+1
|
* Use SENDER environment variable instead of parsing Return-PathAndrew Yu2023-07-021-2/+1
|
* Implement list+[un]subscribe addresses and database locksAndrew Yu2023-07-021-40/+67
|
* EXCLUDE THIS COMMIT WITH CHERRY-PICKAndrew Yu2023-07-011-15/+15
| | | | | | | This commit disables the report-to-administrator functionality of the delivery agent, so the program just crashes on uncaught exceptions. This means the traceback will be sent to the original sender by postfix's bouncing facilities, so Test_User could see the traceback.
* Horrible attempt at file lockingAndrew Yu2023-07-021-2/+1
|
* Bugfix: Correct misspelt "DOMAIN"Andrew Yu2023-07-021-1/+1
|
* Bugfix: Use relative importAndrew Yu2023-07-021-1/+1
|
* Large commit (see commit details)Andrew Yu2023-07-021-0/+207
- Put things in the correct form of a Python package, with an "smlmp" directory that contains an empty "__init__".py and the "mda" and "common" modules. Change imports to reflect this change. - - Instead of importing a Python file to use as a configuration file, we now read /etc/smlmp.conf, which is an ini file parsed through configparser. An example smlmp.conf.example is provided with detailed comments documenting how each configuration option could be used. - Email addresses and related parts in the configuration and incoming emails are lower-cased, as email is a case insensitive protocol and we shall thus make case insensitive comparisons, simply by internally handling everything lowercase. - Instead of only providing an exception's arguments (exc.args) when sending exception reports, send the full traceback. (This causes the entire program to requires Python 3.10 or later.) In addition to emailing the administrator when a non-sender's-fault exception occurs, tell the sender that their email failed to deliver.