================================================================
pip install django-celery-ses
python
INSTALLED_APPS = [
...
'django_celery_ses',
]
python
CELERY_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_BACKEND = 'django_celery_ses.backends.CeleryEmailBackend'
python
AWS_ACCESS_KEY_ID = 'your_access_key_id'
AWS_SECRET_ACCESS_KEY = 'your_secret_access_key'
python
from django.core.mail import send_mail
def send_email(subject, message, from_email, recipient_list):
send_mail(
subject,
message,
from_email,
recipient_list,
fail_silently=False,
)
python
from celery import Celery
app = Celery('demoapp')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
python
from demoapp.tasks import send_email
def send_email_view(request):
subject = 'Hello'
message = 'Welcome to our website.'
from_email = 'info@example.com'
recipient_list = ['user@example.com']
send_email.apply_async(args=(subject, message, from_email, recipient_list))
return HttpResponse('Email sent.')
celery -A your_project_name worker --loglevel=info
celery -A your_project_name beat --loglevel=info