modoboa/modoboa-webmail

Error While Sending Message

aditya-tawade opened this issue · 16 comments

Untitled

Hello, I have hosted a mail server on the digital ocean. Also, port 25 is unblocked. But I can't send any msg wait webmail

I've also been getting this. There is an inconsistency between 2 versions of modoboa I have installed (both using the installer with --beta). One which I build a few days ago works fine, the other, built yesterday and again today has this issue. I've compared dpkg -l on both containers and also checked the python packages (build version update in django from 2.2.25 to 2.2.26 is the only change I can find)

Further error details:


 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.sites',
 'django.contrib.staticfiles',
 'reversion',
 'ckeditor',
 'ckeditor_uploader',
 'rest_framework',
 'rest_framework.authtoken',
 'drf_spectacular',
 'phonenumber_field',
 'django_otp',
 'django_otp.plugins.otp_totp',
 'django_otp.plugins.otp_static',
 'modoboa',
 'modoboa.core',
 'modoboa.lib',
 'modoboa.admin',
 'modoboa.transport',
 'modoboa.relaydomains',
 'modoboa.limits',
 'modoboa.parameters',
 'modoboa.dnstools',
 'modoboa.policyd',
 'modoboa.maillog',
 'modoboa_amavis',
 'modoboa_pdfcredentials',
 'modoboa_postfix_autoreply',
 'modoboa_sievefilters',
 'modoboa_webmail',
 'modoboa_contacts',
 'modoboa_radicale',
 'webpack_loader')
Installed Middleware:
('x_forwarded_for.middleware.XForwardedForMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django_otp.middleware.OTPMiddleware',
 'modoboa.core.middleware.TwoFAMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'modoboa.core.middleware.LocalConfigMiddleware',
 'modoboa.lib.middleware.AjaxLoginRedirect',
 'modoboa.lib.middleware.CommonExceptionCatcher',
 'modoboa.lib.middleware.RequestCatcherMiddleware')


Traceback:

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/django/core/handlers/exception.py\" in inner
  34.             response = get_response(request)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/django/core/handlers/base.py\" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/django/core/handlers/base.py\" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File \"/usr/lib/python3.9/contextlib.py\" in inner
  79.                 return func(*args, **kwds)

File \"/usr/lib/python3.9/contextlib.py\" in inner
  79.                 return func(*args, **kwds)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/django/contrib/auth/decorators.py\" in _wrapped_view
  21.                 return view_func(request, *args, **kwargs)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa/admin/lib.py\" in wrapped_f
  40.                 return f(request, *args, **kwargs)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa_webmail/views.py\" in index
  702.     return render_to_json_response(response, status=http_status)

File \"/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa/lib/web_utils.py\" in render_to_json_response
  86.     data = json.dumps(context)

File \"/usr/lib/python3.9/json/__init__.py\" in dumps
  231.         return _default_encoder.encode(obj)

File \"/usr/lib/python3.9/json/encoder.py\" in encode
  199.         chunks = self.iterencode(o, _one_shot=True)

File \"/usr/lib/python3.9/json/encoder.py\" in iterencode
  257.         return _iterencode(o, 0)

