Dear KumoMTA Team,
I need assistance regarding VERP and Bounce emails.
KumoMTA Version: 2024.09.02-c5476b89
OS: Linux smtp-iunox 6.8.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-2 (2024-04-10T17:36Z) x86_64 x86_64 x86_64 GNU/Linux
We have successfully configured KumoMTA as an outgoing SMTP server for a newsletter system, handling multiple tenants and source IPs. So far, it has been working well.
It became necessary to configure VERP. We managed to send emails to Gmail and Yahoo successfully, with the return-path being set correctly. However, when sending to non-existent addresses, the Mail Delivery email does not arrive at the address specified in the return-path. We can see the email in the logs under the bounce category, but it doesn’t show up in the email account.
I tried configuring this, but it had no effect. I’m not even sure if this is what I need in my case:
https://docs.kumomta.com/userguide/configuration/bounce/
Using the same VERP test email on a Postfix server, all mail delivery emails arrive at the address specified in the return-path.
I’m a bit lost among DNS / MDN / NDN issues. Could it be that this needs to be approached differently, or is it related to this?
https://github.com/KumoCorp/kumomta/issues/198
Thanks for your help in advance.
Mike
(Mike Hillyer)
September 19, 2024, 12:58pm
3
Read the READ ME FIRST above and provide the additional information required.
SWAKS
swaks --to asdasdasdbranko@indamail.hu --from bounce+brankovics.teszt=gmail.com@iuno.hu --server smtp-iunox.webdream.lan --port 25
=== Trying smtp-iunox.webdream.lan:25...
=== Connected to smtp-iunox.webdream.lan.
<- 220 iunox.webdream.hu Welcome to WebdreamMTA - IunoX
-> EHLO prometheus
<- 250-iunox.webdream.hu Aloha prometheus
<- 250-PIPELINING
<- 250-ENHANCEDSTATUSCODES
<- 250 STARTTLS
-> MAIL FROM:<bounce+brankovics.teszt=gmail.com@iuno.hu>
<- 250 OK EnvelopeAddress("bounce+brankovics.teszt=gmail.com@iuno.hu")
-> RCPT TO:<asdasdasdbranko@indamail.hu>
<- 250 OK EnvelopeAddress("asdasdasdbranko@indamail.hu")
-> DATA
<- 354 Send body; end with CRLF.CRLF
-> Date: Thu, 19 Sep 2024 15:22:58 +0200
-> To: asdasdasdbranko@indamail.hu
-> From: bounce+brankovics.teszt=gmail.com@iuno.hu
-> Subject: test Thu, 19 Sep 2024 15:22:58 +0200
-> Message-Id: <20240919152258.078129@prometheus>
-> X-Mailer: swaks v20190914.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
->
-> .
<- 250 OK ids=49b8002b768a11efaf8dbc2411885e85
-> QUIT
<- 221 So long, and thanks for all the fish!
=== Connection closed with remote host.
KumoMTA Log:
{"type":"Reception","id":"49b8002b768a11efaf8dbc2411885e85","sender":"bounce+brankovics.teszt=gmail.com@iuno.hu","recipient":"asdasdasdbranko@indamail.hu","queue":"Site-A@indamail.hu","site":"","size":1166,"response":{"code":250,"enhanced_code":null,"content":"","command":null},"peer_address":{"name":"prometheus","addr":"10.252.1.187"},"timestamp":1726752178,"created":1726752178,"num_attempts":0,"bounce_classification":"Uncategorized","egress_pool":null,"egress_source":null,"source_address":null,"feedback_report":null,"meta":{},"headers":{"To":"asdasdasdbranko@indamail.hu","Subject":"test Thu, 19 Sep 2024 15:22:58 +0200","From":"bounce+brankovics.teszt=gmail.com@iuno.hu"},"delivery_protocol":null,"reception_protocol":"ESMTP","nodeid":"160e1749-8eb7-4d0d-b589-e107a8eb556e"}
/srv/kumomta/log/20240919-132303_bounce
{"type":"Bounce","id":"49b8002b768a11efaf8dbc2411885e85","sender":"bounce+brankovics.teszt=gmail.com@iuno.hu","recipient":"asdasdasdbranko@indamail.hu","queue":"Site-A@indamail.hu","site":"site-a-pool-src-1->mx.dka.mailcore.net@smtp_client","size":1166,"response":{"code":550,"enhanced_code":{"class":5,"subject":1,"detail":1},"content":"<asdasdasdbranko@indamail.hu>: Recipient address rejected: User unknown in relay recipient table","command":"RCPT TO:<asdasdasdbranko@indamail.hu>\r\n"},"peer_address":{"name":"mx.dka.mailcore.net.","addr":"185.138.56.208"},"timestamp":1726752183,"created":1726752178,"num_attempts":0,"bounce_classification":"InvalidRecipient","egress_pool":"site-a-pool","egress_source":"site-a-pool-src-1","source_address":{"address":"10.1.1.32:51613"},"feedback_report":null,"meta":{},"headers":{"From":"bounce+brankovics.teszt=gmail.com@iuno.hu","To":"asdasdasdbranko@indamail.hu","Subject":"test Thu, 19 Sep 2024 15:22:58 +0200"},"delivery_protocol":"ESMTP","reception_protocol":"ESMTP","nodeid":"160e1749-8eb7-4d0d-b589-e107a8eb556e","tls_cipher":"TLS13_AES_256_GCM_SHA384","tls_protocol_version":"TLSv1_3","tls_peer_subject_name":["CN=mx.dka.mailcore.net"]}
[10.252.1.187:34978->10.1.1.32:25] 0ns === Connected 2024-09-19 13:22:58.556823854 UTC
[10.252.1.187:34978->10.1.1.32:25] 0ns === conn_meta hostname="iunox.webdream.hu"
[10.252.1.187:34978->10.1.1.32:25] 0ns === conn_meta received_from="10.252.1.187:34978"
[10.252.1.187:34978->10.1.1.32:25] 0ns === conn_meta received_via="10.1.1.32:25"
[10.252.1.187:34978->10.1.1.32:25] 0ns === conn_meta reception_protocol="ESMTP"
[10.252.1.187:34978->10.1.1.32:25] 58µs <- 220 iunox.webdream.hu Welcome to WebdreamMTA - IunoX
[10.252.1.187:34978->10.1.1.32:25] 9ms -> EHLO prometheus
[10.252.1.187:34978->10.1.1.32:25] 9ms === smtp_server_ehlo: Ok
[10.252.1.187:34978->10.1.1.32:25] 9ms <- 250-iunox.webdream.hu Aloha prometheus
[10.252.1.187:34978->10.1.1.32:25] 9ms <- 250-PIPELINING
[10.252.1.187:34978->10.1.1.32:25] 9ms <- 250-ENHANCEDSTATUSCODES
[10.252.1.187:34978->10.1.1.32:25] 9ms <- 250 STARTTLS
[10.252.1.187:34978->10.1.1.32:25] 25ms -> MAIL FROM:<bounce+brankovics.teszt=gmail.com@iuno.hu>
[10.252.1.187:34978->10.1.1.32:25] 25ms === smtp_server_mail_from: Ok
[10.252.1.187:34978->10.1.1.32:25] 25ms <- 250 OK EnvelopeAddress(\"bounce+brankovics.teszt=gmail.com@iuno.hu\")
[10.252.1.187:34978->10.1.1.32:25] 40ms -> RCPT TO:<asdasdasdbranko@indamail.hu>
[10.252.1.187:34978->10.1.1.32:25] 40ms === get_listener_domain domain=iuno.hu: Ok
[10.252.1.187:34978->10.1.1.32:25] 40ms === get_listener_domain domain=indamail.hu: Ok
[10.252.1.187:34978->10.1.1.32:25] 40ms === smtp_server_rcpt_to: Ok
[10.252.1.187:34978->10.1.1.32:25] 40ms <- 250 OK EnvelopeAddress(\"asdasdasdbranko@indamail.hu\")
[10.252.1.187:34978->10.1.1.32:25] 48ms -> DATA
[10.252.1.187:34978->10.1.1.32:25] 48ms <- 354 Send body; end with CRLF.CRLF
Mike
(Mike Hillyer)
September 19, 2024, 1:25pm
8
You received a bounce email, it logged a bounce email.
Yes, but not sending an NDR email to the mailbox.
Mike
(Mike Hillyer)
September 19, 2024, 1:26pm
10
So you don’t parse the logs?
We do not yet use webhook or other analytics.
We wanted the basic MailDelivery report email to arrive in the inbox so that we could analyse it via imap.
Mike
(Mike Hillyer)
September 19, 2024, 1:28pm
12
And what if the bounce happens during a live connection and not as an incoming bounce?
Yes, we have dug deeper into this.
The soft and hard bounce category came in.
We can only get a complete picture if we analyse the smtp logs and the delivery reports received in the mailbox together.
Mike
(Mike Hillyer)
September 19, 2024, 1:30pm
14
But the delivery report sent back is recorded in that same log file.
We just didn’t understand why kuma doesn’t generate this NDR email, while postfix does:
Sep 19 14:38:12 smtp postfix/bounce[1908888]: C88B24036E: sender non-delivery notification: 1031140433
Mike
(Mike Hillyer)
September 19, 2024, 1:30pm
16
It’s not generating it, it’s a question of relaying it onward.
Mike
(Mike Hillyer)
September 19, 2024, 1:31pm
18
You didn’t share your configs as per the READ ME FIRST so it’s hard to advice on specifically what you need to change.
I attach the init.lua file
Mike
(Mike Hillyer)
September 19, 2024, 1:32pm
20
But, if you’re using listener_domains.lua as a helper, then you have a config file for it with the incoming domain listed. You must have enabled log_oob, you also need to enable relay_to.
Mike
(Mike Hillyer)
September 19, 2024, 1:33pm
21