Dmail
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
Installation
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 = "xxx@gmail.com"
cc_email = "yyy@hotmail.fr"
sender_email = os.environ.get('email')
password = os.environ.get('password')
# Send Markdown e-mails :
message = """
# Email Content
This is a **test**

| 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\my_message.md", 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")
APIs
Gmail Api
Installation
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 : https://developers.google.com/gmail/api/quickstart/python#step_1_turn_on_the )
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')
If you like the project and want to support us, you can buy us a coffee here:
Release files for Dmail 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Dmail-1.3.0.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Dmail-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.8 kB
Release files / Dmail-1.3.0.tar.gz
| Download URL | Dmail-1.3.0.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
932cb92194e02f2f918b2a88431ef94d5c963f40f77d628c088a509d28459436
|
|
BLAKE2b-256 checksum How to use checksums |
f9e199d3de93091629ed9dcd8601c1f6df46ab468a46f2c9c3580a7412379f2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|
Release files / Dmail-1.3.0-py3-none-any.whl
| Download URL | Dmail-1.3.0-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
702a4db8e2b0809d3f34d783034c2f124952e3105726910203c7eaca77766488
|
|
BLAKE2b-256 checksum How to use checksums |
aeb1fbfbfe92f3553e55b89462603ef161f90acbe21e467963bb375af0f748c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10
|