{ "info": { "author": "Murray Christopherson", "author_email": "murraychristopherson@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "# quick-email\nQuick-and-Dirty Email Sender\n\n[![Build Status](https://travis-ci.org/murrple-1/quick-email-python.svg?branch=master)](https://travis-ci.org/murrple-1/quick-email-python) [![Coverage Status](https://coveralls.io/repos/github/murrple-1/quick-email-python/badge.svg?branch=master)](https://coveralls.io/github/murrple-1/quick-email-python?branch=master) [![PyPI version](https://badge.fury.io/py/quick-email.svg)](https://badge.fury.io/py/quick-email)\n\nEmails 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.\n\nSupports both Python `>=v2.7` and `>=3.4`.\n\n# Installation\n\n`pip install quick-email`\n\n# Usage\n\n## Send Email\n\n### `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[, require_starttls]]]]]]]]]])`\nMy super-useful utility function. Creates and sends an email in one fell swoop. All parameters are passed to the functions below.\n\n## Create Message\n\n### `quick_email.build_msg(send_from, subject[, send_to[, send_cc[, send_bcc[, plain_text[, html_text[, attachment_list[, inline_attachment_dict]]]]]]])`\nCreates a `email.message.Message` for deferred sending or additional preparing.\n\nEmail addresses can be a string (either of form `example@example.com` or `Example Name `), or a tuple, as returned by `email.utils.parseaddr`.\n\n`send_from` is a single email address.\n\n`subject` is the Subject string of the email.\n\n`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.\n\n`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.\n\n`attachment_list` is an optional `list` of `quick_email.Attachment`s.\n\n`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 ``). 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 ``. This may be preferred to the inline-base64 encoding (ie ``).\n\n### `class quick_email.Attachment(filename, bytes)`\n`filename` is the filename string.\n\n`bytes` is the bytes-like object of the content.\n\n## Send Message\n\n### `quick_email.send_msg(msg, host, port[, username[, password[, require_starttls]]])`\nSends a `email.message.Message` to its recipients.\n\n`msg` is the `email.message.Message`, which you may have built using `quick_email.build_msg`, or handcrafted youself.\n\n`host` is the host string to connect to. Usually a [FQDN](https://en.wikipedia.org/wiki/Fully_qualified_domain_name), or an IP address.\n\n`port` is the port number to connect to. Usually `25` for un-encrypted email.\n\n`username` is the username of a username/password combo used to authenticate. Leave it off if your service is unauthenticated.\n\n`password` is the password of a username/password combo used to authenticate. Leave it off if your service is unauthenticated.\n\n`require_starttls` is a flag whether to request the message sending be encrypted. Defaults to `False`, but turn it on if you can.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/murrple-1/quick-email-python", "keywords": "mail email smtp easy", "license": "", "maintainer": "", "maintainer_email": "", "name": "quick-email", "package_url": "https://pypi.org/project/quick-email/", "platform": "", "project_url": "https://pypi.org/project/quick-email/", "project_urls": { "Homepage": "https://github.com/murrple-1/quick-email-python" }, "release_url": "https://pypi.org/project/quick-email/0.4.4/", "requires_dist": [ "six" ], "requires_python": "", "summary": "Quick-and-Dirty Email Sender", "version": "0.4.4" }, "last_serial": 4107088, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a1aa049f1c5e152f8084966e34090040", "sha256": "953f1d4927b3b09a1f77b67c08348020a11294ef8a83801081e1c169b216b853" }, "downloads": -1, "filename": "quick_email-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1aa049f1c5e152f8084966e34090040", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3124, "upload_time": "2018-04-10T00:17:19", "url": "https://files.pythonhosted.org/packages/77/a0/69d021257578dce88ae8907ded4821cc37ff5dd2ceadec5b576834f3e2bd/quick_email-0.1.0-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3e1a0d2986ced0e2da2cc95242fa1647", "sha256": "11fbd60c5a3f1859aa1c2db56ac0cf9fabbfebe6dd4226042f2039d694267df1" }, "downloads": -1, "filename": "quick_email-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e1a0d2986ced0e2da2cc95242fa1647", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3557, "upload_time": "2018-04-11T13:34:48", "url": "https://files.pythonhosted.org/packages/d5/94/bf60063abfbd50f7ec3dee6030bae3d55fe78acd16a6e8bc96755e767e1a/quick_email-0.2.0-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a90bb892e6855030efb567fb4074da25", "sha256": "891d422464c538ec6c438955bf3fd3af0286c217534f6bffc7510ffc7a924c80" }, "downloads": -1, "filename": "quick_email-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a90bb892e6855030efb567fb4074da25", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3618, "upload_time": "2018-04-14T03:55:56", "url": "https://files.pythonhosted.org/packages/71/5d/b3b26eb44f1a101b3b7e90f3d23ea0dd614309c40459af8e6b0477cf4a2f/quick_email-0.3.0-py2.py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f7ea2378c810dd9bd3d9cb6802917d63", "sha256": "8d2f661a26dd5abadbdfc5dd3e2c9f845f1a39ef1c1317dc014a17187bca9ef7" }, "downloads": -1, "filename": "quick_email-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7ea2378c810dd9bd3d9cb6802917d63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4826, "upload_time": "2018-04-15T17:57:49", "url": "https://files.pythonhosted.org/packages/3d/ce/99b48a7eb78086b079bd49c39d4702ad8a3362b985de1d2016b3a9c8b51d/quick_email-0.4.0-py2.py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "169aa4adfc8a4a05a30d03d949dff4df", "sha256": "e1603bc0005aead49eafd9e02d24adb5da165d6b47eb176b18350932620e3863" }, "downloads": -1, "filename": "quick_email-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "169aa4adfc8a4a05a30d03d949dff4df", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4847, "upload_time": "2018-04-15T18:04:52", "url": "https://files.pythonhosted.org/packages/cf/2d/95ef058bdf8c1a4b96b1b527867c52e5fe13323675ab763159e203f08850/quick_email-0.4.1-py2.py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2459a59c862337ee848227cc2870e96c", "sha256": "2f11b4a4d5a723516acdca3604787b5cc729c8dff3ec04746f557d0c3e2852d4" }, "downloads": -1, "filename": "quick_email-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2459a59c862337ee848227cc2870e96c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4880, "upload_time": "2018-05-02T15:16:11", "url": "https://files.pythonhosted.org/packages/2c/02/fee6af4d4fefbb17e1e1be956bf1377e65576b112b72795cefe4116d2635/quick_email-0.4.2-py2.py3-none-any.whl" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "9b6d4bf26f40387ee5b6e2381ae7b845", "sha256": "2a6c791161cadf070febdefce654a56c905bd61d479b347bc2000bf2c89b6cc4" }, "downloads": -1, "filename": "quick_email-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9b6d4bf26f40387ee5b6e2381ae7b845", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4875, "upload_time": "2018-07-27T02:19:00", "url": "https://files.pythonhosted.org/packages/86/f8/9572747df318c0f8aee00612a19287409568f92a5340dd2630ce76a8d521/quick_email-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8918150024df5aebb3308cb9c5507233", "sha256": "f1c06fb2406821bb08fbdada5f855ef6c30053ed5b7acc47dd5f6594fd346200" }, "downloads": -1, "filename": "quick-email-0.4.3.tar.gz", "has_sig": false, "md5_digest": "8918150024df5aebb3308cb9c5507233", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4417, "upload_time": "2018-07-27T02:19:01", "url": "https://files.pythonhosted.org/packages/69/9a/922a9d0a1d428991a0833c42881a889786ed3bc981beb931c04544a99c8f/quick-email-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "bd942158c3cc7a09f83a282607b3eddb", "sha256": "7c48e2f60450311777bac189d46993b13dc776948fe0a3a7ee153322e34d587a" }, "downloads": -1, "filename": "quick_email-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd942158c3cc7a09f83a282607b3eddb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4874, "upload_time": "2018-07-27T02:34:15", "url": "https://files.pythonhosted.org/packages/d8/de/93541e17cc103f88e2b00b50e80aa1465e5db876e9f80eed823a9ebd8c00/quick_email-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "110e0f7535e2fdf2da40ea55da5e535d", "sha256": "afcd54d92914b343ca9c773ac6a8db8475f7bec25342708370fa4e91385b53bc" }, "downloads": -1, "filename": "quick-email-0.4.4.tar.gz", "has_sig": false, "md5_digest": "110e0f7535e2fdf2da40ea55da5e535d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4412, "upload_time": "2018-07-27T02:34:16", "url": "https://files.pythonhosted.org/packages/87/10/75c754174063907750daba6618c6a404eba891742197cb902b8381b4eed3/quick-email-0.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bd942158c3cc7a09f83a282607b3eddb", "sha256": "7c48e2f60450311777bac189d46993b13dc776948fe0a3a7ee153322e34d587a" }, "downloads": -1, "filename": "quick_email-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd942158c3cc7a09f83a282607b3eddb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4874, "upload_time": "2018-07-27T02:34:15", "url": "https://files.pythonhosted.org/packages/d8/de/93541e17cc103f88e2b00b50e80aa1465e5db876e9f80eed823a9ebd8c00/quick_email-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "110e0f7535e2fdf2da40ea55da5e535d", "sha256": "afcd54d92914b343ca9c773ac6a8db8475f7bec25342708370fa4e91385b53bc" }, "downloads": -1, "filename": "quick-email-0.4.4.tar.gz", "has_sig": false, "md5_digest": "110e0f7535e2fdf2da40ea55da5e535d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4412, "upload_time": "2018-07-27T02:34:16", "url": "https://files.pythonhosted.org/packages/87/10/75c754174063907750daba6618c6a404eba891742197cb902b8381b4eed3/quick-email-0.4.4.tar.gz" } ] }