亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

詳解Python發送郵件實例

系統 1924 0

Python發送郵件需要smtplib和email兩個模塊。也正是由于我們在實際工作中可以導入這些模塊,才使得處理工作中的任務變得更加的簡單。今天,就來好好學習一下使用Python發送郵件吧。

SMTP是發送郵件的協議,Python內置對SMTP的支持,可以發送純文本郵件、HTML郵件以及帶附件的郵件。

Python對SMTP支持有smtplib和email兩個模塊,email負責構造郵件,smtplib負責發送郵件。

1.郵件正文是文本的格式

            
# -*- coding: UTF-8 -*-

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
import sys
import csv
import xlrd
from pyExcelerator import *
import os
import xlwt
from xlutils.copy import copy
import pyExcelerator
import datetime
import time

reload(sys)
sys.setdefaultencoding("utf-8")

mailto_list = [""] # 郵件接收方的郵件地址
mail_host = "smtp.exmail.qq.com"  # 郵件傳送協議服務器
mail_user = "" # 郵件發送方的郵箱賬號
mail_pass = "" # 郵件發送方的郵箱密碼

def send_mail(to_list, sub, content):
  me = "天才白癡夢"+"<"+mail_user+">"
  msg = MIMEText(content, _subtype='plain', _charset='utf-8')
  msg['Subject'] = sub  # 郵件主題
  msg['From'] = me
  msg['To'] = ";".join(to_list)
  try:
    server = smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user, mail_pass)
    server.sendmail(me, to_list, msg.as_string())
    server.close()
    return True
  except Exception, e:
    print str(e)
    return False

if __name__ == '__main__':
  sub = "天才白癡夢"
  content = '...'
  if send_mail(mailto_list, sub, content):
    print "發送成功"
  else:
    print "發送失敗"


          

2.郵件正文是表格的格式: 由于是表格,所以我們選擇HTML來實現表格的功能,郵件上面顯示的就是HTML實現的內容了。

            
# -*- coding: UTF-8 -*-

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
import sys
import csv
import xlrd
from pyExcelerator import *
import os
import xlwt
from xlutils.copy import copy
import pyExcelerator
import datetime
import time

reload(sys)
sys.setdefaultencoding("utf-8")

mailto_list = [""] # 郵件接收方的郵件地址
mail_host = "smtp.exmail.qq.com"  # 郵件傳送協議服務器
mail_user = "" # 郵件發送方的郵箱賬號
mail_pass = "" # 郵件發送方的郵箱密碼

def send_mail(to_list, sub, content):
  me = "天才白癡夢"+"<"+mail_user+">"
  # 和上面的代碼不同的就是,這里我們選擇的是html 的格式
  msg = MIMEText(content, _subtype='html', _charset='utf-8')
  msg['Subject'] = sub  # 郵件主題
  msg['From'] = me
  msg['To'] = ";".join(to_list)
  try:
    server = smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user, mail_pass)
    server.sendmail(me, to_list, msg.as_string())
    server.close()
    return True
  except Exception, e:
    print str(e)
    return False

if __name__ == '__main__':
  sub = "天才白癡夢"
  html = ''
  if send_mail(mailto_list, sub, html):
    print "發送成功"
  else:
    print "發送失敗"


          

