【学习】用python 群发邮件

实现功能:
csv模块打开存储有收件人邮箱的.csv文件
读取.csv文件中收件人地址
smtplib模块连接邮箱服务器
群发邮件

# -*- coding: utf-8 -*-
"""
Created on Sun Feb  9 23:52:35 2020

@author: pc
"""

import smtplib
import csv
from email.mime.text import MIMEText #引入email包中构建文本内容的方法
from email.header import Header

# 发件邮箱地址
from_addr="[email protected]"
# 发件邮箱登录密码
password="xxxxx"
#收件人邮箱列表
to_addr=["[email protected]", "[email protected]"]
#企业邮箱smtp服务器
smtp_server='smtp.buaa.edu.cn'

# 邮件内容
text='''江南好,风景旧曾谙,日出江花红胜火,春来江水绿如蓝,能不忆江南?'''

#待写入csv文件的收件人数据:人名+邮箱
data=[['xxx1', '[email protected]'], ['xxx2', '[email protected]']]
# 以“写”的方式打开to_addr.csv文件,前提确保该文件存在且在当前python文件在同一目录下
with open('to_addrs.csv', 'w', newline='') as f:
    writer=csv.writer(f)
    for row in data:
        writer.writerow(row)

# 读取收件人数据,并启动写信和发信流程
with open ('to_addrs.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()
        % 465为端口号,需上网查询
        server.connect(smtp_server,465)
        server.login(from_addr, password)
        server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()
发布了21 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43196262/article/details/104256407