{ "info": { "author": "hsz", "author_email": "hsz1273327@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Documentation :: Sphinx" ], "description": "sanic_mail\r\n===============================\r\n\r\n* version: 0.0.2\r\n\r\n* status: dev\r\n\r\n* author: hsz\r\n\r\n* email: hsz1273327@gmail.com\r\n\r\nDesc\r\n--------------------------------\r\n\r\nasync email sender extension for sanic!\r\n\r\n\r\nkeywords:email,sanic\r\n\r\n\r\nFeature\r\n----------------------\r\n* asyncio send email \r\n* html,attachments support\r\n\r\nUsage\r\n-------------------\r\n\r\n\r\nSetting\r\n>>>>>>>>>>>>>>\r\n\r\nWe can use a static mrthod to setup Sanic_Mail\r\n\r\n.. code:: python\r\n\r\n Sanic_Mail.SetConfig(\r\n app,\r\n MAIL_SENDER=,\r\n MAIL_SENDER_PASSWORD=,\r\n MAIL_SEND_HOST=,\r\n MAIL_SEND_PORT=,\r\n MAIL_TLS=\r\n )\r\n\r\n\r\nif the `app.config` already include these field, you don't need to setup with this method.\r\nBut `SetConfig` has priority over `app.config`.\r\n\r\nInitialization\r\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\r\n\r\nAs the same with other sanic's extensions, there are 2 ways to initialization.\r\n\r\n1. Use `Sanic_Mail(app)`\r\n2. Instantiate Sanic_Mail like `sm=Sanic_Mail()`,then use `sm.init_app(app)`\r\n\r\nSend mails\r\n>>>>>>>>>>>>>>>>>>>\r\n\r\nthere are 2 ways to send email:\r\n\r\n+ coroutines `send_email`\r\n+ method `send_email_nowait`\r\n\r\n`send_email_nowait` means run the task without waiting for the action completed,\r\nand this method will return the certain task instance\r\n\r\nthese 2 method will also bind on the app instance,we can get app instance by `request.app`\r\n\r\n\r\nAttention point\r\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>\r\n\r\n* images in html\r\n\r\n We can embed images in html like `\">`. pic1 must be the picture's name without postfix.\r\n\r\n\r\nExample\r\n-------------------------------\r\n\r\n.. code:: python\r\n\r\n import aiofiles\r\n import base64\r\n from sanic import Sanic\r\n from sanic_jinja2 import SanicJinja2\r\n from sanic.response import json\r\n from sanic_mail import Sanic_Mail\r\n\r\n app = Sanic(__name__)\r\n jinja = SanicJinja2(app)\r\n Sanic_Mail.SetConfig(\r\n app,\r\n MAIL_SENDER=,\r\n MAIL_SENDER_PASSWORD=,\r\n MAIL_SEND_HOST=,\r\n MAIL_SEND_PORT=,\r\n MAIL_TLS=\r\n )\r\n sender = Sanic_Mail(app)\r\n\r\n\r\n @app.get('/send')\r\n async def send(request):\r\n attachments = {}\r\n async with aiofiles.open(\"source/README.md\", \"rb\") as f:\r\n attachments[\"README.md\"] = await f.read()\r\n async with aiofiles.open('source/\u732b.jpg', \"rb\") as f:\r\n attachments['\u732b.jpg'] = await f.read()\r\n await app.send_email(\r\n targetlist=\"hsz1273327@gmail.com\",\r\n subject=\"\u6d4b\u8bd5\u53d1\u9001\",\r\n content=\"\u6d4b\u8bd5\u53d1\u9001uu\",\r\n attachments=attachments\r\n )\r\n return json({\"result\": \"ok\"})\r\n\r\n\r\n @app.get('/send_html')\r\n async def send_html(request):\r\n attachments = {}\r\n msgimgs = {}\r\n async with aiofiles.open(\"source/README.md\", \"rb\") as f:\r\n attachments[\"README.md\"] = await f.read()\r\n async with aiofiles.open('source/\u732b.jpg', \"rb\") as f:\r\n attachments['\u732b.jpg'] = await f.read()\r\n msgimgs['\u732b.jpg'] = attachments['\u732b.jpg']\r\n\r\n content = jinja.env.get_template('default.html').render(\r\n name='sanic!',pic1=\"\u732b\"\r\n )\r\n await app.send_email(\r\n targetlist=\"hsz1273327@gmail.com\",\r\n subject=\"\u6d4b\u8bd5\u53d1\u9001\",\r\n content=content,\r\n html=True,\r\n msgimgs = msgimgs,\r\n attachments=attachments\r\n )\r\n return json({\"result\": \"ok\"})\r\n\r\n if __name__ == \"__main__\":\r\n app.run(host='127.0.0.1', port=5000, debug=True)\r\n\r\n\r\nInstall\r\n--------------------------------\r\n\r\n- ``python -m pip install sanic_mail``\r\n\r\n\r\nDocumentation\r\n--------------------------------\r\n\r\n`Documentation on Readthedocs `_.\r\n\r\n\r\n\r\n\r\n\r\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Sanic-Extensions/sanic-mail", "keywords": "email", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sanic-mail", "package_url": "https://pypi.org/project/sanic-mail/", "platform": "", "project_url": "https://pypi.org/project/sanic-mail/", "project_urls": { "Homepage": "https://github.com/Sanic-Extensions/sanic-mail" }, "release_url": "https://pypi.org/project/sanic-mail/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "async email sender for sanic", "version": "0.0.2" }, "last_serial": 3729297, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f9f8078d03bed1dfd84fc479e9532aa6", "sha256": "e9a6a4122d5bc107db53ce8278a117aacf70d70e269ae588ccfa2acdc922b505" }, "downloads": -1, "filename": "sanic_mail-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f9f8078d03bed1dfd84fc479e9532aa6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8688, "upload_time": "2018-03-13T14:25:12", "url": "https://files.pythonhosted.org/packages/97/c2/bb3597eb8f7ac63c3bcd93b90aaaa7c0325962612f40bcb1d363d377e78c/sanic_mail-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6b1170820c6494597e785aa9ddefe02", "sha256": "940c02c40a06ad8fa1293dc2bf80341a29d4de557c4bd30d06bab0f3620c48c0" }, "downloads": -1, "filename": "sanic-mail-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b6b1170820c6494597e785aa9ddefe02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6938, "upload_time": "2018-03-13T14:25:05", "url": "https://files.pythonhosted.org/packages/35/27/49697989a76d45fb7948feecfb0acbc54fc27c99c116d455d7df0ead4c6f/sanic-mail-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "57f6f2d429261cf996b813aa42316ee1", "sha256": "370f97bffccee586bfcd02001adba4a55eee5462f6a1430b8c244968f31914ae" }, "downloads": -1, "filename": "sanic_mail-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "57f6f2d429261cf996b813aa42316ee1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6010, "upload_time": "2018-04-03T11:51:28", "url": "https://files.pythonhosted.org/packages/95/7b/7183b62eab75d5b0ce480e41bef672edbb2252702fb11fd8826c0c6258f0/sanic_mail-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9eb6a47423cb9ccfaa8da2f06f3906d1", "sha256": "1f03dba2f629142813cf772d42d2ab92a28d14f160550eb949d638ec7c612ec4" }, "downloads": -1, "filename": "sanic-mail-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9eb6a47423cb9ccfaa8da2f06f3906d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7107, "upload_time": "2018-04-03T11:51:25", "url": "https://files.pythonhosted.org/packages/88/70/638d5686dcce43bb01f893385d6d440faa154715ff3bb29e4e3f89430dd0/sanic-mail-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "57f6f2d429261cf996b813aa42316ee1", "sha256": "370f97bffccee586bfcd02001adba4a55eee5462f6a1430b8c244968f31914ae" }, "downloads": -1, "filename": "sanic_mail-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "57f6f2d429261cf996b813aa42316ee1", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6010, "upload_time": "2018-04-03T11:51:28", "url": "https://files.pythonhosted.org/packages/95/7b/7183b62eab75d5b0ce480e41bef672edbb2252702fb11fd8826c0c6258f0/sanic_mail-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9eb6a47423cb9ccfaa8da2f06f3906d1", "sha256": "1f03dba2f629142813cf772d42d2ab92a28d14f160550eb949d638ec7c612ec4" }, "downloads": -1, "filename": "sanic-mail-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9eb6a47423cb9ccfaa8da2f06f3906d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7107, "upload_time": "2018-04-03T11:51:25", "url": "https://files.pythonhosted.org/packages/88/70/638d5686dcce43bb01f893385d6d440faa154715ff3bb29e4e3f89430dd0/sanic-mail-0.0.2.tar.gz" } ] }