3.郵件正文是圖片的格式: 要把圖片嵌入到郵件正文中,我們只需按照發送附件的方式,先把郵件作為附件添加進去,然后,在HTML中通過引用src="cid:0"就可以把附件作為圖片嵌入了。如果有多個圖片,給它們依次編號,然后引用不同的cid:x即可。

            
def send_mail(to_list, sub, content):
  me = "天才白癡夢"+"<"+mail_user+">"

  msg = MIMEMultipart()
  msg['Subject'] = sub  # 郵件主題
  msg['From'] = me
  msg['To'] = ";".join(to_list)

  txt = MIMEText("天才白癡夢", _subtype='plain', _charset='utf8')
  msg.attach(txt)

  # 
            
              :黑體 
              
                :斜體
  msgText = MIMEText('
                
                  Some 
                  
                    HTML
                  
                   text
                
                 and an image.
                
                good!', 'html', 'utf-8')
  msg.attach(msgText)

  file1 = "F:\\1.jpg"
  image = MIMEImage(open(file1, 'rb').read())
  image.add_header('Content-ID', '
                
                  ')
  msg.attach(image)

  try:
    server = smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user, mail_pass)
    server.sendmail(me, to_list, msg.as_string())
    server.close()
    return True
  except Exception, e:
    print str(e)
    return False

if __name__ == '__main__':
  sub = "天才白癡夢"
  html = ''
  if send_mail(mailto_list, sub, html):
    print "發送成功"
  else:
    print "發送失敗"


                
              
            
          

4.發送郵件附件:郵件附件是圖片

            
def send_mail(to_list, sub, content):
  me = "天才白癡夢"+"<"+mail_user+">"

  msg = MIMEMultipart()
  msg['Subject'] = sub  # 郵件主題
  msg['From'] = me
  msg['To'] = ";".join(to_list)

  txt = MIMEText("天才白癡夢", _subtype='plain', _charset='utf8')
  msg.attach(txt)

  # # 
            
              :黑體 
              
                :斜體
  # msgText = MIMEText('
                
                  Some 
                  
                    HTML
                  
                   text
                
                 and an image.
                
                good!', 'html', 'utf-8')
  # msg.attach(msgText)
  #
  # file1 = "F:\\1.jpg"
  # image = MIMEImage(open(file1, 'rb').read())
  # image.add_header('Content-ID', '
                
                  ')
  # msg.attach(image)

  att = MIMEText(open('F:\\1.jpg', 'rb').read(), 'base64', 'utf-8')
  att["Content-Type"] = 'application/octet-stream'
  att["Content-Disposition"] = 'attachment; filename="1.jpg"'
  msg.attach(att)

  try:
    server = smtplib.SMTP()
    server.connect(mail_host)
    server.login(mail_user, mail_pass)
    server.sendmail(me, to_list, msg.as_string())
    server.close()
    return True
  except Exception, e:
    print str(e)
    return False


                
              
            
          

5.發送群郵件:同時發送給多人
mailto_list = [""]? # 郵件接收方的郵件地址
上面這一行代碼是郵件接收方的郵件地址,如果我們需要給多人發送郵件的話,就只需要把對方的郵件帳號綁在這一個列表里就ok了。

加密SMTP

使用標準的25端口連接SMTP服務器時,使用的是明文傳輸,發送郵件的整個過程可能會被竊聽。要更安全地發送郵件,可以加密SMTP會話,實際上就是先創建SSL安全連接,然后再使用SMTP協議發送郵件。

方法:只需要在創建SMTP對象后,立刻調用starttls()方法,就創建了安全連接。

            
smtp_server = 'smtp.qq.com'
smtp_port = 25  # 默認端口號為25
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
# 剩下的代碼和前面的一模一樣:
server.set_debuglevel(1)   # 打印出和SMTP服務器交互的所有信息
          

以上就是關于Python發送郵件詳細解析,希望對大家的學習有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产午夜亚洲精品久久999 | 日韩美视频网站 | 在线国产一区二区三区 | 天天舔天天舔 | 五月婷婷亚洲综合 | 亚洲日本视频 | 午夜在线成人 | 国产香蕉视频在线 | 久久红综合久久亚洲网色 | 亚洲一级毛片视频 | 成人免费在线视频 | 国产视频国产 | 色婷婷亚洲 | 麻豆精品久久久 | 亚洲玖玖 | 国产羞羞羞视频在线观看 | 中文字幕视频一区二区 | 亚洲欧美视屏 | 一区二区三区不卡免费视频97 | 一集毛片 | 成年免费网站 | 日本国产一区 | 国产swag在线观看 | 青青草国产97免久久费观看 | 国产91一区二这在线播放 | 91精品国产一区二区三区左线 | 日本免费一区二区三区在线看 | 亚洲视频精品在线观看 | 久久综合操 | 亚洲情综合五月天 | 鲁一鲁射一射 | 久久久麻豆 | 亚洲精品一区二区三区在线播放 | 久久亚洲精品中文字幕 | 色综合五月激情综合色一区 | 看看的在线视频国产 | 久久精品系列 | 国产在线观看成人免费视频 | 五月激情丁香婷婷综合第九 | 四虎2019| 二级毛片全部 |