批量发送定制邮件内容

news2024/9/27 9:22:47

需要给以下学员发送作业反馈邮件(文件名为:学员作业反馈.xlsx) 

学员序号学员姓名学员邮箱作业反馈
20090001海龙3177261496@qq.com1题:少了一个a
20090002真达3177261496@qq.com第2题:少了一个b
20090003张三3177261496@qq.com第3题:少了一个c
20090004赵四3177261496@qq.com4题:少了一个d
20090005王五3177261496@qq.com5题:少了一个e
20090006海龙3177261496@qq.com6题:少了一个f
20090007真达3177261496@qq.com7题:少了一个g
20090008海龙3177261496@qq.com8题:少了一个h
20090009真达3177261496@qq.com9题:少了一个i
20090010海龙3177261496@qq.com10题:少了一个j

实现代码如下:

# 导入发送邮件的工具包
import smtplib  
# 导入邮件内容的工具包
from email.mime.multipart import MIMEMultipart    
from email.mime.text import MIMEText 
# 导入读取Excel的工具包
import pandas as pd


# 设置登录的用户名和密码
sender = '172***6917@qq.com'
password = 'wrdnb******vcjdi'

# 设置发件人和收件人邮箱
receiver = '172***6917@qq.com'


# 读取收件人邮箱和邮件内容
df = pd.read_excel('./学员作业反馈.xlsx')
for i in range(len(df)):
    student_name = df['学员姓名'][i]
    student_email = df['学员邮箱'][i]
    feed_back = df['作业反馈'][i]
    print(student_name,student_email,feed_back)
    

    # 定义邮件主题、发件人、收件人
    msg = MIMEMultipart('mixed') 
    msg['Subject'] = f'第{i}封邮件,{student_name}同学的作业反馈'
    msg['From'] = '172***6917@qq.com'
    msg['To'] = f'{student_email}'

    #构造html邮件内容,从邮箱复制出来
    html = f"""
    <div>{student_name} 同学:</div>
    <div>你好。你的作业反馈如下:</div>
    <div>{feed_back}</div>
    <div>请查收,谢谢。</div>
    <div>曹鑫CDA</div>
    """
    text_html = MIMEText(html, 'html', 'utf-8')
    msg.attach(text_html) 

    # 发送邮件
    smtp = smtplib.SMTP() 
    smtp.connect('smtp.qq.com',25) 
    smtp.login(sender, password) 
    smtp.sendmail(sender, receiver, msg.as_string()) 
    smtp.quit()

 运行效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1914507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python: 分块读取文本文件

在处理大文件时&#xff0c;逐行或分块读取文件是很常见的需求。下面是几种常见的方法&#xff0c;用于在 Python 中分块读取文本文件&#xff1a; 1、问题背景 如何分块读取一个较大的文本文件&#xff0c;并提取出特定的信息&#xff1f; 问题描述: fopen(blank.txt,r) quot…

昇思25天学习打卡营第17天|应用实践之SSD目标检测

基本介绍 今天要学习的内容是计算机视觉领域中的目标检测任务。与图像分类相比&#xff0c;目标检测更难&#xff0c;因为目标检测不仅要检测出图片中的物体的类别&#xff0c;还要检测出该物体的位置。现主流的目标检测算法大致可分为两种&#xff0c;一种是基于CNN的&#xf…

Type-C/DP1.4到HDMI2.0替代龙讯LT8711HE,集睿智远CS5262

NCS8622是一款高性能低功耗的Type-C/DP1.4到HDMI2.0转换器&#xff0c;设计为连接USB Type-C源或DP1.4源到HDMI2.0。 NCS8622集成了符合DP1.4标准的接收器&#xff0c;以及符合HDMI2.0标准的发射器。此外&#xff0c;CC控制器用于将CC通信到实现DP Alt模式。DP接收器集成了HDCP…

软考五个高级科目怎么选?如何一口气拿下证书!

软考高级包括&#xff1a; 信息系统项目管理师、系统分析师、系统架构设计师、网络规划设计师、系统规划与管理师等五个考试。 一、各科特点&#xff1a; 信息系统项目管理师 特点&#xff1a;主要从事信息系统项目管理方面的工作&#xff0c;要求掌握项目管理的知识体系和实…

类与对象-继承-构造和析构顺序

构造和析构顺序 #include<iostream> using namespace std;class Base { public:Base(){cout << "Base构造函数" << endl;}~Base(){cout << "Base析构函数" << endl;} };class Son :public Base { public:Son(){cout <&l…

C#开发:下载node.js指定版本

一、打开官网 二、找到指定版本 三、选择程序包msi下载 四、验证下载是否成功 cmd输入&#xff1a; node -v npm -v

从零开始学量化~Ptrade使用教程(四)——股票普通买卖与回购业务

股票普通买卖 股票买入 通过选择委托方向实现股票的买入与卖出&#xff0c;可根据输入的价格自动查询可买数量。 用鼠标点击【买入】&#xff0c;如图所示&#xff1a; 输入股票代码并选中后&#xff0c;选择委托类型&#xff0c;若为限价类型&#xff0c;输入委托价格&#xf…

