razon
Version:
Razon - Advanced CLI Email Client with browser automation, bulk sending, and high-performance Bun runtime
280 lines (193 loc) • 7.9 kB
Markdown
# Razon Email Client
## Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Features](#features)
- [Quick Start](#quick-start)
- [Configuration](#configuration)
- [Advanced Features](#advanced-features)
- [Command Reference](#command-reference)
- [Platform Support](#platform-support)
- [Troubleshooting](#troubleshooting)
- [Security](#security)
- [Support and Contributing](#support-and-contributing)
## Overview
Razon is a powerful command-line email client designed for efficient and automated email workflows. It supports bulk email sending, advanced email automation, and integrated browser automation to streamline modern email tasks.
## Installation
### Global Installation
Install Razon globally using npm to access the `razon` command from anywhere on your system:
```bash
# Install globally via npm
npm install -g razon
# Verify installation
razon --version
```
### Alternative Installation Methods
```bash
# Using yarn
yarn global add razon
# Using pnpm
pnpm add -g razon
# Using bun
bun add -g razon
```
### Post-Installation Setup
After installation, initialize the configuration files:
```bash
# Initialize configuration files in current directory
razon init
# Or initialize with force overwrite if files exist
razon init -f
```
### System Requirements
- **Node.js**: Version 16.0.0 or higher
- **Operating System**: Windows, macOS, or Linux
- **Architecture**: AMD64 or ARM64
- **Memory**: Minimum 512MB RAM recommended
- **Storage**: At least 100MB free space for configuration and logs
### Verification
To verify that Razon is properly installed and accessible:
```bash
# Check version
razon version
# Display help
razon --help
# Initialize and test configuration
razon init
razon summary
```
## Features
- High-performance execution for fast email processing
- Bulk email sending to thousands of recipients
- Support for multiple email protocols including SMTP and Outlook Web App (OWA)
- Customizable email templates with dynamic content placeholders
- Attachment support for files, images, and documents
- Real-time progress tracking with detailed logging
- Cross-platform compatibility: Windows, macOS, and Linux (AMD64 and ARM64)
- Standalone executable with no external dependencies required after installation
## Quick Start
1. Initialize configuration files to set up your email client environment.
2. Configure SMTP or OWA settings for your email server.
3. Prepare a recipient list with email addresses.
4. Use commands to send emails, test sending, or manage your email lists.
## Configuration
The configuration system in Razon allows you to customize and control various aspects of the email client to fit your needs. Configuration files are stored in the `config/` directory and include the following key components:
- **SMTP Configuration (`smtp.jsonc`)**: Define your SMTP server details such as host, port, security settings, and authentication credentials. This enables Razon to connect and send emails through your chosen SMTP provider.
- **Message Configuration (`message.jsonc`)**: Customize your email content including subject lines, sender information, and templates for both HTML and plain text emails. You can also specify the recipient list file and attachments here.
- **Core Configuration (`core.jsonc`)**: Control operational parameters such as the number of concurrent email sends, delay between emails, retry attempts on failure, logging levels, and database file location.
- **Attachments Configuration (`attachments.jsonc`)**: Manage files to be attached to your emails, specifying paths and display names.
### How to Use Configuration Files
1. **Locate the `config/` directory** in your project root where all configuration files reside.
2. **Edit the JSONC files** using a text editor to input your specific settings. JSONC supports comments for clarity.
3. **SMTP Setup**: Provide your SMTP server details in `smtp.jsonc` to enable email sending.
4. **Message Setup**: Define your email templates and recipient list in `message.jsonc`. Use placeholders in templates for dynamic content.
5. **Core Settings**: Adjust concurrency, delays, and retry logic in `core.jsonc` to optimize sending performance and reliability.
6. **Attachments**: Add any files you want to send along with your emails in `attachments.jsonc`.
7. **Save your changes** and run Razon commands to send emails using your customized configuration.
This modular configuration approach allows flexible and powerful control over your email campaigns and automation workflows.
## Advanced Features
- Dynamic email templates with placeholders for personalized content
- Attachment management for sending various file types
- Integrated browser automation for web-based email interactions
## Command Reference
### Email Sending Commands
```bash
# Send emails to all recipients
razon send
# Send emails ignoring duplicate check (force send to already contacted recipients)
razon send -f
# Send emails to first N recipients
razon send [count]
# Send emails to first N recipients (force)
razon send [count] -f
# Send test emails (default: 5 recipients, or specify count)
razon test [count]
```
### Email Management Commands
```bash
# Remove duplicate emails from file using regex extraction
razon remove-dup [filepath]
razon remove-dup [filepath] -o output.txt
# Remove invalid emails from file
razon remove-bad [filepath]
razon remove-bad [filepath] --type syntax
razon remove-bad [filepath] --type provider --domains gmail.com,yahoo.com
razon remove-bad [filepath] -o clean-emails.txt
# Remove emails that already exist in database
razon remove-non-unique [filepath]
razon remove-non-unique [filepath] -o new-emails.txt
# Remove emails that don't exist in database (keep only existing)
razon remove-unique [filepath]
razon remove-unique [filepath] -o existing-only.txt
```
### Statistics & Information Commands
```bash
# Show total emails sent from each SMTP/OWA provider
razon count-total
# Show comprehensive system summary
razon summary
# Show specific summary sections
razon summary --smtp
razon summary --owa
razon summary --config
razon summary --database
```
### Database Management Commands
```bash
# Create a database backup with .razon extension
razon backup [name]
razon backup [name] -p /custom/path
# Restore database from a .razon backup file
razon restore <name>
razon restore <name> -p /custom/path
razon restore <name> --clear --verify
# List available .razon backup files
razon list-backups
razon list-backups -p /custom/path
# Clear entire database (DANGEROUS OPERATION)
razon clear --confirm
```
### System Management Commands
```bash
# Initialize configuration files
razon init
# Force overwrite existing configuration
razon init -f
# Install Chromium browser for email automation
razon install
razon install --latest
# Check for available updates
razon check-for-update
razon check-for-update -u
# Update Razon to the latest version
razon update
razon update -f
# Display version information
razon version
razon v
# Show help
razon --help
```
### Global Options
```bash
# Initialize configuration (can be used with any command)
razon -i
razon --init
# Force operations (context-dependent)
razon -f
razon --force
```
## Platform Support
Razon supports major platforms and architectures, including Linux, Windows, and macOS on both AMD64 and ARM64.
## Troubleshooting
- Common issues with SMTP authentication, browser downloads, and permissions
- Detailed logs for monitoring and debugging
## Security
- Never commit credentials to version control
- Use environment variables for sensitive data
- Regularly rotate email passwords
- Monitor sending limits to avoid being flagged as spam
## Support and Contributing
For issues, feature requests, and contributions, visit the project repository on GitHub.
---
Built with ❤️ for maximum performance.