{ "info": { "author": "Eduard Kracmar", "author_email": "info@adaptiware.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Communications :: Email", "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries", "Topic :: Utilities" ], "description": "Django Queue Mailer\n===================\n\nA reusable Django app for controlling queuing and sending of app emails.\nKey use case is to move sending of emails out of requests to speed-up\nrequest time and help to solve problems with sending email, handling\ndeferring of email and logging of app email communication.\n\nApp started as a fork of Derek Stegelman's `Django Mail\nQueue `__ and heavilly\ninspired by James Tauber's\n`django-mailer `__.\n\nAny feedback, issues and suggestions are welcome. In that case please\nuse `Bitbucket's\nissues `__.\n\nKey features\n------------\n\n- Emails are queued and send as asynchronous task with help of Celery\n or Huey or as a crontab job scheduler.\n- With use of own backend easily integrated into existing app.\n- Easily configurable to use different mail backends as Django's SMTP\n backend or Amazon SES using `Sea\n Cucumber `__.\n\nInstallation\n------------\n\nInstall django\\_queue\\_mailer:\n\n::\n\n $ pip install django_queue_mailer\n\nAdd the following to your settings.py:\n\n::\n\n # Add django_queue_mailer to INSTALLED_APPS\n INSTALLED_APPS = (\n ...\n \"django_queue_mailer\",\n ...\n )\n\n # Add django_queue_mailer's backend\n EMAIL_BACKEND = \"django_queue_mailer.backend.DbBackend\"\n\n # Setup email backend for sending queued emails\n DJANGO_QUEUE_MAILER_EMAIL_BACKEND = \"django.core.mail.backends.smtp.EmailBackend\"\n\n # Or other backed as Sea Cucumber\n DJANGO_QUEUE_MAILER_EMAIL_BACKEND = \"seacucumber.backend.SESBackend\"\n\nYou need to create the necessary tables. If you use\n`south `__, just run\nmigrations:\n\n::\n\n $ python manage.py migrate django_queue_mailer\n\nIf not, normal ``syncdb`` will do. For easier package upgrades using\n`south `__ for database\nmigrations is strongly recommended.\n\n::\n\n $ python manage.py syncdb\n\nBasic usage\n-----------\n\nSend emails and put them in queue with Django's send\\_mail function:\n\n::\n\n from django.core.mail import send_mail\n\n send_mail('Subject here', 'Here is the message.', 'from@example.com',\n ['to@example.com'], fail_silently=False)\n\nAlternatively you can queue message with use of Queue model:\n\n::\n\n from django_queue_mailer.models import Queue\n\n new_message = Queue()\n new_message.subject = \"Testing subject\"\n new_message.to_address = \"nobody@example.com, noone@example.com\"\n new_message.bcc_address = \"blindcopy@example.com\"\n new_message.from_address = \"hello@example.com\"\n new_message.content = \"Mail content\"\n new_message.html_content = \"

Mail Content

\"\n new_message.app = \"someapp\"\n new_message.save()\n\nQueued messages can be send with use of\n`Celery `__ as asynchronous\ntasks. Example of Celery task, tasks.py in your app folder:\n\n::\n\n from django_queue_mailer.models import Queue\n\n @celery.task\n def send_mail():\n Queue.objects.send_queued()\n\n`Huey `__ is a perfect lightweight\nCelery alternative. Example of using it's multi-threaded tasks,\nperiodical or event based (called from request when needed). Configure\ntask in tasks.py:\n\n::\n\n from huey.djhuey import task, periodic_task, crontab\n from django.core.management import call_command\n\n @task()\n @periodic_task(crontab(minute='*/2'))\n def send_mail():\n call_command('send_queued_messages')\n\nSimplest solution is to run crontab job, configure crontab using\n``crontab -e``:\n\n::\n\n */2 * * * * path-to-virtualenv/bin/python path-to-app-folder/manage.py send_queued_messages\n\nFurther documentation\n---------------------\n\nWill be added.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/edke/django-queue-mailer", "keywords": "django_queue_mailer", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django_queue_mailer", "package_url": "https://pypi.org/project/django_queue_mailer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django_queue_mailer/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/edke/django-queue-mailer" }, "release_url": "https://pypi.org/project/django_queue_mailer/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "A reusable Django app for controlling queuing and sending of app emails", "version": "0.1.7" }, "last_serial": 1474208, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7f6347e7eae347f5b8ebc928d10f06d2", "sha256": "b90555f494719149e8e6faeb6819af304515057d03826a97ce3cbb58c47738de" }, "downloads": -1, "filename": "django_queue_mailer-0.1.0.tar.gz", "has_sig": true, "md5_digest": "7f6347e7eae347f5b8ebc928d10f06d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7358, "upload_time": "2013-11-08T09:15:48", "url": "https://files.pythonhosted.org/packages/4b/48/8802356c5adf35ca84311a6bc85ae1ad0c84af64c9f00b7ca9d33a05d85f/django_queue_mailer-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ebc0cbe92d75c8ed11d93d37e0d6c29e", "sha256": "11843bcc5c0888e0f1de7ca96f0a0335a8bed4c5708bf536ea0fad0290820971" }, "downloads": -1, "filename": "django_queue_mailer-0.1.1.tar.gz", "has_sig": true, "md5_digest": "ebc0cbe92d75c8ed11d93d37e0d6c29e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8007, "upload_time": "2013-11-08T09:30:04", "url": "https://files.pythonhosted.org/packages/93/37/d9d74d2d99709e949c620238e59bbcc43d7dbc594d0d3f71c24013a94a28/django_queue_mailer-0.1.1.tar.gz" } ], "0.1.2": [], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f66bbd18ed76b7578ae18a3972828c6c", "sha256": "e567d673980f2a2b2980ebc88dc0c2bf418b406257a994e4c451a937e01943ef" }, "downloads": -1, "filename": "django_queue_mailer-0.1.3.tar.gz", "has_sig": true, "md5_digest": "f66bbd18ed76b7578ae18a3972828c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9484, "upload_time": "2013-11-08T10:35:31", "url": "https://files.pythonhosted.org/packages/b6/52/8c7f01247e6a1826c48569214884460af07dfdab5d1ee2a9429c698f7b8f/django_queue_mailer-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "fe82284cefb0838f3e3cfe35b5342507", "sha256": "77b2d495043e2845ca11a3ef8a2e8e44be40f4a6097257022eb39c0e4aa405e7" }, "downloads": -1, "filename": "django_queue_mailer-0.1.4.tar.gz", "has_sig": true, "md5_digest": "fe82284cefb0838f3e3cfe35b5342507", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10934, "upload_time": "2013-11-08T11:28:04", "url": "https://files.pythonhosted.org/packages/56/2a/33c2d1b900713db081d99510d1f322e07c8bf389512dc85358499cbb2212/django_queue_mailer-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7e4f891e2ab9eeab85751aaf9dd668de", "sha256": "e1a289449e7f79df36346f707e8fd810a74872428ffd9c77c170aecac0b14565" }, "downloads": -1, "filename": "django_queue_mailer-0.1.5.tar.gz", "has_sig": true, "md5_digest": "7e4f891e2ab9eeab85751aaf9dd668de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10947, "upload_time": "2013-11-08T11:35:57", "url": "https://files.pythonhosted.org/packages/88/c0/e6977890052ae927e8d9841656274011efe82b4c55b1054b34a3d688cb90/django_queue_mailer-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "056e564873fe9dcacf1c3252cb8fbb4f", "sha256": "e70bcbda7ff0efd9d33c2fb3b513464dfefff9658e0e7a3b9643a1d1068d98bb" }, "downloads": -1, "filename": "django_queue_mailer-0.1.6.tar.gz", "has_sig": true, "md5_digest": "056e564873fe9dcacf1c3252cb8fbb4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12230, "upload_time": "2013-11-08T13:45:55", "url": "https://files.pythonhosted.org/packages/9a/93/f0160a1ad213352f55a82b6cb70bd0bfd62f70a4cecd4fb1c7d5470cc165/django_queue_mailer-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "efb6fa2b91f69273b3d892b1edfc7b17", "sha256": "06dafab594f69d08107828e243b62463ce1d655f93abc87df37f59b3b8663351" }, "downloads": -1, "filename": "django_queue_mailer-0.1.7.tar.gz", "has_sig": false, "md5_digest": "efb6fa2b91f69273b3d892b1edfc7b17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12228, "upload_time": "2015-03-23T20:17:56", "url": "https://files.pythonhosted.org/packages/0b/db/6674b3e1ccd5bd5b2b394d61eede894cefe4542512bc7811a7a18c693c73/django_queue_mailer-0.1.7.tar.gz" } ], "0.1.7b": [ { "comment_text": "", "digests": { "md5": "7483aebea22c8ee36c7dc4c2d95ac9e8", "sha256": "6edd0576b736f632ac637361035321d4035552e0ad227771352a9effc6214e76" }, "downloads": -1, "filename": "django_queue_mailer-0.1.7b.tar.gz", "has_sig": false, "md5_digest": "7483aebea22c8ee36c7dc4c2d95ac9e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12235, "upload_time": "2015-03-23T20:38:32", "url": "https://files.pythonhosted.org/packages/8c/7b/c4180c8f47aa80df88a0d87ad55fe21e2155b0644a6d9ea76b0196feaceb/django_queue_mailer-0.1.7b.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "efb6fa2b91f69273b3d892b1edfc7b17", "sha256": "06dafab594f69d08107828e243b62463ce1d655f93abc87df37f59b3b8663351" }, "downloads": -1, "filename": "django_queue_mailer-0.1.7.tar.gz", "has_sig": false, "md5_digest": "efb6fa2b91f69273b3d892b1edfc7b17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12228, "upload_time": "2015-03-23T20:17:56", "url": "https://files.pythonhosted.org/packages/0b/db/6674b3e1ccd5bd5b2b394d61eede894cefe4542512bc7811a7a18c693c73/django_queue_mailer-0.1.7.tar.gz" } ] }