Skip to main content

Simple library to send email using GMail (includes background worker and logging classes) [Python 2/3 support]

Project description



gmail
-----

The 'gmail' module provides a simple wrapper around the smtplib/email
modules to provide an easy programmatic interface for sending email using
the GMail SMTP service.

The module provides the following classes:

GMail - Basic interface to GMail SMTP service
GMailWorker - Background worker to send messages asynchronously
(uses multiprocessing module)
GMailHandler - GMail handler for logging framework
Message - Wrapper around email.Message class simplifying
creation of email message objects

The module also provides a cli interface to send email if run directly
(python -mgmail.cli)

Basic usage:

>>> gmail = GMail('A.User <user@gmail.com>','password')
>>> msg = Message('Test Message',to='xyz <xyz@xyz.com>',text='Hello')
>>> gmail.send(msg)

Note: You will need to setup an application-specific password rather
than using your account-password - see:

https://support.google.com/mail/?p=InvalidSecondFactor
https://security.google.com/settings/security/apppasswords

The Message class also provides support to simply generate html email and
add attachments.

>>> msg = Message('Test Message',to='xyz@xyz.com',text="Hello",html="<b>Hello</b>",attachments=['img.jpg'])

In Python3 messages will be unicode (utf8) encoded by default unless the
text is passed a a bytes object (the inverse is true in Python 2)

For examples of use see cli.py and test_gmail.py/test_message.py

Changelog:

* 0.1 2012-10-17 Initial Release
* 0.2 2012-10-18 Restructure module
* 0.3 2012-12-28 Fix logging/worker
* 0.3.1 2012-12-28 CLI attachment mime-type fix
* 0.4 2013-08-24 Allow user to specify 'From' and 'Reply-To' header by passing 'sender'
(Pull from from https://github.com/Kami - thanks)
* 0.5 2014-02-12 Move _gmail_worker to module function to fix
multiprocessor problem on win32
(Fix from gabriel.nevarez@gmail.com - thanks)
* 0.6.1 2016-09-25 Python 3 support
* 0.6.2 2016-12-12 Fix to Python 3 exception handling
* 0.6.3 2017-08-07 Try to handle non-ascii filenames
Fix for exception on `__del__` Method Invocation
(thanks to https://github.com/theonewolf for fix/pull request)

License:

* BSD

Author:

* Paul Chakravarti (paul.chakravarti@gmail.com)

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
gmail-0.6.3.tar.gz (8.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page