feat: more mail sending backends and plugability (#9608)

* [FR] Improve Email handeling
Fixes #7950

* extend implementation of email thread and message models

* add missing args

* add unit test

* increase test coverage

* make key not necessary

* do not consider in coverage

* add email apis

* Add email admin

* fix email configuration check

* improve rendering

* squash migrations

* add config value overview

* log if mails were send

* add additional headers

* fix api unit test

* fix url resolving

* add InvenTree specific task to issue mails
required to extend sending options (prio, reply to)

* use internal sending task to keep telemetry cleaner

* add prio handling

* add plugin handling

* add setting

* factor plugin method out

* add typing

* move function

* bump version

* fix import path

* add a test for the test endpoint

* fix checking logic

* Add anymail sending / tracking handling

* add more ordering fields to api

* remove unneeded assingment

* add basic docs

* handle incoming emails with anymail

* Add inbox handling
Closes https://github.com/inventree/InvenTree/issues/7951

* add list of supported ESPs

* add better error transparency when sending fails

* add missing migration

* combine migrations back down

* fix todos

* fix qc export

* fix missing model props

* add tests

* ensure things are passed as a list

* fix list formatting

* fix deps

* move tests

* add testing with anymail

* allow handling of priority and headers

* add test for events

* add test for inbound messages

* rename variable

* increase coverage

* fix format

* add setting doc

* fix link

* rename fnc

* disable pro test

* make messages clearer

* fix doc syntax

* fix assign

* fix test

* revert test disablement

* add enum

* disable check for now

* try changing test around

* add incoming mail processing

* fix import

* add docs

* Fix mail.md

* bump deps

* fix api version
This commit is contained in:
Matthias Mair
2025-06-20 11:49:02 +10:00
committed by GitHub
parent 797b5f57b0
commit 45daef8442
41 changed files with 1463 additions and 38 deletions
+13
View File
@@ -54,16 +54,19 @@ During startup of the backend InvenTree tries to detect branch, commit hash and
This information is not needed for operation but very helpful for debugging and support. These issues might be caused by running a deployment version that delivers without git information, not having git installed or not having dulwich installed.
You can ignore this warning if you are not interested in the git information.
#### INVE-W2
**Dulwich module not found - Backend**
See [INVE-W1](#inve-w1)
#### INVE-W3
**Could not detect git information - Backend**
See [INVE-W1](#inve-w1)
#### INVE-W4
**Server is running in debug mode - Backend**
@@ -71,6 +74,7 @@ InvenTree is running in debug mode. This is **not** recommended for production u
It is recommended to run InvenTree in production mode for better security and performance. See [Debug Mode Information](../start/index.md#debug-mode).
#### INVE-W5
**Background worker process not running - Backend**
@@ -78,6 +82,7 @@ The background worker seems to not be running. This is detected by a heartbeat t
Check if the process for background workers is running and reaching the database. Steps vary between deployment methods.
See [Background Worker Information](../start/processes.md#background-worker).
#### INVE-W6
**Server restart required - Backend**
@@ -99,6 +104,7 @@ There are database migrations waiting to be applied. This might lead to integrit
Some deployment methods support [auto applying of updates](../start/config.md#auto-update). See also [Perform Database Migrations](../start/install.md#perform-database-migrations).
Steps very between deployment methods.
#### INVE-W9
**Wrong Invoke Environment - Backend**
@@ -106,6 +112,13 @@ The command that was used to run invoke is not the one that is recommended. This
The warning text will show the recommended command for intended use.
#### INVE-W10
**Exception during mail delivery - Backend**
Collective exception for errors that occur during mail delivery. This might be caused by a misconfiguration of the email provider or a network issue.
These issues are raised directly from the mail backend so it is unlikely that the error is caused by django or InvenTree itself.
Check the logs for more information.
### INVE-I (InvenTree Information)
Information — These are not errors but information messages. They might point out potential issues or just provide information.