欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python群發(fā)郵件實例代碼

 更新時間:2014年01月03日 14:46:16   作者:  
今天試了試Python發(fā)郵件,突然想到能不能群發(fā)郵件呢?群發(fā)郵件是smtplib的一個bug,不過最終還是解決了

直接上代碼了

復(fù)制代碼 代碼如下:

import smtplib
msg = MIMEMultipart()

#構(gòu)造附件1
att1 = MIMEText(open('/home/a2bgeek/develop/python/hello.py', 'rb').read(), 'base64', 'gb2312')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="hello.txt"'#這里的filename可以任意寫,寫什么名字,郵件中顯示什么名字
msg.attach(att1)

#構(gòu)造附件2
#att2 = MIMEText(open('/home/a2bgeek/develop/python/mail.py', 'rb').read(), 'base64', 'gb2312')
#att2["Content-Type"] = 'application/octet-stream'
#att2["Content-Disposition"] = 'attachment; filename="123.txt"'
#msg.attach(att2)

#加郵件頭
strTo = ['XXX1@139.com', 'XXX2@163.com', 'XXX3@126.com']
msg['to']=','.join(strTo)
msg['from'] = 'YYY@163.com'
msg['subject'] = '郵件主題'
#發(fā)送郵件
try:
    server = smtplib.SMTP()
    server.connect('smtp.163.com')
    server.login('YYY@163.com','yourpasswd')
    server.sendmail(msg['from'], strTo ,msg.as_string())
    server.quit()
    print '發(fā)送成功'
except Exception, e:
    print str(e)

細(xì)心的讀者會發(fā)現(xiàn)代碼中有這樣一句:msg['to']=','.join(strTo),但是msg[['to']并沒有在后面被使用,這么寫明顯是不合理的,但是這就是stmplib的bug。你只有這樣寫才能群發(fā)郵件。查明原因如下:

The problem is that SMTP.sendmail and email.MIMEText need two different things.

email.MIMEText sets up the “To:” header for the body of the e-mail. It is ONLY used for displaying a result to the human being at the other end, and like all e-mail headers, must be a single string. (Note that it does not actually have to have anything to do with the people who actually receive the message.)

SMTP.sendmail, on the other hand, sets up the “envelope” of the message for the SMTP protocol. It needs a Python list of strings, each of which has a single address.

So, what you need to do is COMBINE the two replies you received. Set msg‘To' to a single string, but pass the raw list to sendmail.

好了今天就到這里。

相關(guān)文章

  • 解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    解決Jupyter Notebook開始菜單欄Anaconda下消失的問題

    這篇文章主要介紹了解決Jupyter Notebook開始菜單欄Anaconda下消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python使用代理抓取網(wǎng)站圖片(多線程)

    Python使用代理抓取網(wǎng)站圖片(多線程)

    Python作為一門功能強大的腳本語言,經(jīng)常被用來寫爬蟲程序,下面是使用Python通過代理進(jìn)行多線程抓取圖片,算是一個簡易的python多線程爬蟲
    2014-03-03
  • python 返回一個列表中第二大的數(shù)方法

    python 返回一個列表中第二大的數(shù)方法

    今天小編就為大家分享一篇python 返回一個列表中第二大的數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python10行代碼實現(xiàn)模擬百度搜索的示例

    Python10行代碼實現(xiàn)模擬百度搜索的示例

    本文主要介紹了Python10行代碼實現(xiàn)模擬百度搜索的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 快速進(jìn)修Python指南之迭代器Iterator與生成器

    快速進(jìn)修Python指南之迭代器Iterator與生成器

    這篇文章主要為大家介紹了Java開發(fā)者快速進(jìn)修Python指南之迭代器Iterator與生成器示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python+opencv+caffe+攝像頭做目標(biāo)檢測的實例代碼

    python+opencv+caffe+攝像頭做目標(biāo)檢測的實例代碼

    今天小編就為大家分享一篇python+opencv+caffe+攝像頭做目標(biāo)檢測的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 使用python-cv2實現(xiàn)視頻的分解與合成的示例代碼

    使用python-cv2實現(xiàn)視頻的分解與合成的示例代碼

    這篇文章主要介紹了使用python-cv2實現(xiàn)視頻的分解與合成的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    這篇文章主要為大家介紹了一個關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報no?module?name的異常錯誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python監(jiān)控日志中的報錯并進(jìn)行郵件報警

    python監(jiān)控日志中的報錯并進(jìn)行郵件報警

    這篇文章主要為大家介紹了python監(jiān)控日志中的報錯并進(jìn)行郵件報警的實現(xiàn)實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python?命令行解析工具?argparse基本用法

    Python?命令行解析工具?argparse基本用法

    在工作中,我們經(jīng)常需要從命令行當(dāng)中解析出指定的參數(shù),而?Python?也提供了相應(yīng)的標(biāo)準(zhǔn)庫來做這件事情,比如?sys,?optparse,?getopt,?argparse,這里面功能最強大的莫過于?argparse,下面就來看看它用法,需要的朋友可以參考下
    2022-12-12

最新評論