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