Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Quick-and-Dirty Email Sender
Emails are ubiquitous, but not super-straightforward from a programming standpoint. The standards in use (SMTP, MIME) are powerful, but complex if you want to do anything nicer than a simple plain-test email. This library was built and iterated upon for my personal projects, and it might just help you too.
Supports both Python >=v2.7
and >=3.4
.
pip install quick-email
quick_email.send_email(host, port, send_from, subject[, send_to[, send_cc[, send_bcc[, plain_text[, html_text[, attachment_list[, inline_attachment_dict[, username[, password[, timeout[, require_starttls]]]]]]]]]]])
My super-useful utility function. Creates and sends an email in one fell swoop. All parameters are passed to the functions below.
quick_email.build_msg(send_from, subject[, send_to[, send_cc[, send_bcc[, plain_text[, html_text[, attachment_list[, inline_attachment_dict]]]]]]])
Creates a email.message.Message
for deferred sending or additional preparing.
Email addresses can be a string (either of form example@example.com
or Example Name <example@example.com>
), or a tuple, as returned by email.utils.parseaddr
.
send_from
is a single email address.
subject
is the Subject string of the email.
send_to
, send_cc
, and send_bcc
are all either singular email addresses, or list
s of email addresses if you have multiple recipients. At least one address must be present among the parameters, otherwise an AssertionError
will be raised.
plain_text
is the plain-text part of the email. html_text
is the HTML part of the email. You can include one or both, but if no text is present, an AssertionError
will be raised.
attachment_list
is an optional list
of quick_email.Attachment
s.
inline_attachment_dict
is an optional dict
of str: quick_email.Attachment
form. The key is the CID of your attachment. In many email clients, you can include images inline in the HTML (ie <img src="...">
). However, if the image you want to display is an attachment (and not at some URL), it's a little trickier. You must give your attachment a Content-ID (CID), and your img
tag must look like <img src="cid:my_attachment_cid">
. This may be preferred to the inline-base64 encoding (ie <img src="data:image/jpeg;base64,...">
).
class quick_email.Attachment(filename, bytes)
filename
is the filename string.
bytes
is the bytes-like object of the content.
quick_email.send_msg(msg, host, port[, username[, password[, timeout[, require_starttls]]]])
Sends a email.message.Message
to its recipients.
msg
is the email.message.Message
, which you may have built using quick_email.build_msg
, or handcrafted youself.
host
is the host string to connect to. Usually a FQDN, or an IP address.
port
is the port number to connect to. Usually 25
for un-encrypted email.
username
is the username of a username/password combo used to authenticate. Leave it off if your service is unauthenticated.
password
is the password of a username/password combo used to authenticate. Leave it off if your service is unauthenticated.
timeout
is the timeout interval (in seconds). If not specified, the global default timeout setting will be used.
require_starttls
is a flag whether to request the message sending be encrypted. Defaults to False
, but turn it on if you can.
FAQs
Quick-and-Dirty Email Sender
We found that quick-email demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.