mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-17 18:26:32 +00:00
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:
@@ -30,6 +30,16 @@ blessed==1.21.0 \
|
||||
--hash=sha256:ece8bbc4758ab9176452f4e3a719d70088eb5739798cd5582c9e05f2a28337ec \
|
||||
--hash=sha256:f831e847396f5a2eac6c106f4dfadedf46c4f804733574b15fe86d2ed45a9588
|
||||
# via -r src/backend/requirements.in
|
||||
boto3==1.38.40 \
|
||||
--hash=sha256:a43cad12c18607ae9addfc0a98366aae5762b1a4880529f82295b21473686433 \
|
||||
--hash=sha256:fcef3e08513d276c97d72d5e7ab8f3ce9950170784b9b5cf4fab327cdb577503
|
||||
# via django-anymail
|
||||
botocore==1.38.40 \
|
||||
--hash=sha256:7528f47945502bf4226e629337c2ac2e454e661ac8fd1dc0fbf7f38082930f3f \
|
||||
--hash=sha256:aefbfe835a7ebe9bbdd88df3999b0f8f484dd025af4ebb3f3387541316ce4349
|
||||
# via
|
||||
# boto3
|
||||
# s3transfer
|
||||
brotli==1.1.0 \
|
||||
--hash=sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208 \
|
||||
--hash=sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48 \
|
||||
@@ -376,6 +386,7 @@ cryptography==44.0.3 \
|
||||
--hash=sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053
|
||||
# via
|
||||
# -r src/backend/requirements.in
|
||||
# django-anymail
|
||||
# djangorestframework-simplejwt
|
||||
# fido2
|
||||
# jwcrypto
|
||||
@@ -394,6 +405,7 @@ django==4.2.22 \
|
||||
# via
|
||||
# -r src/backend/requirements.in
|
||||
# django-allauth
|
||||
# django-anymail
|
||||
# django-cors-headers
|
||||
# django-dbbackup
|
||||
# django-error-report-2
|
||||
@@ -422,6 +434,10 @@ django==4.2.22 \
|
||||
django-allauth[mfa, openid, saml, socialaccount]==65.9.0 \
|
||||
--hash=sha256:a06bca9974df44321e94c33bcf770bb6f924d1a44b57defbce4d7ec54a55483e
|
||||
# via -r src/backend/requirements.in
|
||||
django-anymail[amazon-ses, postal]==13.0 \
|
||||
--hash=sha256:6da4465eff18f679955f74332501a3a4299e34079015d91e1fce9c049d784d6c \
|
||||
--hash=sha256:87f42d9ff12a9a029d5e88edaaf62a4b880aa9a6a7ef937042b7e96579e6db07
|
||||
# via -r src/backend/requirements.in
|
||||
django-cleanup==9.0.0 \
|
||||
--hash=sha256:19f8b0e830233f9f0f683b17181f414672a0f48afe3ea3cc80ba47ae40ad880c \
|
||||
--hash=sha256:bb9fb560aaf62959c81e31fa40885c36bbd5854d5aa21b90df2c7e4ba633531e
|
||||
@@ -458,6 +474,9 @@ django-js-asset==2.2.0 \
|
||||
--hash=sha256:0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94 \
|
||||
--hash=sha256:7ef3e858e13d06f10799b56eea62b1e76706f42cf4e709be4e13356bc0ae30d8
|
||||
# via django-mptt
|
||||
django-mailbox==4.10.1 \
|
||||
--hash=sha256:9060a4ddc81d16aa699e266649c12eaf4f29671b5266352e2fad3043a6832b52
|
||||
# via -r src/backend/requirements.in
|
||||
django-maintenance-mode==0.22.0 \
|
||||
--hash=sha256:502f04f845d6996e8add321186b3b9236c3702de7cb0ab14952890af6523b9e5 \
|
||||
--hash=sha256:a9cf2ba79c9945bd67f98755a6cfd281869d39b3745bbb5d1f571d058657aa85
|
||||
@@ -755,6 +774,12 @@ jinja2==3.1.6 \
|
||||
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
|
||||
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
|
||||
# via coreschema
|
||||
jmespath==1.0.1 \
|
||||
--hash=sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980 \
|
||||
--hash=sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe
|
||||
# via
|
||||
# boto3
|
||||
# botocore
|
||||
jsonschema==4.24.0 \
|
||||
--hash=sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196 \
|
||||
--hash=sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d
|
||||
@@ -1283,6 +1308,7 @@ python-dateutil==2.9.0.post0 \
|
||||
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
||||
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
||||
# via
|
||||
# botocore
|
||||
# django-recurrence
|
||||
# icalendar
|
||||
python-dotenv==1.1.0 \
|
||||
@@ -1486,6 +1512,7 @@ requests==2.32.4 \
|
||||
# via
|
||||
# coreapi
|
||||
# django-allauth
|
||||
# django-anymail
|
||||
# django-oauth-toolkit
|
||||
# opentelemetry-exporter-otlp-proto-http
|
||||
# requests-oauthlib
|
||||
@@ -1614,6 +1641,10 @@ rpds-py==0.25.1 \
|
||||
# via
|
||||
# jsonschema
|
||||
# referencing
|
||||
s3transfer==0.13.0 \
|
||||
--hash=sha256:0148ef34d6dd964d0d8cf4311b2b21c474693e57c2e069ec708ce043d2b527be \
|
||||
--hash=sha256:f5e6db74eb7776a37208001113ea7aa97695368242b364d73e91c981ac522177
|
||||
# via boto3
|
||||
sentry-sdk==2.29.1 \
|
||||
--hash=sha256:8d4a0206b95fa5fe85e5e7517ed662e3888374bdc342c00e435e10e6d831aa6d \
|
||||
--hash=sha256:90862fe0616ded4572da6c9dadb363121a1ae49a49e21c418f0634e9d10b4c19
|
||||
@@ -1721,10 +1752,12 @@ uritemplate==4.2.0 \
|
||||
# via
|
||||
# coreapi
|
||||
# drf-spectacular
|
||||
urllib3==2.5.0 \
|
||||
--hash=sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760 \
|
||||
--hash=sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc
|
||||
urllib3==1.26.20 \
|
||||
--hash=sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e \
|
||||
--hash=sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32
|
||||
# via
|
||||
# botocore
|
||||
# django-anymail
|
||||
# dulwich
|
||||
# requests
|
||||
# sentry-sdk
|
||||
|
Reference in New Issue
Block a user