python smtplib發(fā)送多個(gè)email聯(lián)系人的實(shí)現(xiàn)
使用python下的stmpmail 模塊,可以實(shí)現(xiàn)郵件的輕松和定制化發(fā)送,不過(guò)在發(fā)給多用戶時(shí),可能會(huì)對(duì)該模塊理解不到位,造成發(fā)送異常或信息缺失,這里就針對(duì)發(fā)給多個(gè)收件人,說(shuō)說(shuō)其中的兩個(gè)可能遇到的坑。
問(wèn)題1:發(fā)給多個(gè)收件人不成功
tolist=[’a@a.com’, ’b@b.com’, ’c@c.com’]msg = MIMEMultipart()msg[’from’] = fromusermsg[’subject’] = subjectmsg[’to’] = ’,’.join(tolist) //此處也有用 msg[’to’] = ’;’.join(tolist) 的server.sendmail(msg[’from’], msg[’to’], msg.as_string())
使用上面的示例進(jìn)行發(fā)送時(shí),會(huì)出現(xiàn)發(fā)送時(shí),只有第一人收件人能收到email ,后面的人都無(wú)法收到的情況。該問(wèn)題是由于server.sendmail 在接收多個(gè)收件人時(shí),接到的信息是list 列表,而不是字符串 。這里將最后一行更改為如下即可:
server.sendmail(msg[’from’], ’tolist’, msg.as_string())
這樣來(lái)看,msg[’to’]這行的join語(yǔ)句是不是就沒(méi)有意義了?接下來(lái)看第二個(gè)問(wèn)題
問(wèn)題2:都能收到,但沒(méi)有收件人信息
先看下圖:
我們將上面msg[’to’]這段信息取消掉后,就會(huì)沒(méi)有收件人信息。
所以stmpmail 關(guān)于多個(gè)收件人這塊也比較好理解:server.sendmail 里傳參時(shí)的收件人是list,msg[’to’] 接收的變量值是字符串---即在郵件里顯示的收信人信息。
該問(wèn)題在stackoverflow問(wèn)答站上也有人提問(wèn):Python Not Sending Email To Multiple Addresses
到此這篇關(guān)于python smtplib發(fā)送多個(gè)email聯(lián)系人的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python smtplib發(fā)送多個(gè)email內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
