• January 1, 1
Table of Contents

buatkan dengan golang dan bukan web-based app. saya ingin mengirim dari desktop/server saya.

Berikut adalah prompt yang sempurna untuk Fine AI untuk membuat aplikasi bulk email sender desktop/CLI dengan Golang:

Prompt untuk Fine AI - Desktop Bulk Email Sender Golang

Saya ingin Anda membuat aplikasi desktop/CLI bulk email sender yang canggih menggunakan Golang murni (bukan web-based). Aplikasi ini akan berjalan di desktop/server saya untuk mengirim email dalam volume besar secara efisien dan aman.

### **SPESIFIKASI APLIKASI:**

#### **1. Tipe Aplikasi**
- **Desktop/CLI application** dengan interface command line yang user-friendly
- Support interactive mode dan batch mode
- Configuration via YAML/JSON files dan environment variables
- Cross-platform (Windows, Linux, macOS)
- Single binary executable tanpa dependency eksternal

#### **2. ARSITEKTUR CORE:**
- **Database:** SQLite untuk portabilitas (embedded database)
- **Queue System:** In-memory queue dengan persistence ke disk
- **Configuration:** Viper untuk config management
- **Logging:** Structured logging dengan multiple levels
- **Concurrency:** Worker pools dengan goroutines
- **Storage:** File-based storage untuk templates, contacts, dan results

### **FITUR UTAMA YANG HARUS ADA:**

#### **Multi-SMTP Provider Management**

// Support multiple SMTP providers secara bersamaan type SMTPProvider struct { Name string yaml:"name" Host string yaml:"host" Port int yaml:"port" Username string yaml:"username" Password string yaml:"password" MaxPerHour int yaml:"max_per_hour" MaxPerDay int yaml:"max_per_day" Enabled bool yaml:"enabled" Priority int yaml:"priority" }


#### **Advanced Email Features**
- HTML dan plain text email support
- Email templates dengan placeholder replacement
- Attachment support (multiple files)
- Custom headers dan reply-to
- Email validation dan verification
- Bounce handling dan retry logic
- Unsubscribe link auto-generation

#### **Bulk Processing Capabilities**
- Import contacts dari CSV, JSON, Excel files
- Contact segmentation dan filtering
- Duplicate email detection dan removal
- Batch processing dengan configurable batch sizes
- Progress tracking dengan real-time updates
- Resume/pause functionality
- Failed email retry mechanism

#### **Performance & Concurrency**

// Worker pool configuration type WorkerConfig struct { MaxWorkers int yaml:"max_workers" // Default: 10 SendRate int yaml:"send_rate" // Emails per minute BatchSize int yaml:"batch_size" // Default: 100 RetryAttempts int yaml:"retry_attempts" // Default: 3 RetryDelay time.Duration yaml:"retry_delay" // Default: 30s TimeoutPerEmail time.Duration yaml:"timeout_per_email" // Default: 30s }


#### **CLI Commands Structure**

Main commands

bulk-emailer config init # Initialize configuration bulk-emailer providers add # Add SMTP provider bulk-emailer providers list # List all providers bulk-emailer providers test # Test SMTP connection

bulk-emailer contacts import # Import contacts from file bulk-emailer contacts list # List all contacts bulk-emailer contacts segment # Create contact segments

bulk-emailer templates create # Create email template bulk-emailer templates list # List all templates bulk-emailer templates preview # Preview template

bulk-emailer campaign create # Create new campaign bulk-emailer campaign start # Start campaign bulk-emailer campaign pause # Pause campaign bulk-emailer campaign resume # Resume campaign bulk-emailer campaign status # Get campaign status bulk-emailer campaign report # Generate campaign report

bulk-emailer send quick # Quick send mode (interactive) bulk-emailer send file