[Pkg-mailman-hackers] Bug#997019: mailman3: Mailman itself seems to be refusing LMTP connections from Exim4

Colin Turner ct at piglets.com
Fri Oct 22 14:03:16 BST 2021


Package: mailman3
Version: 3.3.3-1
Severity: normal

Dear Maintainer,

Thank you for all your work on the mailman3 package. I have just started to try to install this and migrating a mailman2 residual configuration.

I have been unable to get mailman to receive mail from Exim4. While exim4 is selecting the correct router and transport I am getting:

2021-10-21 22:29:38 1mdfd3-005vLS-T4 == roleplay at lists.piglets.com R=mailman3_router T=mailman3_transport defer (111): Connection refused

on all emails I am trying to send as tests to the lists.

----- Exim Config -----

My exim4 transport is as follows:

# /etc/exim4/conf.d/transport/55_mm3_transport
mailman3_transport:
  driver = smtp
  protocol = lmtp
  allow_localhost
  hosts = localhost
  port = MM3_LMTP_PORT
  rcpt_include_affixes = true

and the MM3_LMTP_PORT is defined here:

# /etc/exim4/conf.d/main/25_mm3_macros
# The colon-separated list of domains served by Mailman.
domainlist mm_domains=lists.piglets.com

MM3_LMTP_PORT=8024

# MM3_HOME must be set to mailman's var directory, wherever it is
# according to your installation.
MM3_HOME=/var/lib/mailman3
MM3_UID=list
MM3_GID=list

################################################################
# The configuration below is boilerplate:
# you should not need to change it.

# The path to the list receipt (used as the required file when
# matching list addresses)
MM3_LISTCHK=MM3_HOME/lists/${local_part}.${domain}

----- mta in mailman.cfg -----

The [mta] stanza of my mailman.cfg files is as below

[mta]
# The class defining the interface to the incoming mail transport agent.
incoming: mailman.mta.exim4.LMTP
#incoming: mailman.mta.postfix.LMTP

# The callable implementing delivery to the outgoing mail transport agent.
# This must accept three arguments, the mailing list, the message, and the
# message metadata dictionary.
outgoing: mailman.mta.deliver.deliver

# How to connect to the outgoing MTA.  If smtp_user and smtp_pass is given,
# then Mailman will attempt to log into the MTA when making a new connection.
smtp_host: 127.0.0.1
smtp_port: 25
smtp_user:
smtp_pass:

# Where the LMTP server listens for connections.  Use 127.0.0.1 instead of
# localhost for Postfix integration, because Postfix only consults DNS
# (e.g. not /etc/hosts).
lmtp_host: localhost
lmtp_port: 8024

# Where can we find the mail server specific configuration file?  The path can
# be either a file system path or a Python import path.  If the value starts
# with python: then it is a Python import path, otherwise it is a file system
# path.  File system paths must be absolute since no guarantees are made about
# the current working directory.  Python paths should not include the trailing
# .cfg, which the file must end with.
configuration: python:mailman.config.exim4
#configuration: python:mailman.config.postfix

-----

I have tried restarting all the relevant services. Telnet shows the runner to be listening

root at gondolin:~# telnet localhost 8024
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 gondolin.piglets.org GNU Mailman LMTP runner 2.0

But for some reason all email inbound is being rejected as connection refused. I have probably made an elementary error, but I'm not sure where if so, so apologies in advance.

Kind regards,

CT.

PS. I also ran into the issue #996560 of broken web links and fixed it with the same workaround

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mailman3 depends on:
ii  dbconfig-sqlite3             2.0.20
ii  debconf [debconf-2.0]        1.5.77
ii  init-system-helpers          1.60
ii  logrotate                    3.18.1-2
ii  lsb-base                     11.1.0
ii  python3                      3.9.2-3
ii  python3-aiosmtpd             1.4.2-1
ii  python3-alembic              1.7.1-3
ii  python3-authheaders          0.13.0-1
ii  python3-authres              1.2.0-2
ii  python3-click                7.1.2-1
ii  python3-dateutil             2.8.1-6
ii  python3-dnspython            2.0.0-1
ii  python3-falcon               3.0.1-2
ii  python3-flufl.bounce         3.0.1-1
ii  python3-flufl.i18n           3.0.1-1
ii  python3-flufl.lock           5.0.1-1
ii  python3-gunicorn             20.1.0-1
ii  python3-importlib-resources  5.1.2-1
ii  python3-lazr.config          2.2.3-1
ii  python3-passlib              1.7.4-1
ii  python3-psycopg2             2.8.6-2
ii  python3-public               0.5-1.1
ii  python3-pymysql              1.0.2-2
ii  python3-requests             2.25.1+dfsg-2
ii  python3-sqlalchemy           1.3.22+ds1-1
ii  python3-zope.component       4.3.0-3
ii  python3-zope.configuration   4.4.0-1
ii  python3-zope.event           4.4-3
ii  python3-zope.interface       5.4.0-1
ii  ucf                          3.0043

Versions of packages mailman3 recommends:
ii  exim4-daemon-heavy [mail-transport-agent]  4.95-2

Versions of packages mailman3 suggests:
pn  mailman3-doc                                <none>
ii  mariadb-server-10.5 [virtual-mysql-server]  1:10.5.12-1
ii  w3m [www-browser]                           0.5.3+git20210102-6

-- debconf information:
  mailman3/passwords-do-not-match:
  mailman3/config_hyperkitty:
  mailman3/dbconfig-reinstall: false
  mailman3/internal/skip-preseed: false
  mailman3/upgrade-backup: true
  mailman3/remote/port:
  mailman3/pgsql/authmethod-admin: ident
* mailman3/mysql/admin-user: root
  mailman3/init_service_failed:
  mailman3/pgsql/changeconf: false
* mailman3/database-type: mysql
* mailman3/dbconfig-install: true
  mailman3/missing-db-package-error: abort
  mailman3/purge: false
  mailman3/remote/host: localhost
  mailman3/remove-error: abort
  mailman3/db/basepath: /var/lib/mailman3/data
  mailman3/mysql/method: Unix socket
  mailman3/dbconfig-upgrade: true
  mailman3/pgsql/manualconf:
  mailman3/db/dbname: mailman3
  mailman3/pgsql/no-empty-passwords:
  mailman3/dbconfig-remove: true
  mailman3/db/app-user: mailman3 at localhost
  mailman3/pgsql/authmethod-user: password
  mailman3/remote/newhost:
  mailman3/install-error: abort
  mailman3/internal/reconfiguring: false
  mailman3/mysql/authplugin: default
  mailman3/pgsql/method: TCP/IP
  mailman3/upgrade-error: abort
  mailman3/pgsql/admin-user: postgres



More information about the Pkg-mailman-hackers mailing list