- Add changelog entry for new feature
- Update README with asset selection documentation
- Document new /api/assets endpoint
- Update /api/send with footerAssets parameter
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- New /api/assets endpoint to list available icons from assets folder
- Dynamic footer generation with multiple selectable icons
- Thumbnail grid UI for asset selection in the mail form
- Selected icons are embedded as CID attachments in emails
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CHANGELOG.md: Version history (v1.0.0)
- .nvmrc: Node.js version (20)
- .editorconfig: Code style configuration
- CONTRIBUTING.md: Contribution guidelines
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add docs/ to .gitignore
- Remove tracked docs files from repository
- Local docs files are preserved
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace restrictive AGPL with permissive MIT license
- Update package.json license field
- Update README with license reference
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Problem explanation: why external images are blocked
- Technical background: MIME structure with examples
- Step-by-step Nodemailer implementation guide
- Multiple images, Buffer/Base64 examples
- Best practices for image size, format, CID naming
- Complete signature example with embedded logo
- Email client compatibility table
- Troubleshooting guide
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Installation and configuration guide
- API documentation with examples
- CID-embedding explanation for image footer
- Integration examples for other projects
- Database schema and error handling reference
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Express server with REST API for sending emails
- SQLite database for persistent email history
- Web interface with form (recipient, CC, subject, text/HTML)
- Email footer with embedded image (CID attachment)
- Nodemailer configured for Brevo SMTP relay
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>