This is a simple package that provides a quick way to send emails through code.
Project description
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**
![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\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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Dmail-1.3.0.tar.gz
.
File metadata
- Download URL: Dmail-1.3.0.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 932cb92194e02f2f918b2a88431ef94d5c963f40f77d628c088a509d28459436 |
|
MD5 | 355f1ef722209695277e451d3c9ca446 |
|
BLAKE2b-256 | f9e199d3de93091629ed9dcd8601c1f6df46ab468a46f2c9c3580a7412379f2e |
File details
Details for the file Dmail-1.3.0-py3-none-any.whl
.
File metadata
- Download URL: Dmail-1.3.0-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 702a4db8e2b0809d3f34d783034c2f124952e3105726910203c7eaca77766488 |
|
MD5 | 96b1694f8aeb36dfc1f43a60473e2fe4 |
|
BLAKE2b-256 | aeb1fbfbfe92f3553e55b89462603ef161f90acbe21e467963bb375af0f748c0 |