Generate emails with mailto URLs and Python
Scenario: You want to send several emails where only small things change. This sounds like a job for a mail merge program. But if you use mailto: links and Python, you get a nice shell-based solution. This combination also has the advantage of opening each generated email in your email client so that you can take one last look before sending it.
Open mailto URLs with Python
mailto: URL syntax
"mailto:" recipients ( "?" key "=" value ("&" key "=" value)* )?
from urllib import quote
def mailto(recipients, subject, body):
"recipients: string with comma-separated emails (no spaces!)"
(recipients, quote(subject), quote(body)))
body_template = """Hello %(name)s!
How are you?"""
def gen(email, name):
mailto(email, "Hi!", body_template % locals())
gen("email@example.com,firstname.lastname@example.org", "Jane and Jill")