Skip to main content

Send email with python, my way

Project description

Mercurio

Send email with python, my way

A simple class to send email with python, managing smtp, attachments and mimetypes, multiple recipients, attachments with a specific content id (to html email templating)...

To initialize a mercurio instance simply call it with typical smtp parameters. No connection will be opened at this stage, then you can initialize and reuse it during the whole code.

from mercurio import mercurio

hg = mercurio(
    host="smtp.test.com",
    port=25,
    smtp_user="myuser",
    smtp_pwd="mypwd"
)

To debug purposes, you can create the message and save it in a file without send it thgrougth smtp. You can open such file with a normal email client.

message = hg.make_message(
    fromaddress="from@me.com",
    recipient="to@me.com",
    reply_to_address="reply@to.me",
    text="a long text, very long.",
    sbj="The subject, or the object?",
    attachments=[],
    cid_attachments={}
)

with open('test_email.eml', 'w') as o:
    o.write(message.as_string())

Send a real message is easy: use previous defined hg instance, and call send method with its parameters. Note that you can send multiple type of attachments (images, xlsx, json, txt). Mercurio can choice the correct mime type. You can also use attachment with a specific content id, that can be used in html email to include images in the body of the message.

hg.send(
    fromaddress="from@me.com",
    recipients=["to@me.com"],
    reply_to_address="reply@to.me",
    text="a long text, very long.",
    sbj="The subject, or the object?",
    attachments=[],
    cid_attachments={"content_id_01": "mylogo.png"}
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mercurio-0.10.1.tar.gz (5.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page