最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 發(fā)送郵件的示例代碼(Python2/3都可以直接使用)

 更新時間:2020年12月03日 14:58:56   作者:柯廣  
這篇文章主要介紹了python 發(fā)送郵件的示例代碼,并且Python2/3都可以直接使用,感興趣的朋友可以參考下

發(fā)送普通郵件

發(fā)送文本和html普通郵件如下:

from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr

import smtplib

def _format_addr(s):
  name, addr = parseaddr(s)
  return formataddr((Header(name, 'utf-8').encode(), addr))

def get_server(username):
  """
  通過郵箱地址獲得郵箱服務(wù)器
  :param username:用戶名,比如:123456@qq.com
  :return: 郵箱服務(wù)器地址,可以根據(jù)自己實際業(yè)務(wù)添加,比如:smtp.qq.com
  """
  servers = {'qq' : 'smtp.qq.com'
        , '126' : 'smtp.126.com'
        , '163' : 'smtp.163.com'
        , '139' : 'smtp.139.com'}

  for key,value in servers.items():
    if key in username:
      return value

def send_mail(username, password, to, sender_name, subject, content, email_type):
  """
  :param username: 
  :param password: 
  :param to: 接收者列表 []
  :param sender_name: 
  :param subject: 
  :param content: 
  :param email_type: 
  :return: 
  """
  from_addr = username
  password = password
  to_addr = to
  smtp_server = get_server(username)

  # 郵件正文是MIMEText類型
  msg = MIMEText('%s'%(content), '%s'%(email_type), 'utf-8')
  msg['From'] = _format_addr('%s<%s>' % (sender_name, from_addr))
  msg['To'] = _format_addr('<%s>' % to_addr)
  msg['Subject'] = Header('%s'%(subject), 'utf-8').encode()

  # 普通登陸端口是25,帶ssl驗證時候端口是465
  # smtp_server = 'smtp.exmail.qq.com'
  # server = smtplib.SMTP_SSL(smtp_server, 465)
  server = smtplib.SMTP(smtp_server, 25)
  server.set_debuglevel(1)
  server.login(from_addr, password)
  server.sendmail(from_addr, to_addr, msg.as_string())
  server.quit()

if __name__ == '__main__':
  """發(fā)送簡單文本郵件"""
  username = '******@126.com'
  password = '******'
  sender_name = '******@126.com'
  subject = 'test 郵件'
  content = '<html><h1>ikeguang 的來信</h1></html> <a  rel="external nofollow" >ikeguang.com</a></html>'
  # email_type 取值:plain,文本類型郵件;html,html類型郵件
  email_type = 'html'
  _to = ['******@126.com', '******@qq.com']
  for to in _to:
    send_mail(username, password, to, sender_name, subject, content, email_type)
    print('send mail to %s success' % to)

發(fā)送帶附件的郵件

def send_mail_multipart(username, password, to, sender_name, subject, content, email_type):
  from_addr = username
  password = password
  to_addr = to
  smtp_server = get_server(username)

  msg = MIMEMultipart()
  # 郵件正文是MIMEText類型
  msg.attach(MIMEText('%s'%(content), '%s'%(email_type), 'utf-8'))
  msg['From'] = _format_addr('%s<%s>' % (sender_name, from_addr))
  msg['To'] = _format_addr('<%s>' % to_addr)
  msg['Subject'] = Header('%s'%(subject), 'utf-8').encode()

  # 讀取附件
  filename = 'D:/我的文件/Codes/PyCode/source/image/0.jpg'
  with open(filename, 'rb') as f:
    # 設(shè)置附件的MIME和文件名,這里是png類型:
    mime = MIMEBase('image', 'jpg', filename='0.jpg')
    # 加上必要的頭信息:
    mime.add_header('Content-Disposition', 'attachment', filename='0.jpg')
    mime.add_header('Content-ID', '<0>')
    mime.add_header('X-Attachment-Id', '0')
    # 把附件的內(nèi)容讀進來:
    mime.set_payload(f.read())
    # 用Base64編碼:
    encoders.encode_base64(mime)
    # 添加到MIMEMultipart:
    msg.attach(mime)

  # 普通登陸端口是25,帶ssl驗證時候端口是465
  # smtplib.SMTP_SSL(smtp_server, 465)
  server = smtplib.SMTP(smtp_server, 25)
  server.set_debuglevel(1)
  server.login(from_addr, password)
  server.sendmail(from_addr, [to_addr], msg.as_string())
  server.quit()

相關(guān)文章

  • python用moviepy對視頻進行簡單的處理

    python用moviepy對視頻進行簡單的處理

    這篇文章主要介紹了python如何用moviepy對視頻進行簡單的處理,幫助大家更好的利用python處理視頻,感興趣的朋友可以了解下
    2021-03-03
  • Pycharm安裝第三方庫失敗解決方案

    Pycharm安裝第三方庫失敗解決方案

    這篇文章主要介紹了Pycharm安裝第三方庫失敗解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    這篇文章主要介紹了Python調(diào)用MySQL存儲過程并獲得返回值的方法,涉及Python操作MySQL存儲過程的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • python獲取酷狗音樂top500的下載地址 MP3格式

    python獲取酷狗音樂top500的下載地址 MP3格式

    這篇文章主要介紹了python獲取酷狗音樂top500的下載地址 MP3格式,文中給大家提到了python--爬取酷狗TOP500的數(shù)據(jù),需要的朋友可以參考下
    2018-04-04
  • 解析Tensorflow之MNIST的使用

    解析Tensorflow之MNIST的使用

    這篇文章主要介紹了解析Tensorflow之MNIST的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python文件讀寫處理日常任務(wù)終極工具實例

    Python文件讀寫處理日常任務(wù)終極工具實例

    Python文件的讀寫操作時,有很多需要考慮的細節(jié),這包括文件打開方式、讀取和寫入數(shù)據(jù)的方法、異常處理等,在本文中,將深入探討Python中的文件操作,旨在提供全面的指南,幫你充分了解Python文件的讀寫
    2023-11-11
  • 39條Python語句實現(xiàn)數(shù)字華容道

    39條Python語句實現(xiàn)數(shù)字華容道

    這篇文章主要為大家詳細介紹了39條Python語句實現(xiàn)數(shù)字華容道,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python實現(xiàn)多線程下載文件的代碼實例

    Python實現(xiàn)多線程下載文件的代碼實例

    這篇文章主要介紹了Python實現(xiàn)多線程下載文件的代碼實例,需要的朋友可以參考下
    2014-06-06
  • django中related_name的用法說明

    django中related_name的用法說明

    這篇文章主要介紹了django中related_name的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python查找文件中包含中文的行方法

    Python查找文件中包含中文的行方法

    今天小編就為大家分享一篇Python查找文件中包含中文的行方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

宣威市| 工布江达县| 含山县| 全椒县| 六盘水市| 曲阜市| 梁山县| 长垣县| 资兴市| 滁州市| 夏河县| 呼伦贝尔市| 海宁市| 集贤县| 汉中市| 汤阴县| 安国市| 德钦县| 常熟市| 阳西县| 宽甸| 朝阳区| 黑水县| 长春市| 吴旗县| 阳朔县| 台中市| 德阳市| 鄂尔多斯市| 康保县| 西丰县| 瑞昌市| 宁陕县| 吉水县| 青神县| 叶城县| 延庆县| 额济纳旗| 南平市| 遂川县| 齐齐哈尔市|