小功能——簡單代碼實現郵箱發送郵件
阿新 • • 發佈:2019-03-18
功能 ctime init 時間模塊 turn imp smtp服務 .sh mage
首先在ssettings中設置郵件服務配置文件,本文以QQ郵箱為例:
如圖:
QQ郵箱密鑰授權辦法:
1:首先登陸QQ郵箱找到設置-->>賬戶
2,下拉找到SMTP服務並開啟 如圖:
3,開啟後需要發送驗證麽進行驗證 驗證成功後系統會生成一個密鑰 然後再settings中直接輸入即可
註:settings中訪問來源也需要相應的設置 本人設置的為“ * ” 如圖:
其次寫一個發送郵件的復用類 以防以後作郵箱驗證,修改密碼之時要用 具體代碼如下:
創建 mail_tool.py 文件
#導包 #導入send_mail from django.core.mail import send_mail #導入默認發送郵箱 from mymac.settings import DEFAULT_FROM_EMAIL #時間模塊 import time #定義發送郵箱類 class SendMail(object): #初始化方法 def __init__(self,title,body,email_to,from_email): self.title = title self.body = body self.email_to= email_to self.from_email = from_email #定義發送方法* def do_send_mail(self): #開始發送郵件 send_status = send_mail(self.title,self.body,self.from_email,self.email_to) if send_status: return ‘發送成功‘ + time.ctime() else: return ‘發送失敗‘ + time.ctime()
創建試圖文件 mail_view.py 具體代碼如下:
from django.shortcuts import render,redirect from django.http import HttpResponse,HttpResponseRedirect #導入試圖方法 from django.views import View #導入反向解析方法 from django.urls import reverse #導入發件人 from mymac.settings import DEFAULT_FROM_EMAIL #倒入郵件類 from myapp.mail_tool import SendMail #定義類視圖 class SendDJMail(View): #定義發送方法 def get(self,request): #實例化對象 SendMail方法方法相對應的參數位置必須固定第一個為標題,第二個為內容, # 第三個為接收者的郵箱地址,本為問發送到筆者自己的郵箱 。 第四個制定的是setting中制定的發件人固定方法 sendmail = SendMail(‘你好‘,‘這是個測試文件‘,[‘[email protected]‘],DEFAULT_FROM_EMAIL) return HttpResponse(sendmail.do_send_mail())
配置 url urls.py中導入試圖文件中方法
from myapp.mail_view import SendDJMail 配置路由代碼: path(‘sendmail‘,SendDJMail.as_view()),
最後在終端啟動django服務
輸入地址:http://127.0.0.1:8000/sendmail
如果出現這個頁面則說明發送成功:
小功能——簡單代碼實現郵箱發送郵件