2014-03-25 4 views
1

Я использую базовую версию сервера Webfaction для размещения моего веб-приложения, написанного на Python/Django. Я добавляю функцию рассылки новостей. Число подписчиков более 10 тыс. Абонентов все еще растет. Как отправить информационный бюллетень каждому из них. Это то, что я делаю прямо сейчас. Он может отправить около 200 электронных писем и уйти из памяти.Как отправить электронное письмо от Django более чем 10 тысячам подписчиков, не получая из памяти

for subscriber in subscribers: 
    send_email(title, content, 'sender', subscriber) 

Каков наилучший способ справиться с этим на общем сервере хостинга с ограниченными ресурсами.

Спасибо

+0

Использование очереди на основе подхода, и ежедневная работа, чтобы вызвать отправку писем. https://github.com/dstegelman/django-mail-queue – karthikr

+0

Я пробовал использовать 'django-mail-queue', но не смог настроить сельдерей на webfaction, поэтому без асинхронных вызовов процесс не прошел. – pynovice

ответ

0

Вы хотите использовать службу для отправки сообщения электронной почты, многие преимущества, которые вы не должны строить из себя. Таким образом, вы можете убрать тысячи писем, а вашему веб-серверу Django не придется замедлять и обрабатывать каждое электронное письмо. Вы также получите возможность отслеживать отскоки и иметь гораздо более надежную отправку.

SendGrid - С django-sendgrid

Есть несколько других услуг там, как Postmarkapp

+0

Благодарим за быстрый ответ. 'SendGrid' выглядит очень справедливо, но о подходах на основе очередей ничего не сказано. Что касается 'Postmarkapp', я не ищу платные решения. – pynovice

+0

Чтобы добавить в очередь электронные письма, вам нужно будет использовать систему задач для Django, например Celery (https://pypi.python.org/pypi/django-celery), а затем использовать Django-Post-Office (https: // github .com/ui/django-post_office), чтобы помещать в очередь электронные письма и управлять ими с помощью шаблонов. – stormlifter

+0

Mailgun (http://www.mailgun.com/) является другим поставщиком услуг. Вы можете использовать их услугу, чтобы бесплатно отправлять до 10000 писем в месяц. Если вы отправляете больше писем, чем плата за каждую почту. – HAL