Skip to content

CLI tool to synchronize mailboxes between email servers written in Rust and built for educational purposes.

Notifications You must be signed in to change notification settings

pcs289/mail_sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mail Sync

CLI tool to synchronize emails between Source and Destination servers over secure port tcp/993 (IMAP over TLS).

Parameters

  • Config File (-c or --config): Path to Configuration File
  • Verbosity (-v or --verbose): Output DEBUG Logs
  • Quiet (-q or --quiet): No Output
  • Help (-h or --help): Show Help Menu
  • Version (-V or --version): Show Version

Commands

  • list: List Source Mailboxes
  • sync: Synchronize Mailboxes
  • help: Show Help Message

Usage

  1. Create a basic creds.conf file
[src]
host="mail.example.com"
user="[email protected]"
password="MyMailPassword"

[dst]
host="mail2.example.com"
user="[email protected]"
password="MyMail2Password"
  1. Execute list command to list source mailboxes
mail_sync -c creds.conf list
  1. (Optional) Modify src section on creds.conf to filter certain mailboxes with include & exclude keywords. This specific example syncs all (*) mailboxes but INBOX,Sent & Trash, which are ignored.
[src]
host="mail.example.com"
user="[email protected]"
password="MyMailPassword"
include="*"
exclude="INBOX,Sent,Trash"

[dst]
host="mail2.example.com"
user="[email protected]"
password="MyMail2Password"
  1. Execute sync command to synchronize mailboxes
mail_sync -c creds.conf sync

Installation

Download pre-built Binaries

  1. Visit Release page
  2. Download pre-built binary based on your platform:
    • Windows (mail_sync.exe)
    • Linux AMD64 (mail_sync_amd64)
    • MacOS (mail_sync_darwin)

Build from Source

Requirements

Steps

  1. Clone repository
git clone https://github.com/pcs289/mail_sync.git
  1. Compile source code
cd mail_sync
cargo build --release

About

CLI tool to synchronize mailboxes between email servers written in Rust and built for educational purposes.

Topics

Resources

Stars

Watchers

Forks

Languages