Python群发邮件

前面我们介绍了用python发送定时天气预报,结合了爬虫、邮箱和定时发送的技术。这篇帖子专门介绍用python实现群发邮件。只要在excel表中填入邮箱地址,不用打开邮箱,就能实现一键群发。并且后期邮箱地址维护起来也比较方便,只要修改一下Excel表里的地址就行,python会自动拿到表里的数据,不需要再次复制粘贴。想起博主之前在一家公司的管理部门任职,经常要群发邮件,邮箱地址维护起来真是太麻烦了。后悔没有早点学python~

import smtplib
#smtplib 用于邮件的发信动作
from email.mime.text import MIMEText
#email 用于构建邮件内容
from email.header import Header
#用于构建邮件头
import csv
#引用csv模块,用于读取邮箱信息

#发信方的信息:发信邮箱,邮箱授权码,方便起见,你也可以直接赋值
from_addr =str(input('请输入发件人邮箱地址:'))
password =str(input('请输入邮箱授权码'))

#发信服务器
smtp_server = 'smtp.qq.com'

#邮件内容
text='您好!这是群发邮件的内容,您可以替换成其他内容'

#读取收件人数据,并启动写信和发信流程
with open(r'/Users/elizabeth/Desktop/python/email.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader: 
        to_addrs=row[1]
        msg = MIMEText(text,'plain','utf-8')
                #构建邮件头:
        msg['From'] = Header(from_addr)
        msg['To'] = Header(to_addrs)
        msg['Subject'] = Header('python test')
                #连接邮箱服务器:
        server = smtplib.SMTP_SSL(smtp_server,465)
        server.connect(smtp_server,465)
                #登录邮箱:
        server.login(from_addr, password)
                #发送邮件:
        server.sendmail(from_addr, to_addrs, msg.as_string())

#关闭服务器
server.quit()

猜你喜欢

转载自blog.51cto.com/14534896/2436396