File \"/usr/lib/python3.9/json/encoder.py\" in default
  179.         raise TypeError(f'Object of type {o.__class__.__name__} '

Exception Type: TypeError at /webmail/
Exception Value: Object of type bytes is not JSON serializable
Request information:
USER: [REDACT]

GET:
action = 'compose'

POST:
csrfmiddlewaretoken = 'lVk74Xmfy5IQZFnsdkAnpefh8rtkHKIyJ3r7WxmRNqvm5Iz4seg5nfjHXfm859WW'
origmsgid = ''
from_ = ' [REDACT]'
to = ' [REDACT]'
cc = ''
bcc = ''
subject = ''
body = ''

FILES: No FILES data

COOKIES:
csrftoken = 'ArGYvmRjkVUqRvJk1oyOJ9vpSpZb586EYzNYnWRVzgHWXyVWgiewHazPHdSZtxk2'
sessionid = 'vkjtoqwynbu1268u58vf3oq273zult8x'

META:
CONTENT_LENGTH = '164'
CONTENT_TYPE = 'application/x-www-form-urlencoded; charset=UTF-8'
CSRF_COOKIE = 'ArGYvmRjkVUqRvJk1oyOJ9vpSpZb586EYzNYnWRVzgHWXyVWgiewHazPHdSZtxk2'
DOCUMENT_ROOT = '/mnt/data-mail/srv/modoboa/instance'
HTTPS = 'on'
HTTP_ACCEPT = 'application/json, text/javascript, */*; q=0.01'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.5'
HTTP_CACHE_CONTROL = 'no-cache'
HTTP_CONNECTION = 'keep-alive'
HTTP_CONTENT_LENGTH = '164'
HTTP_CONTENT_TYPE = 'application/x-www-form-urlencoded; charset=UTF-8'
HTTP_COOKIE = 'csrftoken=ArGYvmRjkVUqRvJk1oyOJ9vpSpZb586EYzNYnWRVzgHWXyVWgiewHazPHdSZtxk2; sessionid=vkjtoqwynbu1268u58vf3oq273zult8x'
HTTP_DNT = '1'
HTTP_HOST =  [REDACT]'
HTTP_ORIGIN = 'https:// [REDACT]'
HTTP_PRAGMA = 'no-cache'
HTTP_REFERER = 'https:// [REDACT]/webmail/'
HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0'
HTTP_X_CSRFTOKEN = 'ArGYvmRjkVUqRvJk1oyOJ9vpSpZb586EYzNYnWRVzgHWXyVWgiewHazPHdSZtxk2'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
PATH_INFO = '/webmail/'
QUERY_STRING = 'action=compose'
REMOTE_ADDR = ' [REDACT]'
REMOTE_PORT = '52456'
REQUEST_METHOD = 'POST'
REQUEST_SCHEME = 'https'
REQUEST_URI = '/webmail/?action=compose'
SCRIPT_NAME = ''
SERVER_NAME = ' [REDACT]'
SERVER_PORT = '443'
SERVER_PROTOCOL = 'HTTP/1.1'
UWSGI_APPID = ' [REDACT]|'
UWSGI_SCRIPT = 'instance.wsgi:application'
uwsgi.node = b'mx1'
uwsgi.version = b'2.0.19.1-debian'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7f992bac6850>
wsgi.multiprocess = True
wsgi.multithread = False
wsgi.run_once = False
wsgi.url_scheme = 'https'
wsgi.version = '(1, 0)'

Settings:
Using settings module instance.settings
ABSOLUTE_URL_OVERRIDES = {}
ADMINS = []
ALLOWED_HOSTS = [' [REDACT]']
AMAVIS_DEFAULT_DATABASE_ENCODING = 'LATIN1'
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = \"('django.contrib.auth.backends.ModelBackend',)\"
AUTH_PASSWORD_VALIDATORS = '********************'
AUTH_USER_MODEL = 'core.User'
BASE_DIR = '/mnt/data-mail/srv/modoboa/instance'
CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
CACHE_MIDDLEWARE_SECONDS = 600
CKEDITOR_ALLOW_NONIMAGE_FILES = False
CKEDITOR_BROWSE_SHOW_DIRS = True
CKEDITOR_CONFIGS = {'default': {'allowedContent': True, 'toolbar': 'Modoboa', 'width': None, 'toolbar_Modoboa': [['Bold', 'Italic', 'Underline'], ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['BidiLtr', 'BidiRtl', 'Language'], ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent'], ['Undo', 'Redo'], ['Link', 'Unlink', 'Anchor', '-', 'Smiley'], ['TextColor', 'BGColor', '-', 'Source'], ['Font', 'FontSize'], ['Image'], ['SpellChecker']]}}
CKEDITOR_IMAGE_BACKEND = 'pillow'
CKEDITOR_RESTRICT_BY_USER = True
CKEDITOR_UPLOAD_PATH = 'uploads/'
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SAMESITE = 'Lax'
CSRF_COOKIE_SECURE = True
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'modoboa', 'USER': 'modoboa', 'PASSWORD': '********************', 'HOST': '127.0.0.1', 'PORT': '', 'ATOMIC_REQUESTS': True, 'OPTIONS': {'init_command': 'SET foreign_key_checks = 0;'}, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}, 'amavis': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'amavis', 'USER': 'amavis', 'PASSWORD': '********************', 'HOST': '127.0.0.1', 'PORT': '', 'ATOMIC_REQUESTS': True, 'OPTIONS': {'init_command': 'SET foreign_key_checks = 0;'}, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = ['modoboa_amavis.dbrouter.AmavisRouter']
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISABLE_DASHBOARD_EXTERNAL_QUERIES = False
DISALLOWED_USER_AGENTS = []
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = '********************'
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = '********************'
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS = []
INSTALLED_APPS = \"('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.sites', 'django.contrib.staticfiles', 'reversion', 'ckeditor', 'ckeditor_uploader', 'rest_framework', 'rest_framework.authtoken', 'drf_spectacular', 'phonenumber_field', 'django_otp', 'django_otp.plugins.otp_totp', 'django_otp.plugins.otp_static', 'modoboa', 'modoboa.core', 'modoboa.lib', 'modoboa.admin', 'modoboa.transport', 'modoboa.relaydomains', 'modoboa.limits', 'modoboa.parameters', 'modoboa.dnstools', 'modoboa.policyd', 'modoboa.maillog', 'modoboa_amavis', 'modoboa_pdfcredentials', 'modoboa_postfix_autoreply', 'modoboa_sievefilters', 'modoboa_webmail', 'modoboa_contacts', 'modoboa_radicale', 'webpack_loader')\"
INTERNAL_IPS = []
LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'en'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LOCALE_PATHS = []
LOGGING = {'version': 1, 'formatters': {'syslog': {'format': '%(name)s: %(levelname)s %(message)s'}}, 'handlers': {'mail-admins': {'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'include_html': True}, 'syslog-auth': {'class': 'logging.handlers.SysLogHandler', 'facility': 4, 'formatter': 'syslog'}, 'syslog-mail': {'class': 'logging.handlers.SysLogHandler', 'facility': 2, 'formatter': 'syslog'}, 'modoboa': {'class': 'modoboa.core.loggers.SQLHandler'}}, 'loggers': {'django': {'handlers': ['mail-admins'], 'level': 'ERROR', 'propagate': False}, 'modoboa.auth': {'handlers': ['syslog-auth', 'modoboa'], 'level': 'INFO', 'propagate': False}, 'modoboa.admin': {'handlers': ['modoboa'], 'level': 'INFO', 'propagate': False}, 'modoboa.policyd': {'handlers': ['syslog-mail'], 'level': 'INFO', 'propagate': False}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = '/accounts/profile/'
LOGIN_URL = '/accounts/login/'
LOGOUT_REDIRECT_URL = None
MANAGERS = []
MEDIA_ROOT = '/mnt/data-mail/srv/modoboa/instance/media'
MEDIA_URL = '/media/'
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = \"('x_forwarded_for.middleware.XForwardedForMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django_otp.middleware.OTPMiddleware', 'modoboa.core.middleware.TwoFAMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'modoboa.core.middleware.LocalConfigMiddleware', 'modoboa.lib.middleware.AjaxLoginRedirect', 'modoboa.lib.middleware.CommonExceptionCatcher', 'modoboa.lib.middleware.RequestCatcherMiddleware')\"
MIGRATION_MODULES = {}
MODOBOA_API_URL = '********************'
MODOBOA_APPS = \"('modoboa', 'modoboa.core', 'modoboa.lib', 'modoboa.admin', 'modoboa.transport', 'modoboa.relaydomains', 'modoboa.limits', 'modoboa.parameters', 'modoboa.dnstools', 'modoboa.policyd', 'modoboa.maillog', 'modoboa_amavis', 'modoboa_pdfcredentials', 'modoboa_postfix_autoreply', 'modoboa_sievefilters', 'modoboa_webmail', 'modoboa_contacts', 'modoboa_radicale')\"
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
OTP_TOTP_ISSUER = ' [REDACT]'
PASSWORD_HASHERS = '********************'
PASSWORD_RESET_TIMEOUT_DAYS = '********************'
PHONENUMBER_DB_FORMAT = 'INTERNATIONAL'
PREPEND_WWW = False
REDIS_HOST = 'localhost'
REDIS_PORT = 6379
REDIS_QUOTA_DB = 0
REDIS_URL = 'redis://localhost:6379/0'
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('modoboa.core.drf_authentication.JWTAuthenticationWith2FA', 'rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication'), 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', 'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.NamespaceVersioning'}
ROOT_URLCONF = 'instance.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root@localhost'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SAMESITE = 'Lax'
SESSION_COOKIE_SECURE = True
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'instance.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = ['security.W019', 'fields.W342']
SITE_ID = 1
SPECTACULAR_SETTINGS = {'SCHEMA_PATH_PREFIX': '/api/v[0-9]', 'TITLE': 'Modoboa API', 'VERSION': None, 'SERVE_PERMISSIONS': ['rest_framework.permissions.IsAuthenticated']}
STATICFILES_DIRS = \"('/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa/bower_components',)\"
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/mnt/data-mail/srv/modoboa/instance/sitestatic'
STATIC_URL = '/sitestatic/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'modoboa.core.context_processors.top_notifications'], 'debug': False}}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'Europe/London'
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WEBPACK_LOADER = {'CONTACTS': {'CACHE': False, 'BUNDLE_DIR_NAME': 'modoboa_contacts/', 'STATS_FILE': '/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa_contacts/static/modoboa_contacts/webpack-stats.json', 'IGNORE': ['.+\\\\.hot-update.js', '.+\\\\.map']}, 'CALENDAR': {'CACHE': False, 'BUNDLE_DIR_NAME': 'modoboa_radicale/', 'STATS_FILE': '/mnt/data-mail/srv/modoboa/env/lib/python3.9/site-packages/modoboa_radicale/static/modoboa_radicale/webpack-stats.json', 'IGNORE': ['.+\\\\.hot-update.js', '.+\\\\.map']}}
WSGI_APPLICATION = 'instance.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'


You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.

"

Same problem here

I also can not send emails...

Modoboa v2.2.3

Same here
Modoboa Email Error

any Solution @tonioo Please Help

I have the same problem.
Any quick solutions?

I've allowed it through my firewall, but maybe my server provider blocks it. I'll ask them.
Thank you for responding @sabo14.

After hours of waiting for my server provider to respond, this issue still persists after making sure necessary ports are open. Any ideas? @sabo14 @tonioo

using telnet from another machine over the internet om public IP gives:

Trying *.*.*.*...
Connected to *.*.*.*.
Escape character is '^]'.
220-Welcome, please wait...
220 mail.*.com ESMTP

That was actually my reference. Word by word. Good Choice though.
Did you succeed in the end?

i have seen these logs when i click on SEND* button and get stuck

warning: TLS library problem: error:0A000412:SSL routines::sslv3 alert bad certificate:../ssl/record/rec_layer_s3.c:1584:SSL alert number 42:

it can be solved if we set webmail sending port non secure