Skip to main content

This is a simple package that provides a quick way to send emails through code.

Project description


This is a simple package that provides a simple way to send emails through code.

By default, the content of the mail should be written in markdown



A simple pip install will do :

python -m pip install Dmail

If you want support for code highlighting with pygments:

python -m pip install Dmail[CodeHighlight]

How to use:

import os
from Dmail.esp import Gmail

# email info
recipient_email = ""
cc_email = ""
sender_email = os.environ.get('email')
password = os.environ.get('password')

# Send Markdown e-mails :
message = """
# Email Content
This is a **test**

![test image](tests/files/another_image.jpg)

| Collumn1 | Collumn2 | Collumn3 |
| :------: | :------- | -------- |
| Content1 | Content2 | Content3 |

this is some other text

[^1]: This is a footnote.
[^2]: This is another footnote.

with Gmail(sender_email, password) as gmail:
    gmail.send(message, recipient_email, subject="[Dmail] Markdown Demo", cc=cc_email,
           attachments=[r"path\to\image.jpg", r'path\to\pdf.pdf', r'path\to\text.txt'])
  • You can send an e-mail loaded from a file:
with Gmail(sender_email, password) as gmail:
    gmail.send_from_file(r"path\to\", recipient_email, 
                         subject="[Dmail] Markdown File")
  • You can also send text or html content by specifying the subtype :
from Dmail.esp import Hotmail

message = "Simple e-mail"

with Hotmail(sender_email, password) as hotmail:
    hotmail.add_attachments(r"path\to\image.jpg", "another_name.jpg")
    hotmail.send(message, recipient_email, "[Dmail] Text demo", subtype='text')
  • The usage of a custom CSS stylesheet is possible :

    with Hotmail(sender_email, password, styles=r'path\to\style.css') as mail:
        mail.send(message, recipient_email, subject="[Dmail] Markdown Style")

Custom SMTP Server

  • You can use a custom smtp server and port:
from Dmail import Email

with Email(mail_server, mail_port, sender_email, password) as email:
    email.send(message, recipient_email, "[Dmail] Text demo")


Gmail Api


To use the Gmail Api you need to install extra packages :

python -m pip install Dmail[GmailApi]
First use

You can also use the Gmail API through a token ! You'll need to download "credentials.json" ( Step 1 of this guide : )

Send Email
from Dmail.api import GmailApi

message = """
# Email Content
This is a **test**

with GmailApi(sender_email, 'token.pickle', 'credentials.json') as email:
    email.send(message, recipient_email, subject='[Dmail] Gmail Api - test')

Once you've given the rights, this will create the "token.pickle" that you can use later !

Create draft

Instead of sending the email, you can create it as a draft

from Dmail.api import GmailApi

with GmailApi(sender_email, 'token.pickle') as email:
    email.create_draft(message, recipient_email, '[Dmail] Gmail Api - draft')

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 Dmail, version 1.2.3
Filename, size File type Python version Upload date Hashes
Filename, size Dmail-1.2.3-py3-none-any.whl (17.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size Dmail-1.2.3.tar.gz (11.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page