Z-Push and delivery success notifications (DSN SUCCESS)


  • Hello,

    Using z-push with Outlook, I noticed that email delivery success notifications requests aren’t passed from outlook to the MTA.

    @Manfred Can you confirm that Z-push doesn’t handle this usecase ?

    If so, I found a workaround to force the MTA to ask for success DSNs (normally that’s the MUA’s job).
    Willing to share my workaround, if there isn’t any kopano/z-push settings I missed that does the job (don’t want to “reinvent the wheel”).

    Best regards.

  • Kopano

    Hi @deajan,

    @deajan said in Z-Push and delivery success notifications (DSN SUCCESS):

    Using z-push with Outlook, I noticed that email delivery success notifications requests aren’t passed from outlook to the MTA.

    @Manfred Can you confirm that Z-push doesn’t handle this usecase ?

    A similar issue was addressed in https://jira.z-hub.io/browse/ZP-1204. If it’s not working, then it’s a bug. Or do you mean something else by success notifications?

    If so, I found a workaround to force the MTA to ask for success DSNs (normally that’s the MUA’s job).
    Willing to share my workaround, if there isn’t any kopano/z-push settings I missed that does the job (don’t want to “reinvent the wheel”).

    I’d like to see the workaround. Maybe it will be also helpful to someone.

    Manfred


  • Don’t have a Kopano servicedesk account, so I cannot see whether ZP-1204 is a the MTA delivery receipt or the “read” receipt.
    Considering ZP-1204 talks about headers, I think it’s the “read” receipt you get when you use header Disposition-Notification-To: or Return-Receipt-To:

    Anyway, my (ugly) fix is for the MTA delivery receipt.
    The idea is to intercept SMTP commands that postfix gets, and inject a NOTIFY= argument on the recipient.

    Here’s my config:

    apt install postfix-prce
    

    Create file /etc/postfix/command_filter with a regex that is compatible with non strict RFC821 enveloppes, that injects the notify argument:

    /^(RCPT\s+TO:?\s*[<|"]*(.*[.*@[a-zA-Z\d-]+\.[a-zA-Z]+[\s|,]?){1,}[>|"]*)(\s+[Nn][Oo][Tt][Ii][Ff][Yy]=\S+)?(.*)/ $1 NOTIFY=SUCCESS,FAILURE,DELAY$4
    

    Regex could be improved, but needs to deal with other RCPT arguments like ORCPT and multiple comma separated emails.

    Add this file to postfix /etc/postfix/main.cf

    smtpd_command_filter = pcre:/etc/postfix/command_filter
    

    Restart postfix and voilà.

    I would like to have this injection on a per user basis, but I didn’t find a way to achieve this.
    But, instead of configuring this postfix wide, I added a new smtp queue in /etc/postfix/master.cf that listens on port 2525, and then use the command_filter argument there instead of the postfix main configuration.

    2525      inet  n       -       n       -       -       smtpd
      -o smtpd_command_filter=pcre:/etc/postfix/command_filter
    

    This way I will inject MTA delivery requests only on mails that are received on port 2525.


  • @Manfred Your thoughts about this ?

  • Kopano

    Hi @deajan,

    @deajan said in Z-Push and delivery success notifications (DSN SUCCESS):

    @Manfred Your thoughts about this ?

    I’m not a postfix expert, that’s why I didn’t comment on this. However it might be helpful for someone else having such an issue or maybe someone with more postfix knowledge will provide you a feedback.

    Manfred


  • Thanks @Manfred
    While my workaround works okay, Z-Push still does not transfer the NOTIFY=SUCCESS action to Kopano when activated in Outlook.
    I’m talking about the “Mailer Daemon” email you get from the MTA stating that a message was successfully delivered, not about the “your message has been read” email that Outlook can request in headers.

  • Kopano

    Hi @deajan,

    @deajan said in Z-Push and delivery success notifications (DSN SUCCESS):

    While my workaround works okay, Z-Push still does not transfer the NOTIFY=SUCCESS action to Kopano when activated in Outlook.
    I’m talking about the “Mailer Daemon” email you get from the MTA stating that a message was successfully delivered, not about the “your message has been read” email that Outlook can request in headers.

    I’ve tested it on my own server and got the delivery notification without your postfix workaround.

    Do you have KOE installed?

    Manfred


  • I had last KOE installed, tried on Outlook 2016 and 2019.

    Since I also had a problem with my antispam “eating” the delivery report request (see https://github.com/E-F-A/v4/issues/193), I’ll have another round of tests with Outlook / Z-Push / KOE to confirm the working behavior and report back.