Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate mass email API solution #1074

Open
marlonkeating opened this issue Nov 19, 2023 · 3 comments
Open

Investigate mass email API solution #1074

marlonkeating opened this issue Nov 19, 2023 · 3 comments
Labels
Back End Primarily back-end (python/django) code for this task Investigation Issue has been raised but needs further detail to form a solution

Comments

@marlonkeating
Copy link
Contributor

Currently to send emails we use Gmail via SMTP. This has become problematic on a number of fronts, as Gmail does not recommend this use case and has disabled mail accounts for spamming in the past, and sometimes the SMTP connection goes stale and the server has to be manually restarted to fix the connection.

We would like to find a more reliable API solution for sending mass emails going forward.

Minimum Requirements

  • Use via API, not SMTP
  • Can send emails from democracylab.org domain

Judging Criteria

  • Cost
  • Reliability
  • Tools/Reputation for not triggering spam filters
  • Existing python support

Options to investigate

@marlonkeating marlonkeating added Back End Primarily back-end (python/django) code for this task Investigation Issue has been raised but needs further detail to form a solution labels Nov 19, 2023
@ddfridley
Copy link
Collaborator

ddfridley commented Nov 19, 2023

EnCiv uses Brevo.com (was SendInBlue.com). They have a free plan and use APIs. https://www.brevo.com/pricing/

And python APIs. https://github.com/sendinblue/APIv3-python-library

@ddfridley
Copy link
Collaborator

Mailchimp does have transactional email apis. It's $20 per block of 25000 emails sent - so not out of reach. https://github.com/mailchimp/mailchimp-transactional-python

@ddfridley
Copy link
Collaborator

A point to investigate is that our server uses SMTP to send the whole content to the email address. Many of the transactional email systems use APIs where there would be a template on the providers side, and the server would send the data as parameters to go into the template.

Ideally we would find a provider that allowed us to send SMTP, or that provides an API where we could send the complete content like we do with SMTP.

If we can't get that type of solution, and we have to go with templating - then we need to find a generic way that makes it easy to switch providers when we need to.

@sp6370 sp6370 removed their assignment Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Back End Primarily back-end (python/django) code for this task Investigation Issue has been raised but needs further detail to form a solution
Projects
Development

No branches or pull requests

3 participants