I have issue where it does not send emails on to people in the list I create.
Hello, I am quite new to Mailman3 and have been trying to get a working local test setup on a single VM (Centos07) I have issue where if I send an email to the list. it does not send emails on to the people subscribed to that list. Note the steps below were put together from memory after a few days of repeatably trying different things so there will be some inaccuracies I have mailman running on same local box as postfix, postorius and hyperkitty. I have root as the superuser in Postorius and have tried the following: In unix shell created new user 'developer' In unix shell created new user 'tester' In shell send an email from developer user to tester: echo 'Hello' | mailx -s 'Hello Subject line' tester@sandbox.mytest.com Confirmed user tester received email in cat /home/tester/Maildir/new/ folder: Return-Path: <developer@cloud7.sandbox.mytest.com> X-Original-To: tester@cloud7.sandbox.mytest.com Delivered-To: tester@cloud7.sandbox.mytest.com Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000) In Postorius web frontend: Signed up as root Received confirmation email in /root/Maildir/new/ folder so cut and pasted the Url in the email to activate account. Created new list called testlist@sandbox.mytest.com Logged out Signed up as tester Received confirmation email in /home/tester/Maildir/new/ folder so cut and pasted the Url to activate account. Subscribed tester to the testlist. Next in unix shell su as developer and send an email to testlist@sandbox.mytest.com The root user gets the following email Content-Transfer-Encoding: 7bit Subject: Your message to testlist@cloud7.sandbox.mytest.com awaits moderator approval From: testlist-bounces@cloud7.sandbox.mytest.com To: developer@cloud7.sandbox.mytest.com Message-ID: <158824480291.3035.17408340520496115243@localhost.localdomain> Date: Thu, 30 Apr 2020 11:06:42 +0000 Precedence: bulk X-Mailman-Version: 3.3.0 Your mail to 'testlist@cloud7.sandbox.mytest.com' with the subject hello there 2 Is being held until the list moderator can review it for approval. The message is being held because: The message is not from a list member Either the message will get posted to the list, or you will receive notification of the moderator's decision. Once I have gone back into Postorius as root and approved the message, root user gets a second email: Return-Path: <testlist-bounces@cloud7.sandbox.mytest.com> X-Original-To: root@cloud7.sandbox.mytest.com Delivered-To: root@cloud7.sandbox.mytest.com Received: from localhost.localdomain (localhost [IPv6:::1]) by cloud7.sandbox.mytest.com (Postfix) with ESMTP id E056A84CE4 for <root@cloud7.sandbox.mytest.com>; Thu, 30 Apr 2020 11:09:10 +0000 (UTC) Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000) id 8F1B684CE4; Thu, 30 Apr 2020 11:06:41 +0000 (UTC) Date: Thu, 30 Apr 2020 11:06:41 +0000 To: testlist@cloud7.sandbox.mytest.com User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20200430110641.8F1B684CE4@sandbox.mytest.com> From: developer@cloud7.sandbox.mytest.com X-MailFrom: developer@cloud7.sandbox.mytest.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY X-Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY X-Mailman-Approved-At: Thu, 30 Apr 2020 11:09:10 +0000 X-Mailman-Version: 3.3.0 Precedence: list Subject: [Testlist] hello there 2 List-Id: A test list <testlist.sandbox.mytest.com> List-Help: <mailto:testlist-request@sandbox.mytest.com?subject=help> List-Post: <mailto:testlist@sandbox.mytest.com> List-Subscribe: <mailto:testlist-join@sandbox.mytest.com> List-Unsubscribe: <mailto:testlist-leave@sandbox.mytest.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit A test email 2 _______________________________________________ Testlist mailing list -- testlist@sandbox.mytest.com To unsubscribe send an email to testlist-leave@sandbox.mytest.com At no point does the email appear in the tester@sandbox.mytest.com Maildir Configs as follows.. ================================================================================================== /etc/postfix/main.cf: ================================================================================================== queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix myhostname = cloud7.sandbox.mytest.com mydomain = sandbox.mytest.com myorigin = $mydomain inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost, mail.$mydomain, www.$mydomain, ftp.$mydomain, sandbox.mytest.com unknown_local_recipient_reject_code = 550 # Next line Obfuscated mynetworks = 192.***.***.0/24, 127.0.0.0/8 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases recipient_delimiter = + home_mailbox = Maildir/ debug_peer_level = 2 debug_peer_list = sandbox.mytest.com debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES disable_dns_lookups = yes owner_request_special = no transport_maps = hash:/var/lib/mailman/data/postfix_lmtp # Setting to nothing fixes 'Recepient address rejected: User unknown in local recipient table local_recipient_maps = relay_domains = hash:/var/lib/mailman/data/postfix_domains ================================================================================================== /etc/mailman.cfg ================================================================================================== [devmode] enabled: yes recipient: root@sandbox.mytest.com [mailman] # local = Recommended as installing mailman from source. Folder structure in /var/tmp/mailman # fhs = /var/bin, /var/log, etc.. layout: fhs [logging.database] level: info [mta] # This config is for when mailman and the MTA (Postfix) are on the same host incoming: mailman.mta.postfix.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: 127.0.0.1 lmtp_port: 8024 smtp_host: localhost smtp_port: 25 configuration: python:mailman.config.postfix [webservice] hostname: localhost port: 8001 use_https: no admin_user: restadmin admin_pass: restpass api_version: 3.1 ================================================================================================== /etc/mailman-suite-1.0.0/mailman-suite_project/settings.py ================================================================================================== In this file the main changes were: DEBUG=True SERVER_EMAIL = 'root@localhost.local' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' Commented out three lines of code: # if DEBUG == True: # EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' # EMAIL_FILE_PATH = os.path.join(BASE_DIR, 'emails') Complete file: """ Django Settings for Mailman Suite (hyperkitty + postorius) For more information on this file, see https://docs.djangoproject.com/en/1.8/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.8/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'change-this-on-your-production-server' # SECURITY WARNING: don't run with debug turned on in production! # Have to keep it True atm as the css styles screw up when set to False DEBUG = True ADMINS = ( ('Mailman Suite Admin', 'root@localhost'), ) SITE_ID = 1 # Hosts/domain names that are valid for this site; required if DEBUG is False # See https://docs.djangoproject.com/en/1.8/ref/settings/#allowed-hosts ALLOWED_HOSTS = [ "localhost", # Archiving API from Mailman, keep it. "MAILMAN_SERVER_ADDRESS", <--- I inject IP Address here # Add here all production URLs you may have. ] # Mailman API credentials MAILMAN_REST_API_URL = 'http://localhost:8001' MAILMAN_REST_API_USER = 'restadmin' MAILMAN_REST_API_PASS = 'restpass' MAILMAN_ARCHIVER_KEY = 'SecretArchiverAPIKey' MAILMAN_ARCHIVER_FROM = ('127.0.0.1', '::1') # Application definition INSTALLED_APPS = ( 'hyperkitty', 'postorius', 'django_mailman3', # Uncomment the next line to enable the admin: 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'django_gravatar', 'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth', 'allauth.account', 'allauth.socialaccount', 'django_mailman3.lib.auth.fedora', 'allauth.socialaccount.providers.openid', 'allauth.socialaccount.providers.github', 'allauth.socialaccount.providers.gitlab', 'allauth.socialaccount.providers.google', # 'allauth.socialaccount.providers.facebook', 'allauth.socialaccount.providers.twitter', 'allauth.socialaccount.providers.stackexchange', ) MIDDLEWARE = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_mailman3.middleware.TimezoneMiddleware', 'postorius.middleware.PostoriusMiddleware', ) ROOT_URLCONF = 'urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.csrf', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django_mailman3.context_processors.common', 'hyperkitty.context_processors.common', 'postorius.context_processors.postorius', ], }, }, ] WSGI_APPLICATION = 'wsgi.application' # Database # https://docs.djangoproject.com/en/1.8/ref/settings/#databases DATABASES = { 'default': { # Use 'sqlite3', 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'ENGINE': 'django.db.backends.sqlite3', # DB name or path to database file if using sqlite3. 'NAME': os.path.join(BASE_DIR, 'mailmansuite.db'), # The following settings are not used with sqlite3: 'USER': 'mailmansuite', 'PASSWORD': 'mmpass', # HOST: empty for localhost through domain sockets or '127.0.0.1' for # localhost through TCP. 'HOST': '', # PORT: set to empty string for default. 'PORT': '', } # Example for PostgreSQL (recommanded for production): #'default': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'database_name', # 'USER': 'database_user', # 'PASSWORD': 'database_password', # 'HOST': 'localhost', #} } # If you're behind a proxy, use the X-Forwarded-Host header # See https://docs.djangoproject.com/en/1.8/ref/settings/#use-x-forwarded-host # USE_X_FORWARDED_HOST = True # And if your proxy does your SSL encoding for you, set SECURE_PROXY_SSL_HEADER # https://docs.djangoproject.com/en/1.8/ref/settings/#secure-proxy-ssl-header # SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') # SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_SCHEME', 'https') # Other security settings # SECURE_SSL_REDIRECT = True # If you set SECURE_SSL_REDIRECT to True, make sure the SECURE_REDIRECT_EXEMPT # contains at least this line: # SECURE_REDIRECT_EXEMPT = [ # "archives/api/mailman/.*", # Request from Mailman. # ] # SESSION_COOKIE_SECURE = True # SECURE_CONTENT_TYPE_NOSNIFF = True # SECURE_BROWSER_XSS_FILTER = True # CSRF_COOKIE_SECURE = True # CSRF_COOKIE_HTTPONLY = True # X_FRAME_OPTIONS = 'DENY' # Password validation # https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/1.8/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.8/howto/static-files/ # Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/var/www/example.com/static/" STATIC_ROOT = os.path.join(BASE_DIR, 'static') # URL prefix for static files. # Example: "http://example.com/static/", "http://static.example.com/" STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. # BASE_DIR + '/static/', ) # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', 'compressor.finders.CompressorFinder', ) # Django 1.6+ defaults to a JSON serializer, but it won't work with # django-openid, see # https://bugs.launchpad.net/django-openid-auth/+bug/1252826 SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer' LOGIN_URL = 'account_login' LOGIN_REDIRECT_URL = 'list_index' LOGOUT_URL = 'account_logout' # If you enable internal authentication, this is the address that the emails # will appear to be coming from. Make sure you set a valid domain name, # otherwise the emails may get rejected. # https://docs.djangoproject.com/en/1.8/ref/settings/#default-from-email # DEFAULT_FROM_EMAIL = "mailing-lists@you-domain.org" DEFAULT_FROM_EMAIL = 'postorius@localhost.local' # If you enable email reporting for error messages, this is where those emails # will appear to be coming from. Make sure you set a valid domain name, # otherwise the emails may get rejected. # https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SERVER_EMAIL # SERVER_EMAIL = 'root@your-domain.org' SERVER_EMAIL = 'root@localhost.local' EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # Compatibility with Bootstrap 3 from django.contrib.messages import constants as messages # flake8: noqa MESSAGE_TAGS = { messages.ERROR: 'danger' } # # Social auth # AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) # Django Allauth ACCOUNT_AUTHENTICATION_METHOD = "username_email" ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = "mandatory" # You probably want https in production, but this is a dev setup file ACCOUNT_DEFAULT_HTTP_PROTOCOL = "http" ACCOUNT_UNIQUE_EMAIL = True SOCIALACCOUNT_PROVIDERS = { 'openid': { 'SERVERS': [ dict(id='yahoo', name='Yahoo', openid_url='http://me.yahoo.com'), ], }, 'google': { 'SCOPE': ['profile', 'email'], 'AUTH_PARAMS': {'access_type': 'online'}, }, 'facebook': { 'METHOD': 'oauth2', 'SCOPE': ['email'], 'FIELDS': [ 'email', 'name', 'first_name', 'last_name', 'locale', 'timezone', ], 'VERSION': 'v2.4', }, } # # Gravatar # https://github.com/twaddington/django-gravatar # # Gravatar base url. # GRAVATAR_URL = 'http://cdn.libravatar.org/' # Gravatar base secure https url. # GRAVATAR_SECURE_URL = 'https://seccdn.libravatar.org/' # Gravatar size in pixels. # GRAVATAR_DEFAULT_SIZE = '80' # An image url or one of the following: 'mm', 'identicon', 'monsterid', # 'wavatar', 'retro'. # GRAVATAR_DEFAULT_IMAGE = 'mm' # One of the following: 'g', 'pg', 'r', 'x'. # GRAVATAR_DEFAULT_RATING = 'g' # True to use https by default, False for plain http. # GRAVATAR_DEFAULT_SECURE = True # # django-compressor # https://pypi.python.org/pypi/django_compressor # COMPRESS_PRECOMPILERS = ( ('text/less', 'lessc {infile} {outfile}'), ('text/x-scss', 'sass -t compressed {infile} {outfile}'), ('text/x-sass', 'sass -t compressed {infile} {outfile}'), ) # On a production setup, setting COMPRESS_OFFLINE to True will bring a # significant performance improvement, as CSS files will not need to be # recompiled on each requests. It means running an additional "compress" # management command after each code upgrade. # http://django-compressor.readthedocs.io/en/latest/usage/#offline-compression # COMPRESS_OFFLINE = True # Needed for debug mode # INTERNAL_IPS = ('127.0.0.1',) # # Full-text search engine # HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': os.path.join(BASE_DIR, "fulltext_index"), # You can also use the Xapian engine, it's faster and more accurate, # but requires another library. # http://django-haystack.readthedocs.io/en/v2.4.1/installing_search_engines.ht... # Example configuration for Xapian: #'ENGINE': 'xapian_backend.XapianEngine' }, } # # Asynchronous tasks # Q_CLUSTER = { 'timeout': 300, 'save_limit': 100, 'orm': 'default', } # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/en/dev/topics/logging for # more details on how to customize your logging configuration. LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse' } }, 'handlers': { 'mail_admins': { #'level': 'ERROR', 'level': 'INFO', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' }, 'file':{ #'level': 'ERROR', 'level': 'INFO', #'class': 'logging.handlers.RotatingFileHandler', 'class': 'logging.handlers.WatchedFileHandler', 'filename': os.path.join(BASE_DIR, 'logs', 'mailmansuite.log'), 'formatter': 'verbose', }, 'console': { 'class': 'logging.StreamHandler', 'formatter': 'simple', }, }, 'loggers': { 'django.request': { 'handlers': ['mail_admins', 'file'], #'level': 'ERROR', 'level': 'INFO', 'propagate': True, }, 'django': { 'handlers': ['file'], #'level': 'ERROR', 'level': 'INFO', 'propagate': True, }, 'hyperkitty': { 'handlers': ['file'], #'level': 'DEBUG', 'level': 'INFO', 'propagate': True, }, 'postorius': { 'handlers': ['console', 'file'], #'level': 'ERROR', 'level': 'INFO', }, }, 'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s' }, 'simple': { 'format': '%(levelname)s %(message)s' }, }, 'root': { 'handlers': ['file'], #'level': 'ERROR', 'level': 'INFO', }, } # Using the cache infrastructure can significantly improve performance on a # production setup. This is an example with a local Memcached server. #CACHES = { # 'default': { # 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache', # 'LOCATION': '127.0.0.1:11211', # } #} # When DEBUG is True, don't actually send emails to the SMTP server, just store # them in a directory. This way you won't accidentally spam your mailing-lists # while you're fiddling with the code. # Kept DEBUG=True as it breaks css styling when set to False so commented out this code as temp fix. #if DEBUG == True: # EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' # EMAIL_FILE_PATH = os.path.join(BASE_DIR, 'emails') # # HyperKitty-specific # # Only display mailing-lists from the same virtual host as the webserver FILTER_VHOST = False POSTORIUS_TEMPLATE_BASE_URL = 'http://localhost:8000' try: from settings_local import * except ImportError: pass
On 4/30/20 8:30 AM, john_warland@hotmail.com wrote:
Hello,
I am quite new to Mailman3 and have been trying to get a working local test setup on a single VM (Centos07)
I have issue where if I send an email to the list. it does not send emails on to the people subscribed to that list.
Note the steps below were put together from memory after a few days of repeatably trying different things so there will be some inaccuracies
I have mailman running on same local box as postfix, postorius and hyperkitty.
I have root as the superuser in Postorius and have tried the following:
In unix shell created new user 'developer' In unix shell created new user 'tester'
In shell send an email from developer user to tester: echo 'Hello' | mailx -s 'Hello Subject line' tester@sandbox.mytest.com
Confirmed user tester received email in cat /home/tester/Maildir/new/ folder:
Return-Path: <developer@cloud7.sandbox.mytest.com> X-Original-To: tester@cloud7.sandbox.mytest.com Delivered-To: tester@cloud7.sandbox.mytest.com Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000)
In Postorius web frontend:
Signed up as root Received confirmation email in /root/Maildir/new/ folder so cut and pasted the Url in the email to activate account. Created new list called testlist@sandbox.mytest.com Logged out Signed up as tester Received confirmation email in /home/tester/Maildir/new/ folder so cut and pasted the Url to activate account. Subscribed tester to the testlist.
Next in unix shell su as developer and send an email to testlist@sandbox.mytest.com
The root user gets the following email Content-Transfer-Encoding: 7bit Subject: Your message to testlist@cloud7.sandbox.mytest.com awaits moderator approval From: testlist-bounces@cloud7.sandbox.mytest.com To: developer@cloud7.sandbox.mytest.com Message-ID: <158824480291.3035.17408340520496115243@localhost.localdomain> Date: Thu, 30 Apr 2020 11:06:42 +0000 Precedence: bulk X-Mailman-Version: 3.3.0 Your mail to 'testlist@cloud7.sandbox.mytest.com' with the subject hello there 2 Is being held until the list moderator can review it for approval. The message is being held because: The message is not from a list member Either the message will get posted to the list, or you will receive notification of the moderator's decision.
Once I have gone back into Postorius as root and approved the message, root user gets a second email:
Return-Path: <testlist-bounces@cloud7.sandbox.mytest.com> X-Original-To: root@cloud7.sandbox.mytest.com Delivered-To: root@cloud7.sandbox.mytest.com Received: from localhost.localdomain (localhost [IPv6:::1]) by cloud7.sandbox.mytest.com (Postfix) with ESMTP id E056A84CE4 for <root@cloud7.sandbox.mytest.com>; Thu, 30 Apr 2020 11:09:10 +0000 (UTC) Received: by cloud7.sandbox.mytest.com (Postfix, from userid 1000) id 8F1B684CE4; Thu, 30 Apr 2020 11:06:41 +0000 (UTC) Date: Thu, 30 Apr 2020 11:06:41 +0000 To: testlist@cloud7.sandbox.mytest.com User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20200430110641.8F1B684CE4@sandbox.mytest.com> From: developer@cloud7.sandbox.mytest.com X-MailFrom: developer@cloud7.sandbox.mytest.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY X-Message-ID-Hash: FAPTJKJRZG2ELSOSBRBIDOBWXP3Y5QAY X-Mailman-Approved-At: Thu, 30 Apr 2020 11:09:10 +0000 X-Mailman-Version: 3.3.0 Precedence: list Subject: [Testlist] hello there 2 List-Id: A test list <testlist.sandbox.mytest.com> List-Help: <mailto:testlist-request@sandbox.mytest.com?subject=help> List-Post: <mailto:testlist@sandbox.mytest.com> List-Subscribe: <mailto:testlist-join@sandbox.mytest.com> List-Unsubscribe: <mailto:testlist-leave@sandbox.mytest.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit A test email 2 _______________________________________________ Testlist mailing list -- testlist@sandbox.mytest.com To unsubscribe send an email to testlist-leave@sandbox.mytest.com
At no point does the email appear in the tester@sandbox.mytest.com Maildir
Why does root get the list post? Is root also a member of the list.
What's in logs? Mailman's logs and the MTA logs
Configs as follows..
tl;dr and mostly irrelevant.
What do the following shell commands show
mailman members testlist.sandbox.mytest.com
mailman members -r testlist.sandbox.mytest.com
mailman members -n any testlist.sandbox.mytest.com
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Hi, thanks for your reply.
root is not a member of the list but I made it the mailman-suite superuser that you have to set up using the command: sudo python3 manage.py createsuperuser
mailman members testlist.sandbox.mytest.com returns: tester@sandbox.mytest.com
mailman members -r testlist.sandbox.mytest.com returns: tester@sandbox.mytest.com
mailman members -n any testlist.sandbox.mytest.com doesn't return anything.
I will have to re-run my testing tomorrow to get clearer logs but I cannot see any errors.
On 4/30/20 12:35 PM, john_warland@hotmail.com wrote:
Hi, thanks for your reply.
root is not a member of the list but I made it the mailman-suite superuser that you have to set up using the command: sudo python3 manage.py createsuperuser
You are running in development mode so all mail goes to the site admin.
/etc/mailman.cfg
[devmode] enabled: yes recipient: root@sandbox.mytest.com
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Thank you very much!!! Just tested and it now works as I expect
I had been concentrating so much on the mailman suite config file as I was sure the answer was a setting in there that I didn't think to double check the mailman.cfg
For clarity, commenting out these lines in the mailman.cfg file was the fix:
#[devmode] #enabled: yes #recipient: root@sandbox.mytest.com
On 4/30/20 1:09 PM, john_warland@hotmail.com wrote:
I had been concentrating so much on the mailman suite config file as I was sure the answer was a setting in there that I didn't think to double check the mailman.cfg
For what it's worth, The actual mail list management, i.e. receiving and delivering posts, only involves Mailman core and your mailman suite config file is only for Postorius and HyperKitty and doesn't affect Mailman core.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
john_warland@hotmail.com
-
Mark Sapiro