1. 程式人生 > >生產環境中實現多執行緒傳送郵件

生產環境中實現多執行緒傳送郵件

1、settings.py 增加Email設定#mailEMAIL_HOST = 'smtp.gmail.com'                   #郵件smtp伺服器EMAIL_PORT = '25'                                        #埠EMAIL_HOST_USER = 'code***@gmail.com'  #郵件賬戶EMAIL_HOST_PASSWORD = '*********'      #密碼EMAIL_USE_TLS = False2、views.py 傳送郵件from django.core.mail import EmailMultiAlternativesfrom django.template import loaderfrom settings import EMAIL_HOST_USERimport threadingfrom_email = EMAIL_HOST_USERclass EmailThread(threading.Thread):def __init__(self, subject, body, from_email, recipient_list, fail_silently, html):self.subject = subjectself.body = bodyself.recipient_list = recipient_listself.from_email = from_emailself.fail_silently = fail_silentlyself.html = htmlthreading.Thread.__init__(self)def run (self):msg = EmailMultiAlternatives(self.subject, self.body, self.from_email, self.recipient_list)if self.html:msg.attach_alternative(self.body,self.html)msg.send(self.fail_silently)def send_mail(subject, body, from_email, recipient_list, fail_silently=False, html=None, *args, **kwargs):EmailThread(subject, body, from_email, recipient_list, fail_silently, html).start()def test_mail(request):subject = u'郵件主題'to_mail_list = ['
[email protected]
','[email protected]']body = loader.render_to_string('mail_template.html',{'email':email,'date':datetime.today(), })send_mail(subject,body,from_email,to_mail_list,html="text/html")return "ok"程式碼比較簡單就不解釋了,到這裡Django多執行緒傳送Email基本功能已經完成。當然了還需要新建一個模板檔案,這裡是以mail_template.html命名的。The end

相關推薦

生產環境實現執行傳送郵件

1、settings.py 增加Email設定#mailEMAIL_HOST = 'smtp.gmail.com'                   #郵件smtp伺服器EMAIL_PORT = '25'                                   

Processing摸索前行(6)-在processing實現執行

由於我們在示波器中必須用到多執行緒,所以我們在實現示波器的動態獲取資料功能之前,中間插一篇有關processing多執行緒的探索內容。 雖然,表面上processing和arduino的封裝差不多,一開始都是一個setup,但我們知道要在arduino中實現多執行緒幾乎不可能,最常見的方

Java實現執行的兩種方式之間的區別

 Java提供了執行緒類Thread來建立多執行緒的程式。其實,建立執行緒與建立普通的類的物件的操作是一樣的,而執行緒就是Thread類或其子類的例項物件。每個Thread物件描述了一個單獨的執行緒。要產生一個執行緒,有兩種方法:     ◆需要從Java.la

詳細分析 Java 實現執行的方法有幾種?(從本質上出發)

[TOC] # 詳細分析 Java 中實現多執行緒的方法有幾種?(從本質上出發) ## 正確的說法(從本質上出發) - **實現多執行緒的官方正確方法: 2 種。** - Oracle 官網的文件說明 ![在這裡插入圖片描述](https://img-blog.csdnimg

java mail 執行傳送郵件

轉載地址:https://blog.csdn.net/ku360517703/article/details/50485710   背景 最近在做一個功能,需要批量或不定時散量傳送郵件給不同的人。比方說註冊功能,需要給註冊人傳送郵件,如果遇上系統新開放註冊,有一定量的併發,如果

如何正確實現執行環境的單例模式

要實現單例模式,馬上可以想到的有三種方法: 餓漢式 懶漢式 有且只有一個例項的列舉 如何正確地在多執行緒環境下實現單例模式呢? 對於 餓漢式 和 單例項列舉 來說,它們都是利用jvm類載入機制來實現單例模式。使用這兩種方法,無論是否是在多執行緒環境中,都

Qt採用執行實現Socket程式設計

      本文介紹的是Qt中採用多執行緒Socket程式設計,由於工作專案的需要,使用Qt的socket程式設計。Qt裡的example是個不錯的教程,但是當我把程式碼移植

AndroidCountDownLatch實現執行同步

