SMTP_SENDER_FALLBACK being ignored SMTP_ALLOWED_SENDERS
Despite setting both values the system is always sending as mail FROM whatever is the user/reviewer is sending the notification.
Also system messages are sent via the main admin email and not from the SMTP_SENDER_FALLBACK
Did you restart indico-celery.service after making the config change?
yes i am using a dockerized instance on elestio so each time i was restarting everything. I tried litteraly everything, even to disable celery and let the smtp send directly, no way seems still using the from and ignoring the settings.
this is my indico.conf
# Database
import os
SQLALCHEMY_DATABASE_URI = f'postgresql://{os.environ["PGUSER"]}:{os.environ["PGPASSWORD"]}@{os.environ["PGHOST"]}:38791/{os.environ["PGDATABASE"]}'
del os
# Change this to something long and random
SECRET_KEY = '--redacted--'
# BASE_URL = 'http://localhost:8080'
BASE_URL = 'https:/--redacted--'
USE_PROXY = True
DEFAULT_TIMEZONE = 'Europe/Rome'
DEFAULT_LOCALE = 'it_IT'
REDIS_CACHE_URL = 'redis://172.17.0.1:9736/0'
CELERY_BROKER = 'redis://172.17.0.1:9736/1'
# Change these emails to something sensible
SMTP_USE_CELERY = False
SMTP_SERVER = ('smtp.redacted.com', 587)
SMTP_LOGIN = '[email protected]'
SMTP_PASSWORD = 'redacted'
SMTP_USE_TLS = False
NO_REPLY_EMAIL = '[email protected]'
SMTP_SENDER_FALLBACK = '[email protected]'
SUPPORT_EMAIL = '[email protected]'
SMTP_ALLOWED_SENDERS = {'*@redacted.com'}
ENABLE_ROOMBOOKING = False
LOG_DIR = '/opt/indico/log'
TEMP_DIR = '/opt/indico/tmp'
CACHE_DIR = '/opt/indico/cache'
CUSTOMIZATION_DIR = '/opt/indico/custom'
STORAGE_BACKENDS = {'default': 'fs:/opt/indico/archive'}
ATTACHMENT_STORAGE = 'default'
CUSTOMIZATION_DEBUG = False
XELATEX_PATH = '/usr/bin/xelatex'
LOGO_URL = 'https://redacted.com/i.png'
# Specify the plugins you need here
PLUGINS = {'previewer_code'}
this is my docker-compose
services:
# The main Indico container which runs flask
# The same image is also used to run celery
indico-web: &indico-web
image: elestio/indico:${SOFTWARE_VERSION_TAG}
restart: always
command: "/opt/indico/run_indico.sh"
depends_on:
- indico-redis
- indico-celery
environment:
- PGHOST=${PGHOST}
- PGUSER=${PGUSER}
- PGPORT=${PGPORT}
- PGPASSWORD=${PGPASSWORD}
- PGDATABASE=${PGDATABASE}
- SERVICE_HOSTNAME=${SERVICE_HOSTNAME}
- SMTP_SERVER_HOST=${SMTP_SERVER_HOST}
- SMTP_SERVER_PORT=${SMTP_SERVER_PORT}
- SMTP_LOGIN=${SMTP_LOGIN}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_USE_TLS=${SMTP_USE_TLS}
- SMTP_SENDER_FALLBACK=${SMTP_SENDER_FALLBACK}
- SUPPORT_EMAIL=${SUPPORT_EMAIL}
- SMTP_ALLOWED_SENDERS=${SMTP_ALLOWED_SENDERS}
- NO_REPLY_EMAIL=${NO_REPLY_EMAIL}
networks:
- backend
- frontend
# ports:
# # Indico is accessible either via nginx (localhost:8080 by default), or
# # directly via localhost:9090. In that case, static assets are served by flask
# - 172.17.0.1:3634:59999
volumes:
- "archive:/opt/indico/archive" # file storage
- "customization:/opt/indico/custom"
- "static-files:/opt/indico/static"
- "./indico-logs:/opt/indico/log" # logs
- ./indico.conf:/opt/indico/etc/indico.conf
- ./logging.yaml:/opt/indico/etc/logging.yaml
tmpfs:
- /opt/indico/tmp:mode=0777
- /var/cache/fontconfig:mode=0777
# Indico celery
indico-celery: &indico-celery
restart: always
<<: *indico-web
command: /opt/indico/run_celery.sh
depends_on:
- indico-redis
networks:
- backend
ports: []
# Indico celery beat
indico-celery-beat:
restart: always
<<: *indico-celery
command: /opt/indico/run_celery.sh beat
# Redis
indico-redis:
restart: always
image: elestio/redis:7.2
networks:
- backend
volumes:
- "./redis:/data"
ports:
- 172.17.0.1:9736:6379
# Postgres
indico-postgres:
image: elestio/postgres:15
restart: always
environment:
- POSTGRES_USER=${PGUSER}
- POSTGRES_PASSWORD=${PGPASSWORD}
- POSTGRES_DB=${PGDATABASE}
networks:
- backend
volumes:
- "./postgres-data:/var/lib/postgresql/data"
ports:
- 172.17.0.1:38791:5432
# Nginx proxy
# Indico can be accessed by default via localhost:8080
indico-nginx:
image: ghcr.io/nginxinc/nginx-unprivileged:stable-alpine
restart: always
networks:
- frontend
ports:
- "172.17.0.1:3634:8080"
volumes:
- "static-files:/opt/indico/static:ro"
- "./nginx.conf:/etc/nginx/conf.d/default.conf:ro"
pgadmin:
image: elestio/pgadmin:latest
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: ${ADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${ADMIN_PASSWORD}
PGADMIN_LISTEN_PORT: 8080
ports:
- "172.17.0.1:27977:8080"
volumes:
- ./servers.json:/pgadmin4/servers.json
networks:
backend: {}
frontend: {}
volumes:
fontconfig-cache:
driver: local
driver_opts:
type: none
device: ${PWD}/fontconfig-cache
o: bind
archive:
driver: local
driver_opts:
type: none
device: ${PWD}/archive
o: bind
static-files:
driver: local
driver_opts:
type: none
device: ${PWD}/static-files
o: bind
customization:
driver: local
driver_opts:
type: none
device: ${PWD}/customization
o: bind
i really dom't know how to debug any further
Can you please provide concrete examples? ie the actual message headers (From and Reply-to) from emails you consider incorrect? You can redact your domain if needed.
What version is this elestio container based on, it is not the offical indico container. The new SMTP_FALLBACK_SENDER handling was introduced in indico 3.3.5 according to the change log. ( released 2.12.2024)