Django實現(xiàn)發(fā)送郵件功能

最近用python寫了官網(wǎng)的后臺。官網(wǎng)的后臺功能比較簡單蜂桶,一個多語言支持,一個聯(lián)系我們犀勒,即給公司發(fā)郵件的功能屎飘。多語言支持的方式寫在另一篇博客了。這里先來說一說Django的發(fā)送郵件功能贾费。

其實python本身自帶了發(fā)送郵件的功能,Django在其基礎(chǔ)上進行了封裝檐盟,使其更加簡單易用褂萧。僅僅幾行代碼就可以實現(xiàn)發(fā)送郵件的功能。

但是在實際開發(fā)的時候葵萎,遇到了兩個大坑导犹,折騰了3天才真正搞定唱凯,在這里做一個簡單的記錄和梳理,希望能幫其他小伙伴規(guī)避這些問題谎痢。

使用Django做發(fā)送郵件的功能前磕昼,首先要有一個支持smtp協(xié)議的郵箱并檢查設(shè)置。**在這里要控訴一下網(wǎng)易郵箱节猿,163和126郵箱票从,都會強行把你要發(fā)送的郵件判定為垃圾郵件,從而阻止發(fā)送滨嘱,所以這里不建議使用峰鄙。最好使用企業(yè)郵箱,付費的真的比較靠譜太雨。**我這里以騰訊企業(yè)郵箱作為示范:

1.登陸騰訊企業(yè)郵箱吟榴,進入設(shè)置--客戶端設(shè)置

2.確認SMTP服務(wù)是否開啟,如下圖:

3.若沒有開啟囊扳,記得開啟吩翻。然后看設(shè)置方法,下邊會用到锥咸。


然后仿野,要在settings.py文件中配置郵箱相關(guān)參數(shù):

# send e-mail

EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'#email后端

EMAIL_USE_TLS =False#是否使用TLS安全傳輸協(xié)議

EMAIL_USE_SSL =True#是否使用SSL加密,qq企業(yè)郵箱要求使用

EMAIL_HOST ='smtp.exmail.qq.com'#發(fā)送郵件的郵箱 的 SMTP服務(wù)器她君,這里用了qq企業(yè)郵箱EMAIL_PORT =465#發(fā)件箱的SMTP服務(wù)器端口

EMAIL_HOST_USER ='charleschen@xmdaren.com'#發(fā)送郵件的郵箱地址EMAIL_HOST_PASSWORD ='*********'#發(fā)送郵件的郵箱密碼

最后脚作,在views.py中制作一個簡單的demo郵件并發(fā)送:

fromdjango.core.mail import send_mai

l# send_mail的參數(shù)分別是? 郵件標題,郵件內(nèi)容缔刹,發(fā)件箱(settings.py中設(shè)置過的那個)球涛,收件箱列表(可以發(fā)送給多個人),失敗靜默(若發(fā)送失敗,報錯提示我們)

send_mail('Subject here','Here is the message.','charleschen@xmdaren.com',['to@example.com'], fail_silently=False)

如果一切正常校镐,那么郵件發(fā)送已經(jīng)成功了亿扁。但是我很蛋疼的遇到了問題,報錯顯示是語法錯誤...

大坑注意

我到達上一步的時候鸟廓,報錯顯示語法錯誤从祝,可是一共就幾行代碼,檢查了幾遍也沒錯引谜,怎么回事呢牍陌?后來改用python自帶的smtp模塊發(fā)送,一步步調(diào)試之后员咽,發(fā)現(xiàn)問題在登陸郵箱的時候就失敗了毒涧。然后在大神的帶領(lǐng)下,使用Wireshark軟件抓包贝室,發(fā)現(xiàn)登陸時契讲,SMTP協(xié)議會收取本地計算機名稱仿吞,在這個名稱中,不能包含諸如橫杠"-",空格" "等字符捡偏,而我的本地計算機名稱包含了"-"唤冈,并且公司的局域網(wǎng)路由器在主機名后邊加了帶空格的后綴“HDCP HOST”所以導(dǎo)致SMTP協(xié)議校驗失敗。

問題清除之后就好辦了银伟,首先修改主機名你虹,然后在設(shè)置ip地址的高級設(shè)置-DNS中,手動添加一個合法的DNS后綴即可枣申。我這里改為dhcp3


http://blog.csdn.net/creabine/article/details/53857826

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末售葡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子忠藤,更是在濱河造成了極大的恐慌挟伙,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件模孩,死亡現(xiàn)場離奇詭異尖阔,居然都是意外死亡,警方通過查閱死者的電腦和手機榨咐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門介却,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人块茁,你說我怎么就攤上這事齿坷。” “怎么了数焊?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵永淌,是天一觀的道長。 經(jīng)常有香客問我佩耳,道長遂蛀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任干厚,我火速辦了婚禮李滴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛮瞄。我一直安慰自己所坯,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布裕坊。 她就那樣靜靜地躺著包竹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪籍凝。 梳的紋絲不亂的頭發(fā)上周瞎,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音饵蒂,去河邊找鬼声诸。 笑死,一個胖子當(dāng)著我的面吹牛退盯,可吹牛的內(nèi)容都是我干的彼乌。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼渊迁,長吁一口氣:“原來是場噩夢啊……” “哼慰照!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起琉朽,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤毒租,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后箱叁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墅垮,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年耕漱,在試婚紗的時候發(fā)現(xiàn)自己被綠了算色。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡螟够,死狀恐怖灾梦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妓笙,我是刑警寧澤若河,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站给郊,受9級特大地震影響牡肉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淆九,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一统锤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炭庙,春花似錦饲窿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春鸦泳,著一層夾襖步出監(jiān)牢的瞬間银锻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工做鹰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留击纬,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓钾麸,卻偏偏與公主長得像更振,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子饭尝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容