簡介 CountDownLatch 通過它的名字也能猜出一二來,Countdown 顧名思義倒計時,Latch可以理解為觸發或者發射。也就是說當倒數到0時就可以發射火箭啦,線上程中就是一個等待的執行緒,當 countdown 到 0 就不用再等待了,可以向下執行

匿名內部類實現執行,內部類呼叫外部方法定義的變數

package Test; import java.util.Date; public class MyTread { /** * @author peter * @d

java執行 內部類實現執行 Runable介面的實現

  /* java.lang.Thead      java中的多執行緒    類從  Thread  覆蓋run方法    呼叫start啟動x執行緒  java中如果執行緒只剩後臺執行緒那麼程式終止執行 setDaemon設定為後臺執行緒     當進城中只剩下後臺

Java併發程式設計執行是怎麼實現的?

眾所周知,在Java的知識體系中,併發程式設計是非常重要的一環,也是面試中必問的題,一個好的Java程式設計師是必須對併發程式設計這塊有所瞭解的。 併發必須知道的概念在深入學習併發程式設計之前,我們需要了解幾個基本的概念。同步和非同步同步和非同步用請求返回呼叫的方式來理解相對簡單。 同步:

JavaCallable實現執行

一、Runnable和Callable< V >原始碼 先回顧一下Runnable和Callable< V >原始碼吧; //Runnable 原始碼 @FunctionalInterface public interface R

在C++類使用pthread實現執行

現在pthread的api已經相當完善,使用其實現多執行緒難度不大,但是值得注意的一點是當想在類中使用pthread,呼叫pthread_create函式時,傳入的執行函式,也就是下面這個原型的第三個引數void * ( * start_routine) (vo

android 利用java執行和io流,最快速度的下載伺服器檔案,android 實現apk下載展現通知欄

首先,我們得來說下多執行緒下載實現的大致思路,以及在使用多執行緒下載過程應該需要注意的問題。      多執行緒下載實現的大致思路:      大致思路是這樣的,也就是把整個一個檔案資源分為若干個部分,然後開啟若干個執行緒,並且使得每個執行緒負責下載每個子部分的檔案,由於

Java Thread和Runnable實現執行的區別和聯絡

Java有兩種方式實現多執行緒,第一個是繼承Thread類,第二個是實現Runnable介面。他們之間的聯絡: 1、Thread類實現了Runable介面。 2、都需要重寫裡面Run方法。 他們之間的區別“ 1、實現Runnable的類更具有健壯性,避免了單繼承的侷限。 2

JAVA基於UDP實現執行通訊

伺服器端程式,利用DatagramSocket負責監聽埠,當客戶端發過來訊息時,伺服器端就會響應,並將訊息內容儲存到Datagrampacket物件中,並且!每一次while迴圈必須重新建立DatagramPacket物件用於儲存訊息資料。並將socket,pa

在Java使用執行結合斷點續傳實現一個簡單的檔案下載器

這篇部落格介紹在android中使用多執行緒和斷點續傳實現一個簡單的檔案下載器 第一步:啟動Tomcat伺服器,將需要下載的檔案部署到Tomcat伺服器上 第二步:使用eclipse建立一個Java工程,並且在工程中新增下面的程式碼 package com.fyt.mul

libcurl實現執行下載器

       libcurl官網(http://curl.haxx.se/)是一個很強大網路功能的庫,支援當前DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,

Java執行你只要看這一篇就夠了(轉)

引 如果對什麼是執行緒、什麼是程序仍存有疑惑,請先Google之,因為這兩個概念不在本文的範圍之內。 用多執行緒只有一個目的,那就是更好的利用cpu的資源,因為所有的多執行緒程式碼都可以用單執行緒來實現。說這個話其實只有一半對,因為反應“多角色”的程式程式碼,最起碼每個角色要給他一個執行緒吧,否

Revit二次開發高階應用(二)——怎樣在Revit使用執行

在Revit中完全可以使用多執行緒,只是需要滿足一定的規則:不改變Revit的Document文件的工作都可以線上程中完成,改變Document文件的工作都需要在主執行緒中完成。 如下:不改變文件,只是在執行緒裡建立輔助的線,執行之後,絲毫不錯。 namespace RevitUseTh