Skip to content
Snippets Groups Projects
  • Kevin Luo's avatar
    Add bulk email feature for instructors, with optout option · 907bf6e1
    Kevin Luo authored
    
    Adds a new Email link to the instructor dashboard for frontend interface to send
    email to course members. Adds a feature flag ENABLE_INSTRUCTOR_EMAIL to toggle this.
    Creates a new djangoapp bulk_email that handles this action by getting the recipient
    list and batching the emails to different celery tasks to do the actual sending.
    Requires lynx package to convert HTML email to plaintext. Handles SMTP errors by
    retrying or falling through to the next email. Adds the option to opt out of course
    specific emails in the user dashboard with an Email Settings link for each course.
    Uses severable configurable settings with defaults. DEFAULT_BULK_FROM_EMAIL
    specifies the from address for email. EMAILS_PER_TASK specifies the number of emails
    each celery task takes on. EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER,
    EMAIL_HOST_PASSWORD, and EMAIL_USE_TLS for the SMTP email backend settings.
    
    Co-authored-by: default avatarAkshay Jagadeesh <akjags@gmail.com>
    907bf6e1