这学期做助教,需要把每个学生的成绩发送给个人。于是写了个小程序。
成绩单是一个excel表格,每一行是一个同学的信息,每行第一列是学号,第二列是姓名,之后是每题的成绩,和总成绩。
学号加学校邮箱后缀即是每个人的邮箱地址。
代码如下:(ps: 163邮箱部分代码来自网络)
import xlrd
import smtplib
from email.mime.text import MIMEText

workbook = xlrd.open_workbook('D:\\TA\\midterm.xls')
#print (workbook.sheet_names())
booksheet = workbook.sheet_by_index(0)
nrows=booksheet.nrows
ncols=booksheet.ncols
print (nrows)
print (ncols)
title=booksheet.row_values(0)
title.append("中位数")
title.append("平均成绩")
title=str(title)
num=0
for x in range(nrows-2):
#for x in range(10):
    chengji=int(booksheet.cell_value(x+1,ncols-2))
    if chengji==0:
        continue
    num=num+1
    #xuehao=booksheet.cell_value(x+1,0)    #收件箱的地址
    xuehao=booksheet.cell_value(1,0)    #收件箱的地址
    xuehao=int(xuehao)
    xuehao=str(xuehao)
    data=booksheet.row_values(x+1)
    data[0]=int(data[0])
    print(data[1])
    for y in range (ncols-2):
        data[y+2]=int(data[y+2])
    data.append('84')
    data.append('80.25')
    data=str(data)
#print (data)
    data=title+data
    #print(data)
    #print(type(xuehao))
###########send email########
    mailto_list=[xuehao+'@pku.edu.cn']           #收件人(列表) 
    mail_host="smtp.163.com"            #使用的邮箱的smtp服务器地址,这里是163的smtp地址 
    mail_user="********@163.com"                           #用户名 
    mail_pass="*******"                             #密码 
    mail_postfix="163.com"                     #邮箱的后缀,网易就是163.com 
    def send_mail(to_list,sub,content): 
        me="ljq"+"<"+mail_user+"@"+mail_postfix+">" 
        msg = MIMEText(content,_subtype='plain') 
        msg['Subject'] = sub 
        msg['From'] = me 
        msg['To'] = ";".join(to_list)                #将收件人列表以‘;’分隔 
        try: 
            server = smtplib.SMTP() 
            server.connect(mail_host)                            #连接服务器 
            server.login(mail_user,mail_pass)               #登录操作 
            server.sendmail(me, to_list, msg.as_string()) 
            server.close() 
            return True 
        except : 
            print ('false')
            return False 
    for i in range(1):                             #发送1封,上面的列表是几个人,这个就填几 
        if send_mail(mailto_list,"期中成绩",data):  #邮件主题和邮件内容 
            #这是最好写点中文,如果随便写,可能会被网易当做垃圾邮件退信 
            print ("done!") 
        else: 
            print ("failed!")
print(num)

python 163邮箱发送邮件相关推荐

  1. python 发送邮件 163_python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  2. thinkPHP3.2.3使用163邮箱发送邮件

    thinkPHP3.2.3使用163邮箱发送邮件 (一)  前言 第一次写博客,主要就是为了分享一下自己敲代码的一些心得并整理一下自己的知识以便以后查看. 我原来一直在找通过thinkPHP使用QQ邮 ...

  3. java模拟网易邮箱登录_java实现163邮箱发送邮件到qq邮箱成功案例

    下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现在终于成功以163邮箱发送邮件到qq邮箱,以下是相 ...

  4. 利用163 邮箱发送邮件

    1.利用163邮箱发送邮件 # _*_ coding:UTF-8 import time import smtplib from email.mime.text import MIMEText fro ...

  5. java 给qq邮箱发邮件_java实现163邮箱发送邮件到qq邮箱成功案例

    这篇文章主要为大家分享了java实现163邮箱发送邮件到qq邮箱成功案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 下载和上传附件.发送短信和发送邮件,都算是程序中 ...

  6. 163邮箱java通用下载_java_java实现163邮箱发送邮件到qq邮箱成功案例,下载和上传附件、发送短信和 - phpStudy...

    java实现163邮箱发送邮件到qq邮箱成功案例 下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现 ...

  7. Hutool - 结合163邮箱发送邮件

    使用Hutool结合163邮箱发送邮件 进入163设置邮箱POP3/SMTP/IMAP 引入Hutool依赖 地址:https://www.hutool.cn/docs/#/extra/%E9%82% ...

  8. QT5 使用163邮箱发送邮件

    最近在用QT写一点东西,想发送个邮件.查了一些资料,发现没有官方的库,好多前辈都是推荐使用sendemailapi,但是这个网站现在已经不提供下载了,在网上也没有找到可以免费下载的这个库的地方. 借鉴 ...

  9. php怎么做一个163邮箱发送,laravel5.4利用163邮箱发送邮件的步骤详解

    前言 其实发送邮箱其实不难,不如说挺简单的,本文将详细介绍关于laravel5.4用163邮箱发送邮件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.首先还是现在16 ...

最新文章

  1. mysql8.0.12密码_mysql8.0.12如何重置root密码
  2. JavaScript正则替换去除字符串中特殊字符
  3. python123第五周作业答案_马哥2016全新Linux+Python高端运维班第五周作业
  4. java hs err pid_JAVA 奔溃 生成hs_err_pid****的文件,求大神看看
  5. 10099 The Tourist Guide
  6. mysql中的各种函数(日期函数、字符串函数、数学函数...)
  7. 从学校到职场的路有多远
  8. android audio 音量设置分析
  9. APK签名之keytool生成keystore和jarsigner签名apk
  10. 思科模拟器5506防火墙配置_租用电信线路,三地网络互联的配置——Cisco、Hillstone路由配置...
  11. (Demo3D 学习笔记)案例2:飞板传输货物,并按指定货位上架
  12. 简单6步,手把手搭建MinDoc文档库
  13. 《写作是门手艺》读书笔记
  14. 如何快速识别图片中的文字?建议使用者两种方法
  15. 笔记本无线WiFi生成代码
  16. N1盒子单臂路由设置
  17. 判断字符串是否是数字
  18. Visual Studio Enterprise 2015简体中文版(企业版)秘钥
  19. SpringCloud - Spring Cloud Netflix 之 Hystrix熔断器(七)
  20. 融云获亿元B轮融资 重磅发布企业即时通讯解决方案

热门文章

  1. 如何做好数字化运营,打造战略落地的最佳武器?他们这么说|2021全球数字价值峰会...
  2. 字符串_字符串的复制
  3. 读书笔记, Python - python-tricks-buffet-awesome-features
  4. Logisticregression学习
  5. 【C#】求最大公约数
  6. linux操作系统上网本下载,Veket-上网本操作系统
  7. 上网本 linux中文版,veket|veket linux上网本操作系统 v5.30 简体中文正式版 - 飞极下载站...
  8. Android Studio Button 美化
  9. 山大青岛计算机学院郑雯,山东大学自招700余人过线 面试将刷掉20%考生
  10. 分布式服务框架Dubbo/Dubbox入门示例