Tweak sendmail() func by setting some additional mail headers for receiving DSN
NOTIFY=FAILURE ORCPT=rfc822;email@example.com RET=HDRS
And encode the userid (uid = user.meta['itemid']) in the FROM address of moin -
We need a function for determining if the inbound mail is a DSN. For that we need to check mail headers. A mail is a DSN if:
- Content-Type: multipart/report; report-type=delivery-status;
- Action: failed (rfc3464)
How to react on DSN:
Disable the user account (user.meta['disabled'] = True) and on next logins flash a message saying that "Your account was disabled due to some mail address problems. Please verify if the email address you have provided is valid and active."
That implies that we need a form, where the user can introduce his old login and a new email. The account will be activated and a new email will be set. Also we need to inform the admins on the DSN and provide user information. For instance we could email the admins the DSN headers and introduce minimally necessary information about the user.