Skip to content

Enhanced conversation email notifications and reply-by-email support #811

Description

@rajat1saxena

Summary

Improve email notifications by:

  1. Including more context and message content in notification emails.
  2. Allowing users to reply directly from their email client and have those replies posted back to the conversation.

This feature should work for both:

  • Community Discussions
  • Product Discussions

Background

Current notifications provide limited context, requiring users to open CourseLit to understand the conversation and participate.

This enhancement aims to make conversations more engaging and accessible by providing richer email notifications and enabling email-based participation.

Requirements

Richer Email Notifications

  • Include the post/discussion content in notification emails.
  • Include sufficient context so recipients can understand the conversation without opening CourseLit.
  • Clearly identify:
    • Author
    • Discussion/Post title
    • Parent comment (if applicable)
    • Comment content
  • Add a clear call-to-action to view the conversation in CourseLit.

Reply From Email

  • Users should be able to reply directly to a notification email.
  • Replies should automatically appear in the appropriate conversation.
  • The reply should be attributed to the correct CourseLit user.
  • Other participants should receive notifications as usual.

This functionality should be available for:

  • Community Discussions
  • Product Discussions

User Flow

  1. User receives a notification email for a new comment or reply.
  2. Email contains relevant conversation context.
  3. User clicks "Reply" in their email client.
  4. User sends a response.
  5. CourseLit receives and processes the email.
  6. A new reply is created in the appropriate discussion thread.
  7. Participants are notified of the new reply.

Technical Considerations

Inbound Email Processing

  • Use a dedicated reply email domain (e.g. reply.courselit.app).
  • Generate signed reply tokens embedded in the Reply-To address.
  • Support both Community Discussions and Product Discussions.
  • Validate:
    • Reply token
    • Sender email
    • Target discussion/comment
  • Strip quoted email content before creating replies.
  • Ignore attachments for the initial release.

Vendor Agnostic Design

Implement an inbound email abstraction so multiple providers can be supported:

  • Amazon SES
  • Postmark
  • Mailgun
  • SendGrid

All providers should forward inbound emails into a common CourseLit endpoint/service.

Acceptance Criteria

Email Notifications

  • Notification emails include the discussion/comment content.
  • Notification emails provide enough context to understand the conversation.
  • Notification emails contain a link to view the conversation in CourseLit.
  • Works for Community Discussions.
  • Works for Product Discussions.

Reply From Email

  • Users can reply directly from supported email clients.
  • Replies are posted to the correct discussion thread.
  • Replies are attributed to the correct user.
  • Invalid or unauthorized replies are rejected.
  • Quoted email content is removed before saving.
  • Discussion participants receive notifications for email-generated replies.
  • Works for Community Discussions.
  • Works for Product Discussions.

Out of Scope (MVP)

  • Attachments in email replies.
  • Rich HTML email reply parsing.
  • Email reactions.
  • Advanced email threading.
  • Group email conversations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions