Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

8 Open Issues Need Help Last updated: Jul 16, 2025

Open Issues Need Help

View All on GitHub

AI Summary: Implement command-line flags (`--to`, `--text`) in the Mailgrid CLI to enable sending single emails with plain-text or HTML content. This involves input validation (email format, mutually exclusive flags), handling both inline and file-based text input, and ensuring compatibility with existing functionality. Error handling for invalid inputs is crucial.

Complexity: 3/5
documentation enhancement good first issue feature priority: low

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement two new command-line flags, `--cc` and `--bcc`, for Mailgrid to support Carbon Copy (CC) and Blind Carbon Copy (BCC) email addresses. These flags should accept either comma-separated lists of email addresses directly in the command line or file paths to CSV or TXT files containing lists of addresses. Thorough testing is required.

Complexity: 3/5
documentation enhancement good first issue feature priority: medium

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Add comprehensive unit and integration tests to the Mailgrid Go CLI application to improve code reliability and coverage. This involves testing core logic (CSV parsing, templating), inter-module interactions (CLI, email, parser), and error handling, using techniques like table-driven tests and mocking where appropriate. Real email sending should not occur during testing.

Complexity: 4/5
enhancement help wanted good first issue priority: medium

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement a new CLI flag (`--sheet-url`) for Mailgrid to allow users to specify a public Google Sheet as input for recipient data. The implementation should parse the sheet URL, extract the spreadsheet ID and gid, construct a CSV export URL, download the CSV data using Go's `net/http`, and integrate it with the existing CSV processing pipeline. Consider optimizations such as HTTP streaming, header pre-validation, retry logic, and optional caching.

Complexity: 3/5
documentation good first issue feature performance priority: high

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement a `--filter` flag for the Mailgrid CLI tool to allow users to filter recipients from a CSV file based on specified column values. The filter should support multiple criteria using AND logic, case-insensitive header matching, and provide informative warnings for invalid filters or missing columns. The implementation should integrate seamlessly with existing features and maintain the tool's performance.

Complexity: 3/5
documentation good first issue feature performance priority: medium

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement CLI support for attaching files (PDFs, images, etc.) to emails sent by the Mailgrid CLI. This involves adding a new CLI flag (`--attach`), handling multiple attachments, and ensuring compliance with RFC 2045 MIME standards for email attachments.

Complexity: 3/5
good first issue feature performance priority: medium monetization

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement a `--preview` flag for the Mailgrid CLI that launches a local HTTP server to preview the rendered HTML email using the first row of the provided CSV as sample data. The server should handle serving the HTML content with the correct content type. The implementation should leverage Go's built-in `net/http` package and maintain the project's lightweight, dependency-free nature.

Complexity: 3/5
good first issue feature priority: low

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go

AI Summary: Implement a scheduling feature for Mailgrid, allowing users to specify a future date and time for email delivery using a command-line flag (e.g., `--schedule`). This involves parsing the schedule time, storing it, and delaying email sending until the scheduled time.

Complexity: 3/5
good first issue feature priority: medium

Mailgrid is an ultra-lightweight, high-throughput email automation CLI written in Go. It reads recipients from a CSV or Google Sheet and delivers emails via SMTP (Zoho, Gmail, etc.) with concurrency, rate-limiting, and optional scheduling — all without bloated dependencies.

Go