foxcpp / maddy

✉️ Composable all-in-one mail server.
https://maddy.email
GNU General Public License v3.0
5.13k stars 249 forks source link

Feature request: additional infos in "queue: delivered" logging #676

Open lukastribus opened 9 months ago

lukastribus commented 9 months ago

Hello,

I'm using maddy since a few days, I read about it on the healthchecks.io blog re it's email setup, I like it.

Thank you for this!

Use case

What problem you are trying to solve?

I'd like the possibility to "proof" that a remote MX has accepted the email, by logging body message ID, hostname as well as exact response.

Note alternatives you considered and why they are not useful.

Enabling debug mode allows some correlation between a hostname and the mail delivery, however it is missing body message ID and MX response, and the hostname is only a guess based on timestamp correlation.

Your idea for a solution

How your solution would work in general?

To the "queue: delivered" log I would suggest to add:

Something like:

queue: delivered {"attempt":1,"msg_id":"a70cc095","body_msg_id":"s0dhgv0shgherhghwsgg@thunderbird.local","hostname":"example-org.mail.protection.outlook.com","answer":"250 OK id=w8eghw80ehg-BW","rcpt":"john@example.org"}

Sorry, I'm not a go developer.

Best regards,

Lukas

foxcpp commented 9 months ago

MX answer (example: 250 OK id=w8eghw80ehg-BW)

Related upstream issues and PR: https://github.com/emersion/go-smtp/issues/189 https://github.com/emersion/go-smtp/pull/190

Once this is merged we will be able to add this one.