|
- 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.
|