]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Chore: automatically disable email verification if no smtp setup (#9949)
authorshamoon <4887959+shamoon@users.noreply.github.com>
Sat, 17 May 2025 05:21:24 +0000 (22:21 -0700)
committerGitHub <noreply@github.com>
Sat, 17 May 2025 05:21:24 +0000 (22:21 -0700)
docs/configuration.md
src/paperless/settings.py

index 1a0f15a6c02e8d57df75e5c89052d5b0f1667733..4196ffa8f81637341c23f7b20b55e31acca336ac 100644 (file)
@@ -629,7 +629,7 @@ If both the [PAPERLESS_ACCOUNT_DEFAULT_GROUPS](#PAPERLESS_ACCOUNT_DEFAULT_GROUPS
 
 !!! note
 
-    If you do not have a working email server set up you should set this to 'none'.
+    If you do not have a working email server set up this will be set to 'none'.
 
 #### [`PAPERLESS_ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS=<bool>`](#PAPERLESS_ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS) {#PAPERLESS_ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS}
 
index 4906b4713c9e53ca9597b569af1343ef1e873ab0..3e6e76f112992d83ba98acadc59b687fac89bc5b 100644 (file)
@@ -462,6 +462,24 @@ CHANNEL_LAYERS = {
     },
 }
 
+###############################################################################
+# Email (SMTP) Backend                                                        #
+###############################################################################
+
+EMAIL_HOST: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST", "localhost")
+EMAIL_PORT: Final[int] = int(os.getenv("PAPERLESS_EMAIL_PORT", 25))
+EMAIL_HOST_USER: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST_USER", "")
+EMAIL_HOST_PASSWORD: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST_PASSWORD", "")
+DEFAULT_FROM_EMAIL: Final[str] = os.getenv("PAPERLESS_EMAIL_FROM", EMAIL_HOST_USER)
+EMAIL_USE_TLS: Final[bool] = __get_boolean("PAPERLESS_EMAIL_USE_TLS")
+EMAIL_USE_SSL: Final[bool] = __get_boolean("PAPERLESS_EMAIL_USE_SSL")
+EMAIL_SUBJECT_PREFIX: Final[str] = "[Paperless-ngx] "
+EMAIL_TIMEOUT = 30.0
+EMAIL_ENABLED = EMAIL_HOST != "localhost" or EMAIL_HOST_USER != ""
+if DEBUG:  # pragma: no cover
+    EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
+    EMAIL_FILE_PATH = BASE_DIR / "sent_emails"
+
 ###############################################################################
 # Security                                                                    #
 ###############################################################################
@@ -503,9 +521,13 @@ REDIRECT_LOGIN_TO_SSO = __get_boolean("PAPERLESS_REDIRECT_LOGIN_TO_SSO")
 
 AUTO_LOGIN_USERNAME = os.getenv("PAPERLESS_AUTO_LOGIN_USERNAME")
 
-ACCOUNT_EMAIL_VERIFICATION = os.getenv(
-    "PAPERLESS_ACCOUNT_EMAIL_VERIFICATION",
-    "optional",
+ACCOUNT_EMAIL_VERIFICATION = (
+    "none"
+    if not EMAIL_ENABLED
+    else os.getenv(
+        "PAPERLESS_ACCOUNT_EMAIL_VERIFICATION",
+        "optional",
+    )
 )
 
 ACCOUNT_EMAIL_UNKNOWN_ACCOUNTS = __get_boolean(
@@ -1220,24 +1242,6 @@ NLTK_ENABLED: Final[bool] = __get_boolean("PAPERLESS_ENABLE_NLTK", "yes")
 
 NLTK_LANGUAGE: str | None = _get_nltk_language_setting(OCR_LANGUAGE)
 
-###############################################################################
-# Email (SMTP) Backend                                                        #
-###############################################################################
-
-EMAIL_HOST: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST", "localhost")
-EMAIL_PORT: Final[int] = int(os.getenv("PAPERLESS_EMAIL_PORT", 25))
-EMAIL_HOST_USER: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST_USER", "")
-EMAIL_HOST_PASSWORD: Final[str] = os.getenv("PAPERLESS_EMAIL_HOST_PASSWORD", "")
-DEFAULT_FROM_EMAIL: Final[str] = os.getenv("PAPERLESS_EMAIL_FROM", EMAIL_HOST_USER)
-EMAIL_USE_TLS: Final[bool] = __get_boolean("PAPERLESS_EMAIL_USE_TLS")
-EMAIL_USE_SSL: Final[bool] = __get_boolean("PAPERLESS_EMAIL_USE_SSL")
-EMAIL_SUBJECT_PREFIX: Final[str] = "[Paperless-ngx] "
-EMAIL_TIMEOUT = 30.0
-EMAIL_ENABLED = EMAIL_HOST != "localhost" or EMAIL_HOST_USER != ""
-if DEBUG:  # pragma: no cover
-    EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
-    EMAIL_FILE_PATH = BASE_DIR / "sent_emails"
-
 ###############################################################################
 # Email Preprocessors                                                         #
 ###############################################################################