1. 程式人生 > >Django學習筆記(十六):郵件傳送

Django學習筆記(十六):郵件傳送

郵件傳送

在settings配置檔案,新增如下內容

EMAIL_USE_SSL = True

EMAIL_HOST = 'smtp.qq.com'  # 如果是 163 改成 smtp.163.com

EMAIL_PORT = 465

EMAIL_HOST_USER = environ.get("EMAIL_SENDER") # 帳號

EMAIL_HOST_PASSWORD = environ.get("EMAIL_PWD")  # 授權碼(****)

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

在views呼叫

from django.conf import settings
from django.core.mail import send_mail

def send_my_email(req):
    title = "郵件標題"
    msg = "郵件內容"
    
    #發信人郵箱
    email_from = settings.DEFAULT_FROM_EMAIL
    
    #收信人郵箱
    reciever = ['
[email protected]
'] #傳送郵件 send_mail(title,msg,email_form,reciever) return HttpResponse("郵件傳送成功")

拓展使用,在郵箱中傳送頁面(插入html樣式)

在views.py程式碼

def send_email(req):
    title = '郵件標題'
    msg = ""
    email_from = settings.DEFAULT_FROM_EMAIL
    reciever = [
        '[email protected]'
    ]
    
    #載入模板
    template = loader.get_template('email.html')
    #渲染模板
    html_str = template.render({'msg':'頁面中顯示的內容'})
    
    #傳送郵件
    send_mail(title,msg,email_form,reciever,html_message=html_str)
    return HttpResponse('傳送成功')

在templates/email.html程式碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>傳送的頁面</h1>
    <h3>{{msg}}<3>
</body>
</html>

一次傳送多封郵件

使用send_mass_mail函式,views程式碼

from django.conf import settings
from django.core.mail import send_mass_mail

def send_many_email(req):
    title = "郵箱標題"
    content1 = "內容1"
    email_from = settings.DEFAULT_FROM_EMAIL
    reciever1 = [
        '[email protected]',
        '[email protected]'    
    ]
    content2 = "內容2"
    
    #郵件1
    msg1 = (title,content1,email_form,reciever1)
    
    #郵件2
    msg2 = ("標題",content2,email_from,['[email protected]','[email protected]'])

    send_mass_mail((msg1,msg2),fail_silently=True)
    return HttpResponse("傳送成功")

相關推薦

Django學習筆記:郵件傳送

郵件傳送 在settings配置檔案,新增如下內容 EMAIL_USE_SSL = True EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com EMAIL_PORT = 465 EMAIL_HOST_USER

Python學習筆記拓展庫Scipy

mage http 十六 .cn 學習筆記 eight -1 images 分享 Python學習筆記(十六)拓展庫Scipy

Java學習筆記:static關鍵字

ima 關鍵字 static關鍵字 es2017 java學習筆記 sta com 筆記 nbsp Java學習筆記(十六):static關鍵字

R語言學習筆記:處理缺失值

ima 結果 cti img dataset case prop .com log #識別缺失值 install.packages("VIM") data(sleep,package="VIM") #列出沒有缺失值的行 sleep[complete.case

Ionic3學習筆記上傳頭像至圖床

string con error wid nat file targe ict avatar 本文為原創文章,轉載請標明出處 個人做的開源 Demo 登錄註冊模塊采用的是 Wilddog 野狗通訊雲的身份認證服務,不得不說各方面和 Google 收購的 Firebase

Nodejs學習筆記—Pomelo介紹&入門

錯誤信息 develop prototype client 之前 clas zhong 早已 express 前言&介紹   Pomelo:一個快速、可擴展、Node.js分布式遊戲服務器框架   從三四年前接觸Node.js開始就接觸到了Pomelo,從Pomel

javaweb學習筆記:JDBC2

批處理 當需要向資料庫傳送一批SQL語句執行時,應避免向資料庫一條條的傳送執行,而應採用JDBC的批處理機制,以提升執行效率。 實現批處理有兩種方式: ①Statement.addBatch(sql) :新增批處理命令。 優點:可以向資料庫傳送多條不同的SQL語句。 缺點:S

Effective_STL 學習筆記 如何將 vector 和 string 的數據傳給遺留的API

lar 內存分配 修改 叠代 元素 amp const 兼容 con 已經存在的遺留的 C 風格 API 接受的是數組和 char* 指針,這樣的 API 函數還將會存在很長時間,如果我們要有效使用 STL 的話,就必須和它們和平共處。 如果有一個 vector 對

python基礎教程第三版)學習筆記

