日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python smtp郵件發送模塊用法教程

瀏覽:131日期:2022-07-21 13:02:34

在Python中已經內置了一個smtp郵件發送模塊,Django在此基礎上進行了簡單地封裝,讓我們在Django環境中可以更方便更靈活的發送郵件。

所有的功能都在django.core.mail中。

一、快速上手

兩行就可以搞定一封郵件:

from django.core.mail import send_mailsend_mail( ’Subject here’, ’Here is the message.’, ’from@example.com’, [’to@example.com’], fail_silently=False,)

導入功能模塊,然后發送郵件,so easy!

默認情況下,使用配置文件中的EMAIL_HOST和EMAIL_PORT設置SMTP服務器主機和端口,EMAIL_HOST_USER和EMAIL_HOST_PASSWORD是用戶名和密碼。如果設置了EMAIL_USE_TLS和EMAIL_USE_SSL,它們將控制是否使用相應的加密鏈接。

二、單發 send_mail()

方法原型:send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)[source]

讓我們來了解一下send_mail()方法,它接收一系列參數,其中的subject、message、from_email和recipient_list參數是必須的,其它的可選。

subject:郵件主題。字符串。 message:郵件具體內容。字符串。 from_email:郵件發送者。字符串。 recipient_list:收件人。一個由郵箱地址組成的字符串列表。recipient_list中的每一個成員都會在郵件信息的“To:”區域看到其它成員。 fail_silently: 一個布爾值。如果它是False,send_mail發送失敗時,將會引發一個smtplib.SMTPException異常。 auth_user: 可選的用戶名用來驗證SMTP服務器,如果你要特別指定使用哪個郵箱帳號,就指定這個參數。如果沒有提供這個值,Django將會使用settings中EMAIL_HOST_USER的值。如果兩者都不提供,那你還發什么??? auth_password: 可選的密碼用來驗證SMTP服務器。如果沒有提供這個值,Django 將會使用settings中EMAIL_HOST_PASSWORD的值。和上面那個參數是一家的。 connection: 可選的用來發送郵件的電子郵件后端。 html_message: 如果提供了html_message,可以發送帶HTML代碼的郵件。 send_mail()方法返回值將是成功發送出去的郵件數量(只會是0或1,因為它只能發送一封郵件)。

三、群發 send_mass_mail()

方法原型:send_mass_mail(datatuple,fail_silently = False,auth_user = None,auth_password = None ,connection = None)[source]

send_mass_mail()用來處理大批量郵件任務,也就是所謂的群發。

它的參數中,datatuple是必需參數,接收一個元組,元組的每個元素的格式如下:

(subject, message, from_email, recipient_list)

上面四個字段的意義與send_mail()中的相同。

例如,以下代碼將向兩組不同的收件人發送兩個不同的消息;但是,只能打開一個到郵件服務器的連接:

message1 = (’Subject here’, ’Here is the message’, ’from@example.com’, [’first@example.com’, ’other@example.com’])message2 = (’Another Subject’, ’Here is another message’, ’from@example.com’, [’second@test.com’])send_mass_mail((message1, message2), fail_silently=False)

send_mass_mail()方法的返回值是成功發送的郵件數量。

使用send_mail()方法時,每調用一次,它會和SMTP服務器建立一次連接,也就是發一次連一次,效率很低。而send_mass_mail(),則只建立一次鏈接,就將所有的郵件都發送出去,效率比較高。

四、防止頭部注入攻擊

有時候,我們要根據用戶表單的輸入來構造電子郵件,這就存在頭部注入攻擊的風險,Django給我們提供了一定的防范能力,但是更多時候,還需要你自己編寫安全防范代碼。

下面是一個例子,接收用戶輸入的主題、郵件內容和發送方,將郵件發送到系統管理員:

from django.core.mail import send_mail, BadHeaderErrorfrom django.http import HttpResponse, HttpResponseRedirectdef send_email(request): subject = request.POST.get(’subject’, ’’) message = request.POST.get(’message’, ’’) from_email = request.POST.get(’from_email’, ’’) if subject and message and from_email: try: send_mail(subject, message, from_email, [’admin@example.com’]) except BadHeaderError: return HttpResponse(’Invalid header found.’) return HttpResponseRedirect(’/contact/thanks/’) else: # In reality we’d use a form class # to get proper validation errors. return HttpResponse(’Make sure all fields are entered and valid.’)

如果檢查到用戶的輸入帶有頭部注入攻擊的可能性,會彈出BadHeaderError異常。

五、發送多媒體郵件

默認情況下,發送的郵件都是純文本格式的。但有時候我們希望能在郵件里帶一些超級鏈接、圖片,甚至視頻和JS動作。

Django為我們提供了一個EmailMultiAlternatives類,可以同時發送文本和HTML內容,下面是個范例,我們照著寫就行:

from django.core.mail import EmailMultiAlternativessubject, from_email, to = ’hello’, ’from@example.com’, ’to@example.com’text_content = ’This is an important message.’html_content = ’<p>This is an <strong>important</strong> message.</p>’msg = EmailMultiAlternatives(subject, text_content, from_email, [to])msg.attach_alternative(html_content, 'text/html')msg.send()

