This is a fork of Rick Harris’s tinysmtp package with a few fixes and Python 3 compatibility.
Example:
with Mail().connect() as mail:
msg = Message(
'alice@example.com', 'Subject', ['bob@example.com'], body='body')
mail.send(msg)
Connections may be configured from a URL specified in an environment variable:
export MAILSEND_URL="smtp+tls://user:password@server.example.org/"
Or as individual variables:
export MAILSEND_HOSTNAME=server.example.org export MAILSEND_PORT=25
Or in code:
mail = Mail('smtp://server.example.org/')
mail2 = Mail('server.example.org',
port=25,
ssl=True,
username='x',
password='x')
Call mail.send to send a message:
mail = Mail('smtp://server.example.org/')
mail.send(sender='alice@example.com',
recipients=['bob@example.com', 'charlie@example.com'],
body='Hello everyone!',
html='<p>Hello everyone!</p>',
subject='Hello')
Or use the message class to construct messages piecemeal:
msg = Message('alice@example.com', 'Hello!')
msg.body = 'Hello'
msg.recipients = ['bob@example.com']
msg.cc = ['charlie@example.org']
msg.bcc = ['dina@example.org']
mail = Mail('smtp://server.example.org/')
mail.send(msg)
To send multiple messages in a single connection, use Mail.connect:
with mail.connect() as conn:
conn.send(msg1)
conn.send(msg2)
1.1.1 (released 2020-06-19)
Add support for url quoted usernames/passwords in SMTP urls
1.1.0 (released 2020-06-18)
Add support for sending through commandline MTAs (sendmail etc)
1.0.3 (released 2019-12-02)
Bugfix: no longer request the SMTPUTF8 extension for addresses that do not appear in SMTP commands.
1.0.2 (released 2019-11-28)
Fixed broken 1.0.1 release
1.0.1 (released 2019-11-28)
Bugfix: Mail.send() now sets the envelope from/to addresses correctly from message headers in the form “Name <address@example.com>”
1.0.0 (released 2019-11-27)
Dropped Python 2 support
Feature: Mail.send() now accepts optional keyword only arguments envelope_from and envelope_to.
0.1.5 (released 2019-06-18)
Bugfix: don’t add a duplicate Message-Id header if one is provided
0.1.4 (released 2017-08-27)
Bugfix: extra_headers option is now python 3 compatible
0.1.3 (released 2017-04-19)
Added ability to send stdlib email.message.Message objects via mailsend
0.1.2 (released 2016-09-02)
The mime structure of HTML emails is now compatible with Outlook 2011
The SMTPUTF8 extension is requested when messages contain utf-8 addresses. (feature is available in Python 3.5 only)
0.1.1 (released 2015-12-21)
Fixes for compatibility with envparse-0.2
0.1 (released 2015-12-19)
Forked from https://github.com/rconradharris/tinysmtp
Added configuration via URL (eg Connection('smtp://user@example.org'))
Various bug fixes
Added rewrite_to argument to Mail class constructor method. This causes all messages to be rewritten to the given address(es), and is expected to be used for development/testing.
Added bcc argument to Mail class constructor method. This causes all messages to be bcc’d to the given address(es).
Added suppress_send argument to the Mail class constructor. This causes messages to not be sent (but may be still accessed via Mail.subscribe)
Metadata
Release files for mailsend 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mailsend-1.1.1.tar.gz | 9.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mailsend-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.7 kB
Release files / mailsend-1.1.1.tar.gz
| Download URL | mailsend-1.1.1.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
503cbff300537ab67d61db03ae220bce886494b060fc3b88fbc02175df3b2d4a
|
|
BLAKE2b-256 checksum How to use checksums |
514213b2b29accdf8b228b52917acf73e4cf2d52f37c3e5ca4e6a82d4ca450a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.41.1 CPython/3.7.7
|
Release files / mailsend-1.1.1-py3-none-any.whl
| Download URL | mailsend-1.1.1-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df9d220a409bf1ef5010150f087f4c96861013b8393de14c2b9cb38580a059bc
|
|
BLAKE2b-256 checksum How to use checksums |
2b6db8524750064222d20347fb4fefc9f93a386ad3c0640c88ea82a21d85ffaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.8.0 tqdm/4.41.1 CPython/3.7.7
|
Security for mailsend 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.