Skip to content

Request to add cc and bcc content #1

Description

@randallmorse

Feature Request: Configurable CC/BCC support with patterns and data-driven defaults

Summary

Extend the open-source email generation tool to support configurable CC and BCC recipients with flexible patterns (linear list, randomized list, and profile-based presets), plus a research spike to establish data-driven defaults for CC/BCC usage.

Motivation

Users want CC and BCC to work similarly to existing To/From patterns and mail profiles, with the ability to:

  • read CC/BCC recipients from a list file (linear or random order)
  • use per-profile defaults or patterns for CC/BCC
  • validate addresses and preserve proper EML headers
  • apply privacy-conscious handling so BCC recipients aren’t exposed unnecessarily

What’s being proposed

  • Add CC and BCC recipient support to the email generation pipeline.
  • Support multiple recipient-patterning options:
  • Linear list from a file (preserve order)
  • Randomized list (shuffle; configurable seed for deterministic tests)
  • Profile-driven presets (per-profile defaults)
  • Expose configuration flags to control enabling, pattern type, and limits:
  • CC: enable flag, pattern, min/max recipients, list source or profile reference
  • BCC: enable flag, pattern, min/max recipients, list source or profile reference
  • Ensure generated EMLs have correct CC: and BCC: headers, with privacy considerations (avoid unintended leakage when applicable).
  • Extend the mail profile system to include CC/BCC defaults and per-profile overrides.
  • Add validation, tests, and documentation (user and developer).

Acceptance Criteria

CC/BCC features are accessible via the CLI with clear options.

Patterns supported:

  • Linear CC/BCC from a line-separated file (preserve order)
  • Randomized CC/BCC from a line-separated file (seedable RNG for deterministic tests)
  • Per-profile CC/BCC defaults (profile-driven)
  • Generated EMLs include CC: and BCC: headers based on the chosen pattern, and BCC recipients are not exposed to other recipients when applicable.
  • Recipient resolution is integrated with the existing To/From handling and mail profile logic.

Comprehensive test coverage:

  • Linear CC/BCC, randomized CC/BCC, profile-driven CC/BCC
  • 0 recipients, 1 recipient, multiple recipients ≤ defined max
  • Invalid email formats are rejected with clear errors
  • End-to-end EML generation validated by parsing headers
  • Documentation updated (user guide and developer docs) with usage examples, patterns, and profile integration details.
  • A research spike (Ticket/Issue) provides baseline defaults for CC/BCC usage and includes citations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions