|
|
4 years ago | |
|---|---|---|
| .github | 4 years ago | |
| docs | 4 years ago | |
| redmail | 4 years ago | |
| requirements | 4 years ago | |
| .coveragerc | 4 years ago | |
| .gitattributes | 4 years ago | |
| .gitignore | 4 years ago | |
| LICENSE | 4 years ago | |
| MANIFEST.in | 4 years ago | |
| README.md | 4 years ago | |
| requirements.txt | 4 years ago | |
| setup.cfg | 4 years ago | |
| setup.py | 4 years ago | |
| tox.ini | 4 years ago | |
| versioneer.py | 4 years ago |
Next generation email sender
Red Mail is an advanced email sender library. It makes sending emails trivial and has a lot of advanced features such as:
See more from the documentations or see release from PyPI.
Install it from PyPI:
pip install redmail
Sending emails should not be this complicated:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart('alternative')
msg['Subject'] = 'An example email'
msg['From'] = 'first.last@gmail.com'
msg['To'] = 'first.last@example.com'
part1 = MIMEText("Hello!", 'plain')
part2 = MIMEText("<h1>Hello!</h1>", 'html')
msg.attach(part1)
msg.attach(part2)
# Send the message via our own SMTP server.
s = smtplib.SMTP('localhost', port=0)
s.send_message(msg)
s.quit()
With Red Mail, it's simple as this:
from redmail import EmailSender
email = EmailSender(host="localhost", port=0)
email.send(
subject="An example email",
receivers=['first.last@example.com'],
text="Hello!",
html="<h1>Hello!</h1>"
)
You can also do more advanced things easily with it:
from redmail import EmailSender
email = EmailSender(host="localhost", port=0)
email.send(
subject="An example email",
sender="me@example.com",
receivers=['first.last@example.com'],
html="""<h1>Hello {{ friend }}!</h1>
<p>Have you seen this thing</p>
{{ awesome_image }}
<p>Or this:</p>
{{ pretty_table }}
<p>Or this plot:</p>
{{ a_plot }}
<p>Kind regards, {{ sender.full_name }}</p>
""",
# Content that is embed to the body
body_params={'friend': 'Jack'},
body_images={
'awesome_image': 'path/to/image.png',
'a_plot': plt.Figure(...)
},
body_tables={'pretty_table': pd.DataFrame(...)},
# Attachments of the email
attachments={
'some_data.csv': pd.DataFrame(...),
'file_content.html': '<h1>This is an attachment</h1>',
'a_file.txt': pathlib.Path('path/to/file.txt')
}
)