Add Received: Lines for each hop through SVDX

Each node in a SMTP chain should leave a Received: header to document the steps that the message has taken and allow subsequent servers to see where the message has been.

Success criterion

SVDX inserts Received: header each time it has been part of the mail chain / it has received a message.

  • SENDING SIDE: Message received by SVDX from internal Postfix server for attempted delivery via DIDComm when DIDComm connection is available:

Received: from <POSTFIXHOST>(<internal IP>) by <SVDXHOST>(<internal IP>) with SMTP, for delivery via DIDComm to <remote.verificationMethod.id>; <DATE>

  • SENDING SIDE: Message received by SVDX from internal Postfix server for attempted delivery via DIDComm when no DIDComm connection is available yet:

Received: from <POSTFIXHOST>(<internal IP>) by <SVDXHOST>(<internal IP>) with SMTP, adding invitation to DIDComm direct transport to <local.verificationMethod.id>; <DATE>

  • RECEIVING SIDE: Message received by SVDX from internal Postfix to look for potential DIDComm invitation when NO invitation is present (no SVDX on the other side):

Received: from <POSTFIXHOST>(<internal IP>) by <SVDXHOST>(<internal IP>) with SMTP; <DATE>

  • RECEIVING SIDE: Message received by SVDX from internal Postfix to look for potential DIDComm invitation when invitation is present:

Received: from <POSTFIXHOST>(<internal IP>) by <SVDXHOST>(<internal IP>) with SMTP, establishing DIDComm connection to <remote.verificationMethod.id> for <SENDER>; <DATE>

  • RECEIVING SIDE: Message received by SVDX from external SVDX via DIDComm connection:

Received: from <SENDINGSVDX>(<external IP>) by <SVDXHOST>(<internal IP>) with DIDComm, message signed and encrypted by <remote.verificationMethod.id> using Public Key Authenticated Encryption for JOSE: ECDH-1PU; <DATE>

Definitions