如何用Vue3和Plotly.js绘制交互式瀑布图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Plotly.js 在 Vue 中创建瀑布图 应用场景 瀑布图广泛用于可视化财务报表和展示增量变化&#xff0c;例如利润表、现金流量表和收入分析。它们通过将正值和负值堆叠在垂直轴上&#xff0c;清晰地展示每个…

宿州降本 提质 增效 数据采集监控平台提高生产自动化水平

在当今竞争激烈的市场环境中&#xff0c;企业追求降本、提质、增效已成为发展的关键。而我们的[数据采集监控平台名称]数据采集监控平台&#xff0c;正是助力企业实现这一目标的强大工具。 LP-SCADA数据采集监控平台是工业4.0中主要的数据采集系统之一&#xff0c;主要针对产线…

告别堆积,迎接清新:回收小程序,打造无废生活新选择

在快节奏的现代生活中&#xff0c;物质的丰富与便利似乎成为了我们日常的一部分&#xff0c;但随之而来的&#xff0c;是日益增长的废弃物堆积问题。街道边、社区里&#xff0c;甚至是我们的家中&#xff0c;废弃物品仿佛无孔不入&#xff0c;逐渐侵蚀着我们的生活空间与环境质…

漏洞挖掘思路分享 | 首次尝试cnvd捡洞

因为那天项目刚忙完闲来无事&#xff0c;尝试捡个cnvd洞&#xff0c;cnvd录取要五千万资产&#xff0c;自己又懒得找毕竟捡洞嘛&#xff0c;索性去cnvd上进行搜集 直接开搜弱口令&#xff0c;因为我比较喜欢有登录框的站&#xff0c;这样搜索出来的资产可能就更容易进行挖掘 随…

CSS动画和JavaScript动画,大扫盲,有代码示例。

小伙伴们都知道&#xff0c;css和JavaScript都可以做动画&#xff0c;但是大都不知道二者的区分&#xff0c;该如何选择&#xff0c;贝格前端工场借助本文为大家分享一下。 一、css动画和JavaScript动画的区分 CSS动画和JavaScript动画都可以用于在网页上创建动态效果&#x…

微信小程序style动态绑定Object不生效处理方法

渲染的时候style变成了[Object Object] 解决方法: 给Object外面加一个[] <image :style"[imgStyle]" :src"url"></image>

人工智能建立在对象存储上的真正原因

tl;dr: 在这篇文章中&#xff0c;我们将探讨 AI 工作负载依赖高性能对象存储的四个技术原因。 1. 对非结构化数据没有限制 在当前的机器学习范式中&#xff0c;性能和能力与计算成比例&#xff0c;计算实际上是数据集大小和模型大小的代理&#xff08;神经语言模型的缩放定律&a…

嘎嘎详细的三维变换详细讲解,包括视图变换、投影变换等,超级通俗易懂!

前置二维空间的各种变换笔记&#xff1a;二维变换 三维空间中的齐次坐标 从二维变换开始引申&#xff0c;可得到三维中的一个点的表达方式为 ( x , y , z , 1 ) ⊤ (\mathbf{x}, \mathbf{y}, \mathbf{z}, 1)^{\top} (x,y,z,1)⊤&#xff0c;也就是w1&#xff0c;而三维的向量…

插入排序算法(C语言版)

直接插入排序 插入排序&#xff08;insert sort&#xff09;是一种简单的排序算法&#xff0c;它的工作原理与手动整理一副牌的过程非常相似。 具体来说&#xff0c;我们在未排序区间选择一个基准元素&#xff0c;将该元素与其左侧已排序区间的元素逐一比较大小&#xff0c;并…

了解劳动准备差距:人力资源专业人员的战略

劳动准备差距是一个紧迫的问题&#xff0c;在全球人事部门回应&#xff0c;谈论未开发的潜力和错过的机会。想象一下&#xff0c;人才和需求之间的悬崖之间有一座桥&#xff0c;这促使雇主思考&#xff1a;我们是否为员工提供了足够的设备来应对未来的考验&#xff1f; 这种不…

认识R155法规(UN Regulation No. 155)-MUNIK

背景 Background 随着汽车新四化&#xff08;电动化、智能化、网联化、共享化&#xff09;政策的提出&#xff0c;大数据和人工智能等技术的发展&#xff0c;以及软件驱动汽车、舱驾一体、行泊一体等新型架构概念的提出&#xff0c;车内外智能传感器采集的大量数据&#xff08…

桌面悬浮备忘录哪个好?能在桌面悬浮使用的备忘app

备忘录是我们日常工作和生活中的常用工具&#xff0c;它帮助我们记录重要信息&#xff0c;提醒我们完成各项任务。而将备忘录悬浮在桌面上使用&#xff0c;无疑能进一步提高我们的工作效率。想象一下&#xff0c;在处理复杂的工作任务时&#xff0c;你能够随时在桌面上查看提醒…

求函数最小值-torch版

目标&#xff1a;torch实现下面链接中的梯度下降法 先计算 的导函数 &#xff0c;然后计算导函数 在处的梯度 (导数) 让 沿着 梯度的负方向移动&#xff0c; 自变量 的更新过程如下 torch代码实现如下 import torchx torch.tensor([7.5],requires_gradTrue) # print(x.gr…