Extract Data from Emails with Magic

SpellMailer is a powerful, on-premise email parser that transforms unstructured emails into structured data – using simple YAML rules.

πŸ§™ Self-hosted
πŸ” GDPR-friendly
πŸ› οΈ CLI & Docker-ready
SpellMailer Email Extraction Illustration

Features

Transform email chaos into structured data with powerful extraction capabilities

βš™οΈ

Rule-based Parsing

Use flexible regex patterns or simple start/end delimiters to extract exactly what you need from emails.

πŸ“¬

EML Support

Works seamlessly with both plain text and HTML emails to extract valuable data.

πŸ”‘

Fully Local / On-Premise

Keep your sensitive email data secure with our 100% local solution. No cloud, no data leakage.

πŸ’Ύ

Structured Output

Get your extracted data in clean JSON, CSV, or stdout formats for seamless integration.

πŸ›£οΈ

Docker & CLI-ready

Run SpellMailer anywhere with our versatile deployment options, from CLI to containerized environments.

πŸ”

Privacy & Compliance

Perfect for GDPR-sensitive workflows in HR, legal, or finance with 100% local processing.

How It Works

Extract valuable data from emails in just three simple steps

Define YAML Rules

Create simple YAML rules to specify what data you want to extract from your emails. Use regex patterns or start/end delimiters to target specific content.

Process Your Emails

Run SpellMailer against your .eml files using our CLI tool or Docker container. SpellMailer will apply your rules to extract the specified data.

Get Structured Output

Receive your extracted data in clean, structured formats like JSON or CSV, ready for integration with your systems or further analysis.

See SpellMailer in Action

Here's how easily you can extract data from emails with SpellMailer

1. Define Your Extraction Rules (YAML)

rules.yml
rules:
- id: "invoice_rule"                       # Rule ID or name
    when:                                    # Condition for applying the rule
    sender: 
        domain: "billing.example.com"        # Sender domain must match
    subject:
        contains: "Invoice"                 # Subject must contain "Invoice"
    extract:                                 # Extraction instructions
    fields:
        - name: "invoice_number"
        from: "subject"
        regex: "Invoice[ #]*([A-Z0-9-]+)"   # Regex with capture group
        - name: "total_amount"
        from: "body"
        start: "Total:"                    # Start and end string
        end: "\n"                         
        transform: "to_float"              # Transformation: string -> float
    actions:                                 # Actions if rule matches
    - type: "store_db"
        table: "invoices"
    - type: "notify"
        recipients: ["finanzteam@example.com"]
        template: "Neue Rechnung {{invoice_number}} ΓΌber {{total_amount}} EUR."

- id: "support_ticket_rule"
    when:
    sender:
        matches: ".*@support\\.example\\.com"  # Regex on sender address
    extract:
    fields:
        - name: "ticket_id"
        from: "subject"
        regex: "\\[Ticket\\s+([0-9]+)\\]"
        - name: "customer_email"
        from: "body"
        start: "Customer Email:"
        end: "\n"
        transform: "trim"
    actions:
    - type: "forward"
        to: "helpdesk@example.com"
    - type: "add_label"
        label: "Support Case"

2. Run SpellMailer

CLI
./bin/spellmailer parse --input examples/email.eml --config examples/rules.yml
Docker
docker run -v $(pwd):/data spellmailer/engine:latest \
  --input /data/email.eml --config /data/rules.yml

3. Get Structured Results

JSON Output
{
  "contract_amount": "45.000,00",
  "details": "Softwareentwicklung Q3 – inkl. Wartung"
}

Join the SpellMailer Waitlist

Be among the first to know when SpellMailer launches. We'll notify you as soon as it's ready!

Want to know more about the Pro version? Check out our upcoming features below!

Transform Your Email Workflows

See how SpellMailer can automate data extraction across departments

πŸ’°

Finance & Accounting

Extract invoice amounts, payment details, and account numbers from vendor emails automatically.

Extract: Invoice numbers, amounts, due dates, IBAN numbers

βœ“ Automate invoice processing

βœ“ Reduce data entry errors

πŸ‘₯

HR & Recruitment

Parse applicant information, extract resume details, and organize candidate data efficiently.

Extract: Contact details, education, experience, skills, availability dates

βœ“ Streamline candidate screening

βœ“ Build structured candidate databases

πŸ“Š

Sales & CRM

Capture lead information, extract inquiry details, and automate data entry into your CRM.

Extract: Contact info, product interests, budget ranges, timeline expectations

βœ“ Automate lead capture

βœ“ Improve response times

βš–οΈ

Legal & Compliance

Extract contract terms, deadlines, and obligations from legal correspondence automatically.

Extract: Contract dates, terms, obligations, party information, deadlines

βœ“ GDPR-compliant with on-premise processing

βœ“ No data leaves your secure environment

πŸ“‹

Project Management

Parse project updates, extract milestone information, and track deliverables from emails.

Extract: Project updates, milestone dates, deliverable details, resource allocations

βœ“ Automate task creation from email content

βœ“ Integrate with project management tools

πŸ›’

Order Processing

Extract order details, shipping information, and customer requests from purchase emails.

Extract: Order numbers, product details, quantities, shipping addresses, special instructions

βœ“ Reduce manual data entry errors

βœ“ Speed up order processing workflows

Custom Use Case?

SpellMailer is flexible enough to handle virtually any email data extraction need. If you have a specific use case in mind, we'd love to hear about it.

Tell Us About Your Use Case

Coming Soon: SpellMailer Pro

Enhanced capabilities for advanced email data extraction

✨

NLP-powered Smart Fields

Leverage AI to automatically identify and extract common fields like dates, amounts, and contact details.

πŸ’Ύ

Web UI

Create and manage your extraction rules with an intuitive web interface, no coding required.

πŸ“¬

IMAP/POP Integration

Connect directly to your email accounts to process messages automatically.

πŸ”

Role-based Access & Audit Logs

Enterprise-ready controls for team collaboration and compliance requirements.