菜鸟编程之qq邮箱群发

#利用csv 模块群发邮件,且csv文件中第一列为name,二列为email
import csv
import smtplib
#以下为引入email 包中构建内容的方法
from email.mime.text  import MIMEText   #MIMEText 模块内容形式为纯文本,HTML页面
from email.mime.image import MIMEImage  #MIMEImage 模块内容形式为图片
from email.mime.multipart import MIMEMultipart  #MIMEMultipart 模块为多形式组合,可包含文本和附件
from email.header import Header  #header()是用来构建邮件头文件

username=input('发件箱账号:') #发件人
password = input('请输入授权码:')  #授权码
smtp_server = input('发信服务器:(qq邮箱为smtp.qq.com)')
data_header = input('邮件主题:')
data=input('正文内容:\n')
with open('d:/python/11.25/to_addr.csv','r') as f: #利用csv模块群发邮件
    reader = csv.reader(f)
    for row in reader:
        to_addr=row[1] #已保存的csv文件中第一列(row[0])为姓名,第二列(row[1])为邮箱

        msg = MIMEText(data,'plain','utf-8')
        msg['From'] = Header(username) #标题显示发件人
        msg['To'] = Header(to_addr) #标题显示收件人 ,只接受字符串,可以使用str.jion(list),把列表中的元素转化为字符串
        msg['Subject'] = Header(data_header)  #标题显示邮件主题

        server = smtplib.SMTP_SSL(smtp_server)     #邮箱格式
        server.connect(smtp_server, 465)  #连接邮箱服务器
        server.login(username,password)   #登录邮箱
        try:
            server.sendmail(username,to_addr,msg.as_string())
              #sendmail 三个参数:发件人地址;收件人地址;as_string()是将发送的信息msg变为字符串类型
        except:
            print('发送失败,请重试!')
server.quit() #退出服务器,结束SMTP回话
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值