Browse documentation

🧭 Start Here

Blackcap Overview ✨ Blackcap Feature Catalog Installation First Run

🚀 Deploy Blackcap

Platform Stacks and Raspberry Pi Hardware Raspberry Pi Deployment Raspberry Pi Client Services GCP Deployment Application Updates Environment Variables and Secrets Reverse Proxy and TLS Background Jobs and Schedules

🛠️ Administer Blackcap

Organizations Users, Permissions, and Authentication Configuration Workspace Backups and Restore Database Administration Regression Testing Performance and Job Status Audit, Access Activity, and Logging GeoIP and Access Location Data Retention and Purge Support Requests API Tester and Postman Instance Reporting

🍽️ Use Recipes

Recipes and the Recipe Library Recipe Import and Discovery Recipe Editing and Cache Artifacts Recipe Sharing Social Recipe Import AI Recipe Image Generation

📅 Plan Meals

Meal Planner

🛒 Use Shopping Lists

Shopping Lists and Shop a List External and Household Shopping 🧩 Chrome Extension Shop With

🧺 Manage Kitchen Inventory

🧺 Kitchen Inventory

🖥️ Use Displays

Displays and Connections Assigning and Scheduling Display Content Remote Pi Client E-Ink Rendering Menu Refresh and Rendering Noun Project Footer Images

🧑‍🍳 Cook with Let’s Cook

🧑‍🍳 Let’s Cook 🧑‍🍳 Let’s Cook Controls and Timers

🤖 Use and Administer AI

🤖 AI in Blackcap 🤖 AI Providers and Connections 🤖 AI Seeds and Usage

🧩 Use the Chrome Extension

🧩 Blackcap Chrome Extension 🧩 Chrome Extension Recipe Capture 🧩 Chrome Extension Shop With 🧩 Chrome Extension Release and Privacy

🎮 Play Games

🎮 Games and Trivia

🔌 Integrations

Email Integration Cloud Storage Integrations Voice Assistants Shop With Integrations Authentication Providers

⚙️ Develop Blackcap

Application Architecture Database Service and Data Access SQLite and PostgreSQL Database Migrations Background Job Architecture Testing API Architecture Security and Organization Scoping UI, Icons, and Documentation Assets Blackcap-Safe Emoji Documentation Standards Terminology

⚠️ Troubleshoot Blackcap

⚠️ Troubleshooting Deployment Troubleshooting Display Troubleshooting Recipe Import Troubleshooting 🤖 AI Troubleshooting Backup Troubleshooting Database Troubleshooting Diagnostic Organization Clones Support Requests

Email Integration

Audience: Org Admin, System Admin, Deployment Administrator, Developer Related: Configuration · Environment And Secrets · Index

Blackcap sends branded HTML email with plain-text alternatives through configured SMTP. The shared email layout supports Blackcap and Microwave Pie branding, hosted image behavior, environment-aware links, recipient rules, and feature-specific templates.

SMTP credentials are secrets. Feature documents describe when an email is sent; this document is the canonical home for configuration, branding, rendering, delivery, privacy, and troubleshooting.

All centralized transactional email senders use inky_admin/services/email_branding_service.py. The service preserves the complete plain-text body and adds an email-client-safe HTML alternative with:

  • a Blackcap by Microwave Pie text identity,
  • Blackcap and Microwave Pie logo positions,
  • an accessible heading and content area,
  • an optional context panel and call-to-action,
  • a copyable fallback action URL,
  • and a consistent operational footer.

The layout uses restrained table-based HTML, inline styles, system fonts, fixed image dimensions, meaningful alt text, and no JavaScript. Essential content never depends on remote images.

Configuration

Platform settings under the Email section:

  • email.branding_name
  • email.blackcap_logo_url
  • email.microwave_pie_logo_url
  • email.branding_website_url
  • email.branding_support_url

Logo URLs must be public HTTPS resources with no username, password, query string, or fragment. This prevents recipient IDs, organization IDs, tokens, or tracking parameters from entering shared branding URLs. Application action URLs are validated separately so legitimate reset, invitation, sharing, and review tokens remain intact.

Hosted assets

Blackcap defaults to the existing public assets in the Microwave Pie website repository:

  • assets/blackcap-logo.pnghttps://microwavepie.com/assets/blackcap-logo.png (128×128 transparent PNG)
  • assets/microwavepie-logo-192.pnghttps://microwavepie.com/assets/microwavepie-logo-192.png (192×192 PNG)

This avoids maintaining duplicate email-only logo files. The Microwave Pie Netlify configuration applies Cache-Control: public, max-age=604800, must-revalidate to /assets/*. Serve these paths with HTTPS and the correct image/png MIME type, and do not append recipient-specific query parameters. Use the Email configuration settings only when the public asset location changes or an alternate approved logo is required.

Adding a new email type

Create the normal EmailMessage, set From/To/Subject exactly as before, then call apply_branded_email(...) with the complete plain-text body. Add attachments after or before the alternative as required by the current sender; Python's EmailMessage preserves the multipart structure. Never insert raw internal errors, credentials, reset secrets, API Tokens, MFA secrets, or provider credentials into the layout.

Preview

Open docs/previews/blackcap-branded-email-preview.html in a browser. Also test the plain-text part and an email client with remote images disabled.

On this page