需要提醒的是,接收方的郵件服務商不一定支持多媒體郵件,也許是為了安全,也許是別的原因。為了保證你的郵件內容能被閱讀,請務必同時發送純文本郵件。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
青青草91久久久久久久久| 久久中文欧美| 久久久久一区| 国产精品久久久久av电视剧| 欧美a在线观看| 婷婷综合六月| 香蕉精品999视频一区二区| 91精品福利| 蜜臀精品一区二区三区在线观看| 中文字幕亚洲影视| 国产精品一级| 日韩中文影院| 欧美中文日韩| 91麻豆精品激情在线观看最新| 国产精品亚洲片在线播放| 动漫av一区| 亚洲精品电影| 日本午夜精品久久久久| 日本一区二区高清不卡| 91精品推荐| 亚洲2区在线| 精品欧美日韩精品| 妖精视频成人观看www| 91精品国产经典在线观看| 在线手机中文字幕| 99亚洲精品| 麻豆中文一区二区| 国产综合婷婷| 青草国产精品久久久久久| 成人国产精品一区二区免费麻豆| 亚洲高清久久| 97精品久久| 欧美亚洲激情| 欧美在线看片| 日韩欧美不卡| 日本一不卡视频| 日韩国产一区二区| 日本在线视频一区二区| 日韩久久精品网| 日韩高清在线不卡| 久久久亚洲一区| 欧美精品中文字幕亚洲专区| 久久久777| 国产精品15p| 亚洲一区二区毛片| 国产精选在线| 日韩av中文字幕一区| 久久精品亚洲欧美日韩精品中文字幕| 亚洲欧美久久精品| 日韩在线观看| 国产欧美激情| 日韩精品一区第一页| 亚洲综合电影| 国产情侣久久| 亚洲制服一区| 午夜精品免费| 成人片免费看| 国产精品15p| 少妇精品久久久一区二区| 欧美日韩在线播放视频| 精品欠久久久中文字幕加勒比| 日本亚洲视频在线| 亚洲在线成人| 韩国三级一区| 精品一区二区三区中文字幕| 亚洲精品动态| 久久xxxx| 黄页网站一区| 亚洲国内欧美| 蜜桃精品在线| 在线看片福利| 精品成av人一区二区三区| 国产一区 二区| 免费看精品久久片| 国产精品日韩欧美一区| 婷婷亚洲综合| 美女少妇全过程你懂的久久| 久久精品国产99| 国产精品1区在线| 欧美中文一区| 国产日韩欧美| 欧美日本二区| 国产乱子精品一区二区在线观看| 日本在线不卡视频| 亚洲精品国模| 日本中文字幕不卡| 日韩欧美高清一区二区三区| 免费视频一区二区| 亚洲资源在线| 人人精品久久| 国产精品一区二区免费福利视频| 国产欧美一区二区三区米奇| 国产精品夜夜夜| 精品国产一区二区三区性色av| 欧美久久一区二区三区| 国产精品嫩模av在线| 国产欧美自拍一区| 精品中文在线| 97精品国产一区二区三区| 国产va在线视频| 久久电影tv| 国产一在线精品一区在线观看| 婷婷综合激情| 中文字幕成人| 国产欧美日韩影院| 精品国产成人| 日韩精品欧美| 欧美特黄a级高清免费大片a级| 日韩视频久久| 久久不射中文字幕| 日韩国产精品久久久久久亚洲| 久久精品99国产国产精| 欧美aa在线视频| 欧美羞羞视频| 欧美资源在线| 国产欧美一区二区三区国产幕精品 | 国产精品调教| 精品美女视频 | 免费视频最近日韩| 日韩国产欧美视频| 久久免费福利| 九色精品91| 一区二区三区午夜视频| 国产毛片精品| 久久久人人人| 亚洲精品在线二区| 麻豆一区二区三| 午夜久久福利| 91精品国产自产观看在线| 国产 日韩 欧美 综合 一区| 欧美亚洲国产激情| 欧美日韩亚洲一区在线观看| 亚洲黄色免费av| 日本欧洲一区二区| 国产精品久久久久久妇女 | 欧美精品资源| 国内精品伊人| 欧美日韩四区| 好吊一区二区三区| 日本精品不卡| 久久影院午夜精品| 午夜一级在线看亚洲| 亚洲伊人影院| 欧美日韩中文字幕一区二区三区| 精品网站aaa| 99久久亚洲精品蜜臀| 日韩欧美二区| 91精品国产自产观看在线| 成人精品高清在线视频| 亚洲综合五月| 国产91久久精品一区二区| 青青草91视频| 亚洲精品伊人| 天堂成人国产精品一区| 日韩激情一区| 日韩精品成人在线观看| 在线成人动漫av| 日韩精品看片| 老司机免费视频一区二区三区| 在线精品小视频| 麻豆久久久久久| 亚洲免费成人| 国产精品久久久久9999高清| 久久精品国产久精国产| 高清不卡亚洲| 国产日韩欧美| 日韩免费av| 视频一区视频二区中文| 亚洲精品黄色| 国产精品流白浆在线观看| 美女尤物国产一区| 亚洲午夜电影| 国产+成+人+亚洲欧洲在线| 成人精品视频| 日本vs亚洲vs韩国一区三区二区| 国产精品一区二区精品| 久久亚洲精品中文字幕蜜潮电影| 久久gogo国模啪啪裸体| 日本精品影院| 日韩精品91亚洲二区在线观看| 91av亚洲| 久久av偷拍| 日韩视频二区| 日韩制服丝袜先锋影音| 久久影院一区二区三区| 国产精品日本| 久久婷婷av| 日本а中文在线天堂| 成人日韩精品| 日韩精品三级| 蜜桃91丨九色丨蝌蚪91桃色| 首页国产精品| 国产精品久久国产愉拍| 午夜日韩在线| 亚洲精选久久| 日韩精品成人| 亚洲综合精品| 欧美日韩在线精品一区二区三区激情综合 | 91精品国产调教在线观看| 国产精品亚洲人成在99www|