The smtpd.service unit should have PIDFile=/run/smtpd.pid in the [Service] section so systemd can determine the main process PID reliably. The smtpd.socket unit should be removed. It would require code changes to make smtpd use the socket passed by systemd. At present, smtpd always creates a new fd and calls connect(), which fails because systemd has already called connect() on the socket.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c72dffdc796b9aa428abc9e9d557f817f6f9baa commit 1c72dffdc796b9aa428abc9e9d557f817f6f9baa Author: David Seifert <soap@gentoo.org> AuthorDate: 2023-08-26 14:21:08 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2023-08-26 14:21:08 +0000 mail-mta/opensmtpd: add 7.3.0_p1 Bug: https://bugs.gentoo.org/779076 Bug: https://bugs.gentoo.org/881701 Bug: https://bugs.gentoo.org/899788 Bug: https://bugs.gentoo.org/908836 Signed-off-by: David Seifert <soap@gentoo.org> mail-mta/opensmtpd/Manifest | 1 + mail-mta/opensmtpd/files/smtpd-r1.service | 11 ++++ mail-mta/opensmtpd/opensmtpd-7.3.0_p1.ebuild | 91 ++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+)