Skip to main content

Simple wrapper around email and smtplib standard libraries for composing and sending email messages in an intuitive, simple interface.

Project description

py-emails

Build Status Coverage Status

Simple wrapper around email and smtplib for composing and sending email messages in an intuitive, simple interface. Pure python, no dependencies outside of the standard library

Installation and use

Install with pip or your favorite package manager: pip install py-emails

Emails can be created declaratively:

from emails import Email

smtp_config = {
    'sender': 'you@example.com',
    'host': 'smtp.example.com'
}

first_attachment = {
    'filename': 'example.png', 
    'content': open('example.png', 'rb').read()
}
other_attachment = {
    'filename': 'example.csv', 
    'content': open('example.csv', 'rb').read()
}
my_email = Email( 
    smtp_config, 
    subject='How are you?',
    body='Long time no see, we should get together!',
    attachments=[first_attachment, other_attachment]
)

Or using a template dictionary:

from emails import from_template

smtp_config = {
    'sender': 'you@example.com',
    'host': 'smtp.example.com',
    'port': 587,
    'password': '<secret password>'
}
template = {
    'smtp_config': smtp_config,
    'subject': 'How are you?',
    'body': 'Long time no see, we should get together!'
}
my_email = from_template(template)

Once you have the email object, sending it is as simple as specifying one or more recipients:

import emails

smtp_config = {
    'sender': 'you@example.com',
    'host': 'smtp.example.com'
}
my_email = emails.Email(smtp_config)
my_email.send('person1@example.com')
my_email.send(['person2@example.com', 'person3@example.com'])

See examples.py for more in depth use cases

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-emails-1.2.1.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

py_emails-1.2.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file py-emails-1.2.1.tar.gz.

File metadata

  • Download URL: py-emails-1.2.1.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.7

File hashes

Hashes for py-emails-1.2.1.tar.gz
Algorithm Hash digest
SHA256 48670fcc8355ec54513bab0a516887c6ae18a1942bef5ae3879a02d0dc0f2b56
MD5 db53fcb414c4fd7204ff26b66f852db4
BLAKE2b-256 58b17be6e1bd6763d8e60a9ebe98793e0f8459160180f234faa8897a6627d3cf

See more details on using hashes here.

File details

Details for the file py_emails-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: py_emails-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.7

File hashes

Hashes for py_emails-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 77ac6f622c2c3d8139b97634fedefec7e23e9c0d2ca8b3e78a850f9a13cb2528
MD5 180e85568fed43f3ba8f34e1a9d2f651
BLAKE2b-256 747b9ec60b2ae47708912e38bba572b8b3f3b4d4313a0e1c91fe441f8527c8be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page