<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] 前言 本篇總結了QQ郵箱和163郵箱發送郵件,郵件包含html中文和附件,可以發給多個收件人。 <br /> ## 一、163郵箱 1. 未設置客戶端授權密碼出現的報錯: SMTPAuthenticationError: (550, b’User has no permission’) 該問題是由于未設置授權密碼出錯,具體解決辦法如下: ![](https://img.kancloud.cn/e3/60/e360a06ccb27d6cd8305636b00a949ff_969x558.png) 2. 先導入smtplib庫用來發送郵件,導入MIMEText庫用來做純文本的郵件模板 3. 先準備幾個跟發郵件相關的參數,每個郵箱的發件服務器都不一樣,以163為例,百度搜到發件服務器為:smtp.163.com ![](https://img.kancloud.cn/9d/e4/9de489a6aeecbafe3e134461acbb31b0_571x183.png) ``` import smtplib from email.mime.text import MIMEText # ---------- 1.跟發件相關的參數------------- smtpserver = "smtp.163.com" # 設置服務器 port = 25 # 端口 sender = "zjut_cheng@163.com" # 賬號 pwd = "******" # 授權碼,注意不是郵箱登錄密碼,是上述設置的授權密碼!! receiver = "1056133525@qq.com" # 接收人 ``` 4. 接下來就是寫郵件的主題和正文內容,正文這里用html格式的 5. 最后調用發件服務 ``` # ------------ 2.編輯郵件的內容------------- subject = "這個是主題163" body = '<p>這個是發送的163郵件</p>' # 定義郵件正文為html格式 msg = MIMEText(body, "html", "utf-8") msg['from'] = sender msg['to'] = "1056133525@qq.com" msg['subject'] = subject # -------------- 3.發送郵件---------------- smtp = smtplib.SMTP() smtp.connect(smtpserver) # 連服務器 smtp.login(sender, pwd) # 登錄 smtp.sendmail(sender, receiver, msg.as_string()) # 發送 smtp.quit() # 關閉 ``` 6. 參考代碼: ``` import smtplib from email.mime.text import MIMEText # ---------- 1.跟發件相關的參數------------- smtpserver = "smtp.163.com" # 設置服務器 port = 25 # 端口 sender = "zjut_cheng@163.com" # 賬號 pwd = "********" # 授權碼,注意不是郵箱登錄密碼,是上述設置的授權密碼!! receiver = "1056133525@qq.com" # 接收人 # ------------ 2.編輯郵件的內容------------- subject = "這個是主題163" body = '<p>這個是發送的163郵件</p>' # 定義郵件正文為html格式 msg = MIMEText(body, "html", "utf-8") msg['from'] = sender msg['to'] = "1056133525@qq.com" msg['subject'] = subject # -------------- 3.發送郵件---------------- smtp = smtplib.SMTP() smtp.connect(smtpserver) # 連服務器 smtp.login(sender, pwd) # 登錄 smtp.sendmail(sender, receiver, msg.as_string()) # 發送 smtp.quit() # 關閉 ``` <br /> ## 二、QQ郵件 1. QQ郵箱也需要SSL認證的 ![](https://img.kancloud.cn/d8/96/d89604789106ce55ff20eaf541ac1200_621x107.png) 2. 找到QQ郵箱授權碼,打開QQ郵箱-設置-賬號-POP3開啟服務-開啟 (如果已經開啟了,不知道授權碼,就點溫馨提示里面的‘生成授權碼’) ![](https://img.kancloud.cn/f8/e2/f8e296fe6b97840106f1809ee4f01084_1118x590.png) 3. QQ郵箱發送郵件代碼,跟163有點不一樣,如下圖紅色框框: ![](https://img.kancloud.cn/1d/a1/1da1c7333e2ed07731f0f4f7cbd17eae_483x112.png) 4. 參考代碼: ``` import smtplib from email.mime.text import MIMEText # ---------- 1.跟發件相關的參數------------- smtpserver = "smtp.qq.com" # 設置服務器 port = 25 # 端口 sender = "1056133525@qq.com" # 賬號 pwd = "xxxxxxx" # 授權碼,注意不是郵箱登錄密碼,是上述設置的授權密碼!! receiver = "1056133525@qq.com" # 接收人 # ------------ 2.編輯郵件的內容------------- subject = "這個主題是QQ" body = '<p>這個是發送的QQ郵件</p>' # 定義郵件正文為html格式 msg = MIMEText(body, "html", "utf-8") msg['from'] = sender msg['to'] = "1056133525@qq.com" msg['subject'] = subject # -------------- 3.發送郵件---------------- smtp = smtplib.SMTP_SSL(smtpserver, port) smtp.login(sender, pwd) # 登錄 smtp.sendmail(sender, receiver, msg.as_string()) # 發送 smtp.quit() # 關閉 ``` <br /> ## 三、兼容163和QQ郵箱 1. 如果想兼容上面兩種方式發送郵件,只需把第三塊內容稍微改下,如下所示 ``` # -------------- 3.發送郵件---------------- try: smtp = smtplib.SMTP() smtp.connect(smtpserver) # 連服務器 smtp.login(sender, pwd) # 登錄 except: smtp = smtplib.SMTP_SSL(smtpserver, port) smtp.login(sender, pwd) # 登錄 smtp.sendmail(sender, receiver, msg.as_string()) # 發送 smtp.quit() ``` <br /> ## 四、發送帶附件 1. 上面的MIMEText只能發送正文,無法帶附件,發送帶附件的需要導入另外一個模塊MIMEMultipart 2. 先讀取要發送文件的內容,file\_path是路徑的參數名 3. 下圖紅色框框file\_name參數是發送的附件重新命名 ![](https://img.kancloud.cn/3a/63/3a637e4a478dfeab415f2f1009e75917_734x394.png) 4. 參考代碼: ``` import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # ----------1.跟發件相關的參數------ # ---------- 1.跟發件相關的參數------------- smtpserver = "smtp.163.com" # 設置服務器 port = 25 # 端口 sender = "zjut_cheng@163.com" # 賬號 pwd = "******" # 授權碼,注意不是郵箱登錄密碼,是上述設置的授權密碼!! receiver = "1056133525@qq.com" # 接收人 # ----------2.編輯郵件的內容------ # 讀文件 file_path = "python01.py" with open(file_path, "rb") as fp: mail_body = fp.read() msg = MIMEMultipart() msg["from"] = sender # 發件人 msg["to"] = receiver # 收件人 msg["subject"] = "這個我的主題" # 主題 # 正文 body = MIMEText(mail_body, "html", "utf-8") msg.attach(body) # 附件 att = MIMEText(mail_body, "base64", "utf-8") att["Content-Type"] = "application/octet-stream" att["Content-Disposition"] = 'attachment; filename="test_report.html"' msg.attach(att) # ----------3.發送郵件------ try: smtp = smtplib.SMTP() smtp.connect(smtpserver) # 連服務器 smtp.login(sender, pwd) except: smtp = smtplib.SMTP_SSL(smtpserver, port) smtp.login(sender, pwd) # 登錄 smtp.sendmail(sender, receiver, msg.as_string()) # 發送 smtp.quit() ``` <br /> ## 五、發給多個收件人 1. 上面都是發給一個收件人,那么如何一次發給多個收件人呢?只需改兩個小地方 2. 把receiver參數改成list對象,單個多個都是可以收到的 3. msg\["to"\]這個參數不能用list了,得先把receiver參數轉化成字符串,如下圖所示 ![](https://img.kancloud.cn/dc/17/dc17053e61e7cdf432728eac07705b6a_726x285.png) <br /> ## 六:郵件收不到的幾種原因: 1. Subject和正文內容不要用hello、hehe、test等單詞 2. from(發件人)和to(收件人)不要為空, ? (要不然會被認為是垃圾郵件) 3. 找不到的話,先看下垃圾信箱,是不是跑到垃圾箱了 4. 如果前幾次可以收到,后來收不到了,需改下subject內容 ? (因為每次都是一個subject,系統也會拒收的,把subject內容設置為動態的是最好的) 5. 部分郵箱是ssl加密了的,所以無法發送,如:qq郵箱 (用授權碼去登錄)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看