{"repo":"adityajha2005/postcli","free":true,"listed":false,"github":"https://github.com/adityajha2005/postcli","clone":"git clone https://github.com/adityajha2005/postcli.git","description":null,"language":"Python","stars":18,"topics":["automation","cli","cold-email","email","python","smtp","terminal"],"license":null,"category":"auth-billing-email","readme_excerpt":"postcli Send handcrafted emails from your terminal. Template your messages with Jinja2, keep contacts in CSV, and send via SMTP. - Install - Setup - Demo - Commands - Import JSON - License Install Or from source: Setup 1. Initialize a project (creates template.txt, contacts.csv, links.json, .env.example): 2. Copy and edit .env with your SMTP credentials: Edit .env : Gmail – EMAIL PASSWORD is not your regular password. Gmail blocks third-party apps from using your normal login password. You must use an App Password instead: 1. Go to Google Account → Security 2. Turn on 2-Step Verification (required before App Passwords appear) 3. Go to App Passwords 4. Create one: select \"Mail\" and \"Other\", name it e.g. postcli 5. Copy the 16-character password (e.g. abcd efgh ijkl mnop ) and paste it into .env as EMAIL PASSWORD — remove spaces: abcdefghijklmnop 3. Edit template.txt , contacts.csv , and links.json with your content. Demo From a directory where you've run postcli init (or use postcli/examples/ paths when in the repo): Send for real (default subject: \"Interested in {{ company }}\"): Example Output Real workflow: init → import → validate → send Without --dry-run (with --mutate ): Commands Command Description --------- ------------- postcli init Create template.txt, contacts.csv, links.json, .env.example postcli import data.json Convert JSON → contacts.csv postcli validate Validate template, CSV, links.json, SMTP config postcli send Send emails Send options Option Description -----","default_branch":null,"files":null,"tree":[],"storefront":"/r/adityajha2005","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/adityajha2005/postcli/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}