Python 群发邮件代码demo

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

# 发信方的信息:发信邮箱,QQ邮箱授权码
# 方便起见,你也可以直接赋值
#from_addr = input('请输入登录邮箱:')
#password = input('请输入邮箱授权码:')
from_addr = '121942198@qq.com'
password = ''#QQ邮箱授权码,非QQ邮箱就写邮箱密码

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

# 邮件内容
text='''
亲爱的同学,你好!
我是DU老师,能遇见你很开心。
希望学习python对你不是一件困难的事情!

人生苦短,我用Python!
'''

# 待写入csv文件的收件人数据:人名+邮箱
# 记得替换成你要发送的名字和邮箱
data = [['邮箱 ', '76123708@qq.com'],['邮箱', '489325005@qq.com']]

# 写入收件人数据
with open('to_addrs.csv', 'a', 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)
    num = 0
    for row in reader: 
        num +=1
        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(host='smtp.qq.com')
        server.connect('smtp.qq.com',465)
        server.login(from_addr, password)
        #server.sendmail(from_addr, to_addrs, msg.as_string())
        #异常处理代码
        try:
            server.sendmail(from_addr, to_addrs, msg.as_string())
            print(str(num)+'.恭喜,发送成功')
        except:
            print(str(num)+'.发送失败,请重试')



# 关闭服务器
server.quit()
 

 

发表评论

邮箱地址不会被公开。 必填项已用*标注