<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      關于郵件發送,只看這一篇就夠了!!!

      關于郵件發送,只看這一篇就夠了!!!

      郵件發送:使用smtplib、email庫來發送郵件

      1.發送郵件的步驟:

      2.具體步驟實施

      1.以qq郵箱為例,先來看第0步:連接服務器。

      ? 連接服務器需要用到smtplib庫。為什么叫這個名字呢?其實,SMTP代表簡單郵件傳輸協議,相當于一種計算機之間發郵件的約定。具體怎么用smtplib庫來連接服務器:

      import smtplib
      
      #smtplib是python的一個內置庫,所以不需要用pip安裝
      
      mailhost='smtp.qq.com'
      
      #把qq郵箱的服務器地址賦值到變量mailhost上,地址需要是字符串的格式。
      
      qqmail = smtplib.SMTP()
      
      #實例化一個smtplib模塊里的SMTP類的對象,這樣就可以SMTP對象的方法和屬性了
      
      qqmail.connect(mailhost,25)
      
      #連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號
      
      • 解釋一下:第1行代碼是引入庫,第5行代碼"mailhost='smtp.qq.com'"是qq郵箱的服務器地址,這個地址是可以通過搜索引擎查到的。

      • 第9行代碼"qqmail = smtplib.SMTP()"是實例化了一個smtplib里的SMTP對象;

      • 第13行代碼"qqmail.connect(mailhost,25)"是用SMTP對象的connect()方法連接服務器,第一個參數是獲取到的服務器地址,第二個參數是SMTP端口號——25

      ? 端口號的選擇不是唯一的,但是25是一個最簡單、最基礎的端口號,所以我們填25

      2.使用郵箱賬號密碼登錄

      通過賬號和密碼登錄郵箱;填寫收件人

      1. 來看登錄郵箱的代碼:

        import smtplib
        #smtplib是python的一個內置庫,所以不需要用pip安裝
        
        
        mailhost='smtp.qq.com'
        #把qq郵箱的服務器地址賦值到變量mailhost上
        
        qqmail = smtplib.SMTP()
        #實例化一個smtplib模塊里的SMTP類的對象,這樣就可以SMTP對象的方法和屬性了
        
        qqmail.connect(mailhost,25)
        #連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號。
        
        sender = input('請輸入你的郵箱:')
        #獲取郵箱賬號
        
        password = input('請輸入你的密碼:')
        #獲取郵箱密碼
        
        qqmail.login(sender,password)
        #登錄郵箱,第一個參數為郵箱賬號,第二個參數為郵箱密碼
        
        receiver=input('請輸入收件人的郵箱:')
        #獲取收件人的郵箱
        
        • 解釋一下從14行新增的代碼"sender = input('請輸入你的郵箱:')":第14行是用input()獲取郵箱賬號。第17行是用input()獲取郵箱密碼,但注意了,這里可不是你平時登錄郵箱的密碼!

          這個密碼需要我們去到這里獲取:請打開https://mail.qq.com/,登錄你的郵箱。然后點擊位于頂部的【設置】按鈕,選擇【賬戶設置】,然后下拉到這個位置。

      ? 就像上面的一樣,把首個SMTP服務開啟。這時,QQ郵箱會提供給你一個授權碼,注意保護好你的授權碼:

      ?

      ? 接下來,在你使用SMTP服務登錄郵箱時,就可以輸入這個授權碼作為密碼登錄了。

      3.填寫收件人、主題、撰寫正文

      填寫主題和撰寫正文,在這里需要用到email庫。來看用法:

      from email.mime.text import MIMEText
      
      from email.header import Header
      
      #引入Header和MIMEText模塊
      
      
      content=input('請輸入郵件正文:')
      
      #輸入你的郵件正文
      
      message = MIMEText(content, 'plain', 'utf-8')
      
      #實例化一個MIMEText郵件對象,該對象需要寫進三個參數,分別是郵件正文,文本格式和編碼
      
      subject = input('請輸入你的郵件主題:')
      
      #用input()獲取郵件主題  
      
      message['Subject'] = Header(subject, 'utf-8')
      
      #在等號的右邊,是實例化了一個Header郵件頭對象,該對象需要寫入兩個參數,分別是郵件主題和編碼,然后賦值給等號左邊的變量message['Subject']
      

      解釋一下:

      • 第1行和第3行代碼是引入了email庫中的MIMEText模塊和Header模塊。
      • 第9行代碼"content=input('請輸入郵件正文:')"是用input()函數獲取郵件正文,第13行代碼是實例化一個MIMEText的郵件對象,這樣我們就構造了一個純文本郵件了。
      • 這個MIMEText對象有三個參數,一個是郵件正文;另一個是文本格式,一般設置為plain純文本格式(當然如果郵件內容中帶有格式,例如表格,添加一些代碼就可以了);最后一個是編碼,設置為utf-8,因為utf-8是最流行的萬國碼。
      • 第17行代碼"subject = input('請輸入你的郵件主題:')",是用input()函數獲取郵件主題,第21行代碼"message['Subject'] = Header(subject, 'utf-8')"比較重要,我們仔細講解一下:message['Subject'] = Header(subject, 'utf-8'),等號右邊是實例化了一個Header郵件頭對象,該對象需要寫入兩個參數,分別是郵件主題和編碼。等號左邊的message['Subject']的變量是一個a['b']的代碼形式,它長得特別像字典根據鍵取值的表達,但是這里的message是一個MIMEText類的對象,并不是一個字典,那message['Subject']是什么意思呢?其實,字典和類在結構上,有相似之處。請看下圖:

      字典里面的元素是【鍵】和【值】一一對應,而類里面的【屬性名】和【屬性】也是一一對應的。我們可以根據字典里的【鍵】取到對應的【值】,同樣的,也可以根據類里面的【屬性名】取到【屬性】。所以message['Subject']就代表著根據MIMEText類里面的Subject的屬性名取到該屬性。需要注意的是,不是每一個類都可以這樣訪問其屬性的,之所以能這樣訪問是因為這個MIMEText的類實現了這個功能。所以,message['Subject'] = Header(subject, 'utf-8') 就是在為message['Subject']這個屬性賦值

      ?

      4.發送郵件和退出郵箱

      import smtplib                                               
      
      #smtplib是python的一個內置庫,所以不需要用pip安裝
      
      mailhost='smtp.qq.com'
      
      #把qq郵箱的服務器地址賦值到變量mailhost上
      
      qqmail = smtplib.SMTP()
      
      #實例化一個smtplib模塊里的SMTP類的對象,這樣就可以SMTP對象的方法和屬性了
      
      qqmail.connect(mailhost,25)
      
      #連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號
      
      #以上,皆為連接服務器的代碼
      
      
      
      sender = input('請輸入你的郵箱:')
      
      #獲取郵箱賬號
      
      password = input('請輸入你的密碼:')
      
      #獲取郵箱密碼
      
      qqmail.login(sender,password)
      
      #登錄郵箱,第一個參數為郵箱賬號,第二個參數為郵箱密碼
      
      
      
      receiver=input('請輸入收件人的郵箱:')
      
      #獲取收件人的郵箱
      
      
      
      from email.mime.text import MIMEText
      
      from email.header import Header
      
      #引入Header和MIMEText模塊
      
      content=input('請輸入郵件正文:')
      
      #輸入你的郵件正文
      
      message = MIMEText(content, 'plain', 'utf-8')
      
      #實例化一個MIMEText郵件對象,該對象需要寫進三個參數,分別是郵件正文,文本格式和編碼
      
      subject = input('請輸入你的郵件主題:')
      
      #用input()獲取郵件主題
      
      message['Subject'] = Header(subject, 'utf-8')
      
      #在等號的右邊,是實例化了一個Header郵件頭對象,該對象需要寫入兩個參數,分別是郵件主題和編碼,然后賦值給等號左邊的變量message['Subject']
      
      
      
      qqmail.sendmail(sender, receiver, message.as_string())
      
      #發送郵件,調用了sendmail()方法,寫入三個參數,分別是發件人,收件人,和字符串格式的正文
      
      qqmail.quit()
      
      #退出郵箱
      

      解釋一下:

      • 第65行代碼"qqmail.sendmail(sender, receiver, message.as_string())"的意思是調用sendmail()發送郵件,括號里面有三個參數,第1個是發件人的郵箱地址,第2個是收件人的郵箱地址,第3個是正文,但必須是字符串格式,所以用as_string()函數轉換了一下。

      • 但是我們希望發送成功后能顯示“郵件發送成功”,失敗的時候能提示我們“郵件發送失敗”,可以使用try語句來實現。
      • try:
        
            qqmail.sendmail(sender, receiver, message.as_string())
        
            print ('郵件發送成功')
        
        except:
        
            print ('郵件發送失敗')
        
        qqmail.quit()
        

      5.完整的代碼

      import smtplib
      
      from email.mime.text import MIMEText
      
      from email.header import Header
      
      #引入smtplib、MIMETex和Header
      
      
      
      mailhost='smtp.qq.com'
      
      #把qq郵箱的服務器地址賦值到變量mailhost上,地址應為字符串格式
      
      qqmail = smtplib.SMTP()
      
      #實例化一個smtplib模塊里的SMTP類的對象,這樣就可以調用SMTP對象的方法和屬性了
      
      qqmail.connect(mailhost,25)
      
      #連接服務器,第一個參數是服務器地址,第二個參數是SMTP端口號。
      
      #以上,皆為連接服務器。
      
      
      
      sender = input('請輸入你的郵箱:')
      
      #獲取郵箱賬號,為字符串格式
      
      password = input('請輸入你的密碼:')
      
      #獲取郵箱密碼,為字符串格式
      
      qqmail.login(sender,password)
      
      #登錄郵箱,第一個參數為郵箱賬號,第二個參數為郵箱密碼
      
      #以上,皆為登錄郵箱。
      
      
      
      receiver=input('請輸入收件人的郵箱:')
      
      #獲取收件人的郵箱。
      
      
      
      content=input('請輸入郵件正文:')
      
      #輸入你的郵件正文,為字符串格式
      
      message = MIMEText(content, 'plain', 'utf-8')
      
      #實例化一個MIMEText郵件對象,該對象需要寫進三個參數,分別是郵件正文,文本格式和編碼
      
      subject = input('請輸入你的郵件主題:')
      
      #輸入你的郵件主題,為字符串格式
      
      message['Subject'] = Header(subject, 'utf-8')
      
      #在等號的右邊是實例化了一個Header郵件頭對象,該對象需要寫入兩個參數,分別是郵件主題和編碼,然后賦值給等號左邊的變量message['Subject']。
      
      #以上,為填寫主題和正文。
      
      
      
      try:
      
          qqmail.sendmail(sender, receiver, message.as_string())
      
          print ('郵件發送成功')
      
      except:
      
          print ('郵件發送失敗')
      
      qqmail.quit()
      
      #以上為發送郵件和退出郵箱
      
      posted @ 2020-07-28 20:47  Miss詩和遠方的高山  閱讀(1349)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 国产迷姦播放在线观看| 亚洲日韩av无码一区二区三区人 | 日韩亚洲精品中文字幕| 国产尤物精品自在拍视频首页| 精品日本免费一区二区三区| 国产亚洲AV电影院之毛片| 四虎永久精品免费视频| 国产亚洲精品AA片在线播放天| 国产在线啪| 天堂亚洲免费视频| 黄平县| 美女又黄又免费的视频| 一区二区丝袜美腿视频| 午夜高清福利在线观看| 国产日产欧产系列| 亚洲精品美女一区二区| 日本亚洲一区二区精品| 一区二区三区在线色视频| 少妇人妻综合久久中文字幕| 亚洲精品一区二区动漫| 亚洲爆乳精品无码一区二区| 日韩精品av一区二区三区| 国产成人一区二区三区在线| 亚洲一二区在线视频播放| 少妇仑乱a毛片无码| 嫩江县| 国产69精品久久久久人妻| 九九热在线视频免费播放| 野外少妇被弄到喷水在线观看| 青神县| 日韩精品一区二区三区在| 国产综合精品一区二区三区| 国产小嫩模无套中出视频| 宅男噜噜噜66在线观看| 老色批国产在线观看精品| 2020国产欧洲精品网站| 中文字幕日韩精品有码| 999国产精品999久久久久久 | 亚洲人妻精品一区二区| 成人国产精品日本在线观看| 国产激情艳情在线看视频|