External Email Service
Overview
Users can now receive email notifications from production Apps thanks to the new Dais External Email functionality.
Dais Apps can now connect to Amazon Simple Email Service (SES) to send messages and notifications to users and other recipients. Emails can be generated using standard Python libraries, and all common features such as CC, BCC, and attachments are supported.
Objectives
Enable Case teams to easily use the external email delivery service from within Dais by providing connectivity and documentation.
Ensure email delivery is made available to case teams in a way that the Dais team can support in a secure and scalable manner.
Prerequisites
- The external email service is available to teams and clients on production clusters who have received authorisation from the Dais team
- Access to external email delivery services is by request on a per-app basis, following the standard external access request process.
- Teams using this service agree to implement the recommended safeguards, and will ensure their code is reviewed by the Dais team.
How to get started?
Request access
- Read this page and understand the service performance/limitations and safeguards that you will implement with the help of the template, examples and Dais support --- please reach out!
- Review Amazon SES docs and FAQs
- Reach out to BCG IT to provision the email infrastructure (or discuss with your client)
- Please email
dais@bcg.com, referencing the portal and App ID.
Testing and code review
It is expected that case teams will take ownership of documentation and testing during app development, but please reach out to the Dais team at any stage of your case for guidance.
As a part of case handover the Dais team will review various technical and functional items required to transition your app. For the external email service this includes
- Code documentation, adherence to appropriate guidelines and approprioate tests
- Constraints and safeguards to ensure that the limits of the Amazon service cannot be exceeded (refer to the template, and also note that the Amazon testing sandbox is resticted to 200 emails per day).
Examples
Implementation examples
Use cases
You've finally released your App and want to know when someone is running the model or a long model run has finished? Send an email!
Your advanced data pipeline has run and new results are available in the app. Automagically email the KPIs to the blended case and client team ahead of your daily meeting!
You've just refactored your backend and are in the final stages of end-to-end testing before handover. Want to know about any backend errors before anyone else? Send yourself an email!
Send an email to notify everyone of a significant app event, e.g. another user approves a milestone.
Security considerations and limitations
Please take note that requests to external services are associated with the Dais public IP address.
Once granted external access, case teams are free to make use that external access without restrictions from Dais, however you agree to abide by the Amazon SES terms of use, and not exceeding the limits of the Amazon service. (Amazon testing sandbox is resticted to 200 emails per day).
If you are exceeding these limits, Dais will proactively take steps to ensure the AWS terms of use are not violated.