Access轉Sql Server成績 實例解釋。本站提示廣大學習愛好者:(Access轉Sql Server成績 實例解釋)文章只能為提供參考,不一定能成為您想要的結果。以下是Access轉Sql Server成績 實例解釋正文
本文實例講述了Django發送html郵件的辦法。分享給年夜家供年夜家參考。詳細以下:
在Django中,發送郵件異常的便利,一向沒有時光,明天來做一個小小的總結吧。
我們經常使用確當然是經由過程send_mail發送郵件:
send_mail(subject,message,from_email,recipient_list,fail_silently=False,auth_user=None,auth_password=None,connection=None)
subject,message,from_email 和recipient_list 這四個參數是必需的。
subject: 字符串,表現郵件題目。
message: 字符串,表現郵件內容。
from_email: 字符串,表現發件郵箱。
recipient_list: 字符串列表,列表中每一個成員都是一個郵箱地址,並且每一個收件人都邑在 “收件人/To:” 欄看到湧現在recipient_list 中的其他收件人。
fail_silently: (可選)布爾值。為False 時,send_mail 會拋出smtplib.SMTPException 異常。smtplib 文檔列出了一切能夠的異常。這些異常都是SMTPException 的子類。
auth_user: (可選)SMTP辦事器的認證用戶名。沒供給該參數的情形下,Django會應用EMAIL_HOST_USER 設置裝備擺設項的設置。
auth_password: (可選)SMTP辦事器的認證暗碼,沒供給該參數的情形下,Django會應用EMAIL_HOST_PASSWORD 設置裝備擺設項的設置。
connection: (可選)發送郵件的後端。沒供給該參數的情形下,Django會應用默許後真個實例。
以下是一個簡略的事例:
from django.core.mail import send_mail from django.template import Context, loader context = { 'nickname': user.nickname, 'verify_url': verify_url, } email_template_name = 'template.html' t = loader.get_template(email_template_name) mail_list = [user.email, ] send_mail( subject=title, message=t.render(Context(context)), from_email=EMAIL_HOST_USER,# 發件郵箱 recipient_list=mail_list, fail_silently=False, auth_user=EMAIL_HOST_USER, # SMTP辦事器的認證用戶名 auth_password=EMAIL_HOST_PASSWORD, # SMTP辦事器的認證用戶暗碼 connection=None )
用過的人能夠會發明,你在template.html中的標簽,並沒有經由過程閱讀器的解析而顯示出來了。
怎樣辦?我們要發送HTML郵件,Django固然是為你供給了好的處理計劃的,請看上面一段代碼:
from django.core.mail import EmailMultiAlternatives from django.template import Context, loader subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") msg.send()
看,很簡略吧,那末如今我要稍稍的做一點點修改,我須要發送附件給收件人,只須要做一個簡略的修正便可:
from django.core.mail import EmailMultiAlternatives from django.template import Context, loader subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") msg.attach_file(u'D:/My Documents/Python/doc/test.doc') # 添加附件發送 msg.send()
好了,到此為止,發送郵件曾經停止了。不外,此時,需求變了,我在本身的網站上設置裝備擺設了多個發送郵件的用戶名和暗碼,如今須要用我指定的用戶名和暗碼給用戶發送郵件,該怎樣辦呢?請看上面的一段代碼:
from django.core.mail import EmailMultiAlternatives,get_connection from django.template import Context, loader conn = get_connection() # 前往以後應用的郵件後真個實例 conn.username = '[email protected]'# 更改用戶名 conn.password = 'my_email' # 更改暗碼 conn.host = 'smtp.exmail.qq.com' # 設置郵件辦事器 conn.open() # 翻開銜接 EMAIL_HOST_USER = '[email protected]' subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") conn.send_messages([msg,]) # 我們用send_messages發送郵件 conn.close()# 發送終了記得封閉銜接
看來,也不是很難吧!
django.core.mail 的 get_connection()辦法前往你以後應用的郵件後真個實例。
get_connection(backend=None,fail_silently=False,*args, **kwargs)
默許情形下,對 get_connection() 的挪用會前往一個郵件後端實例,詳細是哪一個後端由EMAIL_BACKEND 設置裝備擺設項決議。假如指定了``backend`` 參數,就會對該後端停止實例化。
友誼提醒:在發送的HTML郵件中包括圖片時,應當制訂可以經由過程http拜訪的地址。如:http://www.百度.com/medias/xxx.png
願望本文所述對年夜家的Python法式設計有所贊助。