Python Email Sender with Personalization

Job ID: 40345610

Budget: $10 – $30 USD

I have a promotional email already drafted inside Outlook, complete with a PDF company profile attachment. What I lack is a small Python-based utility that lets me send that message—one-by-one—from my Outlook account to about 100 prospects each day.

Here is exactly how I picture it working:

• I open the tool and point it to an Excel or CSV file that contains two columns: First Name and Last Name.
• For each row it should create a new email, insert only the recipient’s last name into the greeting line, attach the company profile, and send through my Outlook mailbox.
• The script must pause roughly 45 seconds between sends so the volume stays under the radar of Microsoft’s throttling rules, and the overall daily cap should be 100 messages.
• Authentication needs to be secure (OAuth or other best practice—no hard-coded passwords) and headers should be tuned to avoid spam flags.
• A simple progress log and an error report at the end of the run will let me see which addresses, if any, bounced.

Deliverables:
1. Well-commented Python script or small executable packaged with necessary libraries.
2. Setup notes for authorizing the app with Outlook and adjusting the delay interval or daily quota.
3. A short README so I can swap in a new Excel list or update the email body without touching the code.

If you have experience using Microsoft Graph, smtplib with OAuth, or other Outlook-friendly APIs, please mention it—those are the approaches I feel most comfortable with from a security standpoint.

In the next phase, I want to send emails to general information addresses