(Issue created in core repo though it doesn't necessarily have to be there. In fact this feature probably belongs as a separate service)
- The group-mailer currently puts out a
send-email request event, with a list of recipients
- The mailer attempts to send the email to every list recipient
- The mailer publishes a single
email-sent event containing all the recipients that succeeded
- In case they all fail, no
email-sent event is published
- The mailer publishes a single
email-failed event containing all the recipients that failed
- In case they all succeed, no
email-failed event is published
For this story, we need to aggregate all of the success and failure events, and present a UI to the super admin so that they can see, for any given email, the success or failure of email sending. Requirements aren't set in stone, but this could include:
- A list of all email campaigns, with each having a summary of e.g. "53/87 emails sent successfully"
- A click-through to each specific campaign, showing for each recipient:
- A success icon if the email was sent to that recipient successfully
- A failure icon if the email failed to send to that recipient
- A pending icon if we have not received either success or failure for that recipient
- Suggest showing pending first, followed by failures, followed by success.
- Allow sorting by name/email/id to find a specific recipient
The above list is quite large, and this story probably could/show be broken down further.
From a technical point of view it's not clear where either the backend or frontend code should live. Easiest would be to pile it all into core but that might be a bad idea.
(Issue created in core repo though it doesn't necessarily have to be there. In fact this feature probably belongs as a separate service)
send-emailrequest event, with a list of recipientsemail-sentevent containing all the recipients that succeededemail-sentevent is publishedemail-failedevent containing all the recipients that failedemail-failedevent is publishedFor this story, we need to aggregate all of the success and failure events, and present a UI to the super admin so that they can see, for any given email, the success or failure of email sending. Requirements aren't set in stone, but this could include:
The above list is quite large, and this story probably could/show be broken down further.
From a technical point of view it's not clear where either the backend or frontend code should live. Easiest would be to pile it all into core but that might be a bad idea.