Skip to main content

Send email with python, my way

Project description

Mercurio

Send email with python, my way.

Mercurio is 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)...

Installation

Installation is as easy as run: pip install mercurio

Usage

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 an 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.

Files for mercurio, version 0.10.2
Filename, size File type Python version Upload date Hashes
Filename, size mercurio-0.10.2.tar.gz (5.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page