第十六章 測試基礎 除錯是程式設計師躲不開的宿命,是程式設計工作的有機組成部分。 本章介紹測試的基本知識。培養如何養成在程式設計中進行測試的習慣,並介紹一些可幫 助編寫測試的工具。 16.1 先測試再編碼 要避免程式碼在開發途中被淘汰,必須能夠應對變化並具備一定的靈活性,因此為程式的各個

機器學習筆記:TensorFlow實戰八經典卷積神經網路:GoogLeNet

1 - 引言 GoogLeNet, 在2014年ILSVRC挑戰賽獲得冠軍,將Top5 的錯誤率降低到6.67%. 一個22層的深度網路 論文地址:http://arxiv.org/pdf/1409.4842v1.pdf 題目為:Going deeper with convolu

GoLang學習筆記指標

指標是儲存另一個變數的記憶體地址的變數。 變數是一種使用方便的佔位符,變數都只想計算機的記憶體地址。 一個指標變數可以指向任何一個值的記憶體地址 GoLang獲取一個變數的地址,在一個變數前使用&符號,會返回該變數的記憶體地址. GoLang的指標是不能參與運算的。 宣告指標,*T是指標

Python學習筆記模組

模組是Python程式架構的一個核心概念   模組就好比是工具包,要想使用這個工具包中的工具,就需要匯入import這個模組 每一個以副檔名py結尾的Python原始碼檔案都是一個模組 在模組中定義的全域性變數、函式都是模組能夠提供給外界直接使用的工具 &nb

Python學習筆記模塊

編寫 pytho pychar 擴展名 能夠 一個 每一個 註意 源代碼 模塊是Python程序架構的一個核心概念 模塊就好比是工具包,要想使用這個工具包中的工具,就需要導入import這個模塊 每一個以擴展名py結尾的Python源代碼文件都是一個模塊 在模塊中定義

Android開發學習筆記基礎UI控制元件之ListView-SimpleAdapter

一、ListView控制元件: <ListView android:id="@+id/list_view_demo" android:layout_width="match_pa

機器學習筆記:大規模機器學習

目錄 1)Learning with large datasets 2)Stochastic gradient descent 3)Mini-batch gradient descent 4)Stochastic gradient descent convergence 1)

c++ primer第五版----學習筆記

部分習題解答: 16.1: 當呼叫template時,編譯器使用實參的型別來確定繫結到模板引數T的型別,之後編譯器利用推斷出的模板引數來例項化一個特定版本的函式 16.2: #ifndef COMPARE_H #define COMPARE_H template &

模式識別學習筆記--非線性分類器

前面的學習中,我們學習了有關線性分類器的相關知識,但是要知道,很多情況下我們並不能保證類別間的分類面是線性的(線性是最簡單的情況),而且許多複雜問題中,可能採用非線性分類器更適合問題的解決;因此接下來開始,繼續學習有關非線性分類器的東西,必要時可以跟前面線性分類器進行一個總

Nodejs學習筆記--- Pomelo介紹&入門

目錄 前言&介紹 Pomelo:一個快速、可擴充套件、Node.js分散式遊戲伺服器框架 從三四年前接觸Node.js開始就接觸到了Pomelo,從Pomelo最初的版本到現在,總的來說網易出品還算不錯,但是發展不算快;用它做過一些專案和小遊戲表現還不錯。 用它的主要好處:

Python學習筆記——自動傳送對應郵件表格與郵件練習

從Excel 電子表格中讀取資料。 找出上個月沒有交費的所有會員。 找到他們的電子郵件地址,向他們傳送針對個人的提醒。 這意味著程式碼需要做到以下幾點: 用openpyxl 模組開啟並讀取Excel 文件的單元格(處理Excel 檔案參煤 建立一個

微信小程式學習筆記textarea

auto-height 自動變高 bindfocus 游標聚焦事件 bindblur 游標失焦事件 bindinput 當鍵盤輸入時,觸發 input 事件 <view class="secti