{ "info": { "author": "Bakhtiyor Ruziev", "author_email": "bakhtiyor.ruziev@yandex.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://img.shields.io/travis/com/theruziev/async_sender.svg?style=flat-square\n :target: https://travis-ci.com/theruziev/async_sender\n.. image:: https://img.shields.io/codecov/c/github/theruziev/async_sender.svg?style=flat-square\n :target: https://codecov.io/gh/theruziev/async_sender\n.. image:: https://img.shields.io/pypi/v/async_sender.svg?style=flat-square \n :alt: PyPI \n :target: https://pypi.org/project/async_sender/\n\n\nAsyncSender provides a simple interface to set up a SMTP connection and send email messages asynchronously.\n\n\nInstallation\n------------\n\nInstall with the following command\n\n.. code-block:: bash\n\n pip install async_sender\n\n\nQuickstart\n----------\n\nAsyncSender is really easy to use. Emails are managed through a `Mail`\ninstance\n\n.. code-block:: python\n\n from async_sender import Mail\n import asyncio\n\n loop = asyncio.get_event_loop()\n\n mail = Mail()\n\n loop.run_until_complete(mail.send_message(\"Hello\", from_address=\"from@example.com\",\n to=\"to@example.com\", body=\"Hello world!\"))\n\n\n\nMessage\n-------\n\nTo send one message, we need to create a `Message` instance\n\n.. code-block:: python\n\n from async_sender import Message\n\n msg = Message(\"demo subject\", from_address=\"from@example.com\",\n to=\"to@example.com\")\n\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/bruziev/async_sender", "keywords": "email,sender,smtp,asyncio", "license": "", "maintainer": "", "maintainer_email": "", "name": "async-sender", "package_url": "https://pypi.org/project/async-sender/", "platform": "", "project_url": "https://pypi.org/project/async-sender/", "project_urls": { "Homepage": "http://github.com/bruziev/async_sender" }, "release_url": "https://pypi.org/project/async-sender/1.4.1/", "requires_dist": [ "aiosmtplib (==1.1.0)" ], "requires_python": "", "summary": "AsyncSender is a tiny module for SMTP mail sending, Inspired by Sender.", "version": "1.4.1" }, "last_serial": 5995279, "releases": { "1.3.0": [ { "comment_text": "", "digests": { "md5": "2da55862dbf72e1443523cd8f156270e", "sha256": "18ed49df1b0728d4d2663645e1866ef3b5fe89b22e6804935466a2905094ab82" }, "downloads": -1, "filename": "async_sender-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2da55862dbf72e1443523cd8f156270e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5578, "upload_time": "2018-11-04T18:46:59", "url": "https://files.pythonhosted.org/packages/fa/ec/15eb4c4d69fadb573c8aa79c68c953171797d73f9845785382712d9b848d/async_sender-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ce295f36951ac3a6812a5cb89796784", "sha256": "a3500bc78f45ec9f67a71f44ce2d4af27ab061547940b279d59291bd5f27de77" }, "downloads": -1, "filename": "async_sender-1.3.0.tar.gz", "has_sig": false, "md5_digest": "3ce295f36951ac3a6812a5cb89796784", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5332, "upload_time": "2018-11-04T18:47:01", "url": "https://files.pythonhosted.org/packages/fa/9e/73deb34900157e7fc6e8309eff3f8c25306d5c5b7e65e89022caef3b6ca2/async_sender-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "155019281ce62aba3c65ffe21df69465", "sha256": "849fbdf15037f822e8e23759ad6d41e6cdac388db56697737117de70d20cb86d" }, "downloads": -1, "filename": "async_sender-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "155019281ce62aba3c65ffe21df69465", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5654, "upload_time": "2018-11-06T19:39:13", "url": "https://files.pythonhosted.org/packages/83/35/20917ea5460985747b3dcd5b012089a609210bfcdf2f58224dc6dfd72907/async_sender-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75a60f8629a714bf22097abdf244bbe2", "sha256": "98fc990cc67d7a4fceecd25a0bc816d85f4cb459283f97a9c8b8e5cdb672d749" }, "downloads": -1, "filename": "async_sender-1.3.1.tar.gz", "has_sig": false, "md5_digest": "75a60f8629a714bf22097abdf244bbe2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5434, "upload_time": "2018-11-06T19:39:14", "url": "https://files.pythonhosted.org/packages/9c/20/55ad97b861ef1193419fe88635924a06e3636ef2218b59aebc5a2616ac42/async_sender-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "e8d5eee26da0105d058a2dfeec29fde8", "sha256": "8da0d7e9a088bb7e7bda2967bf4884d179420c85c5207836eabe50921b120f89" }, "downloads": -1, "filename": "async_sender-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8d5eee26da0105d058a2dfeec29fde8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5564, "upload_time": "2018-12-06T07:35:19", "url": "https://files.pythonhosted.org/packages/1a/9a/cbd4a8c404709312bc33d48811268059b5f243f38a31cca0ce2b8ed11359/async_sender-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b6f61873983d0f8eebab556f34865fc", "sha256": "96d5d0590d5b7696e00a91abb7f7f8c50e08f4aeb554444a0bea5e56556e4f28" }, "downloads": -1, "filename": "async_sender-1.3.2.tar.gz", "has_sig": false, "md5_digest": "0b6f61873983d0f8eebab556f34865fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5316, "upload_time": "2018-12-06T07:35:21", "url": "https://files.pythonhosted.org/packages/87/82/dcf80319bfe50d7c6c97abbc4483005376d38fa05d8d1fcd3cda5c6f45cb/async_sender-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "87eceb5a8fac3262c335dd516557dc12", "sha256": "5ec021d40b28195fa2795d679ace9f83c33b59a451b4386d01812c5d34184f35" }, "downloads": -1, "filename": "async_sender-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87eceb5a8fac3262c335dd516557dc12", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5577, "upload_time": "2019-02-03T09:20:26", "url": "https://files.pythonhosted.org/packages/ad/d4/9948e77c2812aefbcd9b092f5b976f1ab655863819003088d0a9b4b29bf6/async_sender-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b207f7d485c0ce46a0f5e47e5e62116", "sha256": "54994864d457f9676d036fc90c827f40c3befaadcc82e6e1265d3a1d11dd1399" }, "downloads": -1, "filename": "async_sender-1.3.3.tar.gz", "has_sig": false, "md5_digest": "7b207f7d485c0ce46a0f5e47e5e62116", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5367, "upload_time": "2019-02-03T09:20:28", "url": "https://files.pythonhosted.org/packages/37/04/4d088abd20cb6f2fba5c6404fedafaf569f4cefaaa2e68fbd427b1e58c0a/async_sender-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "3b445466dbba25f8ad4974630e2dc386", "sha256": "8306dea125fa5c8a2741e81dcdb938d45f5defa8606d5129b08d387b8c421035" }, "downloads": -1, "filename": "async_sender-1.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b445466dbba25f8ad4974630e2dc386", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5578, "upload_time": "2019-04-29T08:30:34", "url": "https://files.pythonhosted.org/packages/93/03/02b2c7136ad17230d2a73eaa035f982e6a86cf6898e5e09360b26caaf31b/async_sender-1.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "975df2a8ab56a00c1c9f98b47ccac94e", "sha256": "6d40516aa01da716b17d1b63999c2977e4b9071d8908c0853ec048041e74477f" }, "downloads": -1, "filename": "async_sender-1.3.4.tar.gz", "has_sig": false, "md5_digest": "975df2a8ab56a00c1c9f98b47ccac94e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5350, "upload_time": "2019-04-29T08:30:40", "url": "https://files.pythonhosted.org/packages/ba/c8/efc6ebe3a1fc83b4175614c8c1f7ec7b0c04c87a327d68bbdfeb151f1150/async_sender-1.3.4.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "5b02fd708678857666a5d772805ec2e6", "sha256": "78367643f9ca64353926ab450d6f6b6decc7558ac1b4cc85405505a0da8accbb" }, "downloads": -1, "filename": "async_sender-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b02fd708678857666a5d772805ec2e6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5588, "upload_time": "2019-08-19T07:28:12", "url": "https://files.pythonhosted.org/packages/09/85/3e827b49f6610960f189d1cb7a2922cd136446d2ea3d147e6430b48d7403/async_sender-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d15609072d54055524f22cec5f97348e", "sha256": "687e08f6cb0f2a2bb2957adead94cae1b3695ce134f93ca6e66079e4a68b1fcd" }, "downloads": -1, "filename": "async_sender-1.4.0.tar.gz", "has_sig": false, "md5_digest": "d15609072d54055524f22cec5f97348e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5357, "upload_time": "2019-08-19T07:28:13", "url": "https://files.pythonhosted.org/packages/63/9d/6b54708ead1346db5dd1e66814e230d4a74c8e2c32ed45a847c28f7833ca/async_sender-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "76fb69634c6445a07ebe2de9ff71a6d3", "sha256": "b4b257cf6a941ac7dc70c32ffa396b8803a3b4510b96cee440da68f0c252ea70" }, "downloads": -1, "filename": "async_sender-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76fb69634c6445a07ebe2de9ff71a6d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6422, "upload_time": "2019-10-18T12:00:14", "url": "https://files.pythonhosted.org/packages/d1/e1/057475b1983803b0b8d0b6ba95717e1dd832455cd91ffa098c67b1284915/async_sender-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46da7e3a6695195de81436c1b5e3169c", "sha256": "11e9c22b6c585869fe4bb036d167c6840cf93218179a4282220fb934205e0dce" }, "downloads": -1, "filename": "async_sender-1.4.1.tar.gz", "has_sig": false, "md5_digest": "46da7e3a6695195de81436c1b5e3169c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5366, "upload_time": "2019-10-18T12:00:16", "url": "https://files.pythonhosted.org/packages/05/43/5dda0b620403da5df25075510d0c2949d4a37f8f34f23513afb274056990/async_sender-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "76fb69634c6445a07ebe2de9ff71a6d3", "sha256": "b4b257cf6a941ac7dc70c32ffa396b8803a3b4510b96cee440da68f0c252ea70" }, "downloads": -1, "filename": "async_sender-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76fb69634c6445a07ebe2de9ff71a6d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6422, "upload_time": "2019-10-18T12:00:14", "url": "https://files.pythonhosted.org/packages/d1/e1/057475b1983803b0b8d0b6ba95717e1dd832455cd91ffa098c67b1284915/async_sender-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46da7e3a6695195de81436c1b5e3169c", "sha256": "11e9c22b6c585869fe4bb036d167c6840cf93218179a4282220fb934205e0dce" }, "downloads": -1, "filename": "async_sender-1.4.1.tar.gz", "has_sig": false, "md5_digest": "46da7e3a6695195de81436c1b5e3169c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5366, "upload_time": "2019-10-18T12:00:16", "url": "https://files.pythonhosted.org/packages/05/43/5dda0b620403da5df25075510d0c2949d4a37f8f34f23513afb274056990/async_sender-1.4.1.tar.gz" } ] }