Sid Techno
HomeProductsPricingWeb PackagesAboutBlogPortfolioSolutionsContactClient PortalGet Started
Sid Techno

Cloud hosting and SaaS products for modern businesses. DeployBase, TradeLeap, ClearAgent, and DeskLeap trusted by companies worldwide.

30 N Gould St, Ste NSheridan, WY 82801United States+1 (725) 465-8325

Stay Updated

Get product updates, new features, and hosting tips.

Products

  • DeployBase
  • TradeLeap
  • ClearAgent
  • DeskLeap

Services

  • CMS Development
  • Shopify Websites
  • React Native Apps
  • Laravel Development
  • Graphic Design

Company

  • About Us
  • Pricing
  • Blog
  • Portfolio
  • Custom Solutions
  • Careers
  • Request a Quote
  • Contact

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy

© 2026 Sid Techno LLC. All rights reserved.

TermsPrivacyRefund
Dashboard
Users
Settings
1,247
Total
98.2%
Active
Active
Idle
Idle
Home/Portfolio/A Windows Mailer That Sends One Personalised Email at a Time from Your Own Mailbox
AutomationBusiness Software2026

A Windows Mailer That Sends One Personalised Email at a Time from Your Own Mailbox

Packaged desktop app and CLI for individually addressed mail over M365 SMTP

A packaged Windows app and CLI sending individually addressed email from the user's own Microsoft 365 mailbox, filing copies to Sent and reading bounces back for a summary.

PythontkinterSMTP (Office 365)IMAPopenpyxlPyInstallerBatch launchersHTML email

Gallery

Click any image to view it full size

The client had a spreadsheet of contacts and needed each of them to receive a personal email from their own business mailbox — not a marketing blast from a third-party platform with someone else's sending domain on it. One recipient in To, nobody in CC or BCC, a copy in Sent Items, exactly as if it had been typed by hand.

What we built

A Windows desktop application with a CLI sharing the same engine, so both behave identically. It sends through the user's own Microsoft 365 mailbox over SMTP, files each copy to Sent via IMAP, and later re-reads that same mailbox to pull bounced addresses back out into a delivery summary.

  • List handling — CSV or Excel input, reporting how many addresses were valid, how many rows were skipped and why, and how many recipients will be greeted by name. Optional deduplication to one email per company.
  • Personalisation — a {first_name} placeholder, an attachment, and an embedded logo whose image travels inside the message rather than pointing at a file on the sender's own PC (the classic reason a logo pasted from Word arrives broken for everyone else).
  • Typography controls — paragraph gap and line spacing, because a formatted email that reads well on a desktop can read cramped on a phone.
  • Safety controls — a preview mode that renders finished messages without sending, a send-test-to-me button, a per-run cap, a configurable gap between sends, and a Stop button that takes effect immediately.
  • Send-once guarantee — every successful send is recorded locally, so the same person is never emailed twice across runs.

Getting the greeting right

The greeting is derived from the email address itself, not from the name column, because in lists of this kind the contact name frequently sits beside an address belonging to somebody else. thomas.mugford@… becomes "Hi Thomas". Shared mailboxes like info@ or rental@ fall back to "Hi there". Ambiguous forms like jsmith@ also fall back, because an initial and a surname cannot be split reliably — and a missing name reads better than the wrong one. Single-word addresses are checked against a list of roughly 22,000 first names, which is how matthew@ is recognised while jsmith@ is not. Names found in the spreadsheet's own contact columns are trusted too, and the whole name list can be edited by the operator and re-loaded.

Deliverability, honestly

The documentation we shipped tells the user the uncomfortable truth rather than promising volume: Microsoft caps a normal mailbox at roughly ten thousand recipients a day, and a mailbox that usually sends a handful suddenly sending thousands is exactly what triggers throttling. The advice is to start at a few hundred a day, watch the bounce numbers, and raise the ceiling only if they stay low.

Testing and packaging

The project includes a fake SMTP server used to exercise the full send path without touching a real mailbox, and two review passes were run over the code specifically to close paths that could send a duplicate. It ships as a single PyInstaller executable, so there is no Python installation for the end user.

The application was built, packaged and reviewed. We hold no acceptance record for it, and the recipient data it was tested against is the client's — nothing from it appears here or in any screenshot.

The Challenge

Send individually addressed, personalised email to a spreadsheet of contacts from the client's own Microsoft 365 mailbox rather than a third-party platform — with correct greetings derived from unreliable list data, no duplicate sends, and delivery outcomes visible afterwards.

Our Solution

We built a Windows desktop app and matching CLI over one send engine: SMTP through the user's own M365 mailbox, IMAP filing to Sent and IMAP bounce read-back for a summary. Greetings are derived from the address itself with deliberate fallbacks, deduplication and a persistent send ledger prevent repeats, and preview, test-send, rate limiting and an immediate stop keep the operator in control. Shipped as a single PyInstaller executable with a fake SMTP server for testing.

Key Features

One recipient per message — no CC, no BCC, sent from the user's own mailbox
Windows GUI and CLI sharing a single send engine
CSV and Excel recipient lists with a skipped-row report
{first_name} personalisation derived from the address, with safe fallbacks
~22,000-name dictionary for single-word addresses, operator-editable
Optional one-email-per-company deduplication
Embedded logo with width control, travelling inside the message
Paragraph gap and line-spacing controls for readable formatting
Copies filed to Sent Items over IMAP
Bounced addresses read back out of the mailbox into a summary
Preview mode, send-a-test-to-me, per-run cap, inter-send delay and immediate Stop
Local send ledger so no recipient is ever emailed twice
Fake SMTP server for end-to-end testing without a live mailbox
Single-file PyInstaller executable — no Python install required

Technology Stack

PythontkinterSMTP (Office 365)IMAPopenpyxlPyInstallerBatch launchersHTML email

Results

A packaged Windows executable was produced and the send path was exercised against a local test SMTP server, with two review passes closing duplicate-send routes. The repository evidences a completed, packaged build; it does not evidence client acceptance, and we make no claim of one.

Category

Automation

Industry

Business Software

Year

2026

Components

1 repository

Related Projects

Dashboard
Users
Settings
1,247
Total
98.2%
Active
Active
Idle
Idle

Automation

AI Email Outreach System Built on Google Maps Business Discovery

Python lead-discovery and AI outreach pipeline, handed over for the client to run himself

Dashboard
Users
Settings
1,247
Total
98.2%
Active
Active
Idle
Idle

Automation

Discord Invite Tracker Bot with Automatic Role Rewards

Invite counting and automatic role assignment for a Discord community

Dashboard
Users
Settings
1,247
Total
98.2%
Active
Active
Idle
Idle

Automation

HR Compliance Dashboard for 172 Employees Across Four HRIS Exports

Macro-free compliance reporting workbook built to a 13-part specification

Need Something Similar?

We have built 51+ projects like this. Let's discuss yours.

Get in Touch