91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python給指定csv表格中的聯系人群發郵件(帶附件的郵件)

發布時間:2020-09-07 03:18:31 來源:腳本之家 閱讀:253 作者:湯圓不是油條 欄目:開發技術

以下為使用python給指定路徑的csv表格中的聯系人群發帶附件的郵件(csv表格的第一列為聯系人姓名,第二列為聯系人郵箱賬號)的代碼,詳情見注釋。

import time
import csv #用于讀取收件人列表
import smtplib #用于發送郵件
from email.header import Header #Header用于構造郵件頭
from email.mime.text import MIMEText #MIMEText用于構造文本郵件
from email.mime.image import MIMEImage #MIMEImage用于構造圖片郵件
from email.mime.multipart import MIMEMultipart #MIMEMultipart用于構造復雜郵件(帶附件的郵件)
#收件人信息創建
def receive_info():
  # 可以是一個列表,支持多個郵件地址同時發送,測試改成自己的郵箱地址
  to_addrs = []
  #to = input('請輸入收件人郵箱:')
  with open('收件人郵箱.csv','r',encoding='utf-8') as f:
    reader = csv.reader(f)
    try:
      for row in reader:
        to_addrs.append(row[1])
      print('收件人信息讀取完畢!')
      time.sleep(1)
      print('以下為收件人郵箱列表:\n',to_addrs)
      receivers = ','.join(to_addrs)
    except Exception as e:
      print('讀取收件人信息失敗!原因如下:')
      print(e)
  return to_addrs,receivers
#發件人信息創建
def send_info():
  print('開始輸入發件人信息...')
  time.sleep(1)
  try:
    sender_mail = input('請輸入發件人郵箱:')
    sender_pass = input('請輸入發件人郵箱授權碼(不要加空格):')#同樣是亂打的
    smtp_server = 'smtp.qq.com' #郵箱服務器
    time.sleep(1)
    print('發件人信息錄入成功!')
  except Exception as e:
    print('發件人信息輸入失敗!以下為失敗原因:')
    print(e)
  return sender_mail,sender_pass,smtp_server
#構造郵件
def mail_body(to):
  # 設置總的郵件體對象,對象類型為mixed,可以構造帶附件的復雜郵件
  msg_root = MIMEMultipart('mixed')
  # 郵件添加的頭尾信息等
  msg_root['From'] = Header(sender_mail)
  msg_root['To'] = Header(receivers) #Header的參數不能為列表
  # 郵件的主題,顯示在接收郵件的預覽頁面
  subject = 'python sendemail test successful'
  msg_root['subject'] = Header(subject, 'utf-8') #第一個參數為郵件主題,第二個參數為編碼方式
  # 構造正文文本內容
  text_info = 'hello world'
  text_sub = MIMEText(text_info, 'plain', 'utf-8') #第一個參數為文本內容,第二個參數為格式(‘plain'為純文本,第三個參數為編碼方式)
  msg_root.attach(text_sub)
  # 構造超文本附件
  url = "https://blog.csdn.net/m0_45654959"
  html_info = """
  <p>點擊以下鏈接,你會去向一個更大的世界</p>
  <p><a href="%s" rel="external nofollow" >click me</a></p>
  <p>i am very galsses for you</p>
  """% url
  html_sub = MIMEText(html_info, 'html', 'utf-8') #超文本郵件體
  # 如果不加下邊這行代碼的話,上邊的文本是不會正常顯示的,會把超文本的內容當做文本顯示
  html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"' #將超文本郵件體作為附件
  # 把構造的內容(超文本附件)寫到郵件體中
  msg_root.attach(html_sub)
  # 構造圖片附件
  image_file = open(r'D:\Anaconda\programm_my\little_programm\test.gif', 'rb').read()
  image = MIMEImage(image_file) #圖片郵件體
  image.add_header('Content-ID', '<image1>') #將圖片在郵件中的目錄ID設為<image1>,只有一張圖片時此句可以省略
  # 如果不加下邊這行代碼的話,會在收件方方面顯示亂碼的bin文件,下載之后也不能正常打開
  image["Content-Disposition"] = 'attachment; filename="hua_ji.gif"'
  #把構造的內容(圖片附件)寫入郵件體當中
  msg_root.attach(image)
  # 構造文本附件(base64數據流)
  txt_file = open(r'D:\Anaconda\programm_my\little_programm\hello_word.txt', 'rb').read()
  txt = MIMEText(txt_file, 'base64', 'utf-8')
  txt["Content-Type"] = 'application/octet-stream' #Content-Type默認為application/octet-stream,此句可以不加
  #以下代碼可以重命名附件為hello_world.txt 
  txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')
  #把構造的內容(文本附件)寫入郵件體當中
  msg_root.attach(txt)
  return msg_root
#郵件發送函數
def send_mail():
  time.sleep(1)
  print('開始發送郵件...')
  try:
    server =smtplib.SMTP_SSL(smtp_server)#QQ郵箱采用SSL方式加密;僅在python3.7中才需要給smtplib.SMPT_SSL()方法傳入發件人郵箱地址參數
    server.connect(smtp_server,465)
    server.login(sender_mail, sender_pass)
    server.sendmail(sender_mail, to_addrs, msg.as_string())
    server.quit()
    print('恭喜你!郵件發送成功!')
  except Exception as e:
    print('郵件發送失敗!以下為失敗原因:')
    print(e)
#主函數:
def main():
  send_mail()
if __name__ == '__main__':
  #初始化收件人、發件人、郵件體數據
  to_addrs,receivers = receive_info()
  sender_mail,sender_pass,smtp_server = send_info()
  msg = mail_body(to_addrs)
  #調用主函數,發送郵件
  main()

總結

以上所述是小編給大家介紹的python給指定csv表格中的聯系人群發郵件,希望對大家有所幫助!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂尔多斯市| 祥云县| 平顺县| 天峻县| 称多县| 盐源县| 枝江市| 普陀区| 安陆市| 通州区| 车致| 蕲春县| 壶关县| 南召县| 乌审旗| 公安县| 大竹县| 青浦区| 温州市| 商水县| 宁南县| 合水县| 曲麻莱县| 康乐县| 广南县| 德格县| 株洲县| 龙口市| 漳州市| 原平市| 泾源县| 鄱阳县| 手机| 沅江市| 黑龙江省| 庆阳市| 惠安县| 镇宁| 云霄县| 陇南市| 湖州市|