django celery redis 傳送郵件

2021-09-22 12:50:57 字數 2066 閱讀 2033

broker是乙個訊息傳輸的中介軟體,可以理解為乙個郵箱。每當應用程式呼叫celery的非同步任務的時候,會向broker傳遞訊息,而後celery的worker將會取到訊息,進行對於的程式執行。好吧,這個郵箱可以看成是乙個訊息佇列。那麼什麼又是backend,通常程式傳送的訊息,發完就完了,可能都不知道對方時候接受了。為此,celery實現了乙個backend,用於儲存這些訊息以及celery執行的一些訊息和結果。對於 brokers,官方推薦是rabbitmq和redis,至於backend,就是資料庫啦。為了簡單起見,我們都用redis

settings.py

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'djcelery', # 將djcelery 加入進應用

]broker_url = 'redis:' # broker 的位址

celery_result_backend = 'redis:' # 資料庫位址

email_backend = 'django.core.mail.backends.smtp.emailbackend'

email_host = 'smtp.qq.com'

email_port = 25

email_host_user = '******@qq.com'

email_host_password = '*******'# 郵箱授權碼

email_from = '***<******@qq.com>'

email_to = '*******@qq.com'

在專案下 和settings同級建立celery.py

from __future__ import absolute_import

import os

import django

from celery import celery

from django.conf import settings

os.environ.setdefault('django_settings_module', 'restful1.settings')# 你自己專案的settings

django.setup()

def debug_task(self):

print('request: '.format(self.request))

from celery import task

from django.core.mail import send_mail

from restful1 import settings

def send_email():

"""task to send an e-mail notification when an order is successfully created.

"""print(11111111)

title = 'django傳送郵件'

message = '本郵件為程式所發,請忽視'

print("我是非同步的")

return httpresponse("ok")

**開啟celery命令 ---------  celery  -a 專案名 worker loglevel=info

thinkPHP PHPMailer 傳送郵件

二 在thinkphp的配置檔案config.php中寫以下 郵件傳送配置 mail host smtp.163.com smtp伺服器的名稱 mail host smtp.exmail.qq.com 郵箱是qq mail smtpauth true,啟用smtp認證 mail username 1...

thinkphp phpmailer傳送郵件

1.在function.php中新增 郵件傳送函式 param address 郵件收件人位址 param titlle 郵件標題 param content 郵件內容 param attachment 附件 function sendmail addressee,title,content,att...

Dynamics CRM Plugin 傳送郵件

1 建立郵件 發件人的guid的list 收件人的guid的list 抄送人的guid的list 需要傳送郵件的實體,可以根據此處獲取郵件中需要的資訊 private void createinformemail iorganizationservice service,listfromemail,...