基于E—mail的电子作业管理系统

2013-12-29 00:00:00孙永科王小林
电脑知识与技术 2013年4期

摘要:该文介绍了目前常见电子作业的几种管理方式,比较了他们各自优缺点。在此基础之上提出了一种新的基于电子邮件的作业管理系统,交电子作业时,学生将电子作业已邮件附件的形式发送到指定的邮箱,系统在后台自动对邮件中的附件进行提取和归档。

关键词:邮件;作业;归档

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2013)04-0805-02

A Electronic Homework Management System Based on E-mail

SUN Yong-ke,WANG Xiao-lin

(Southwest Forestry University, kunming 650224,China)

Abstract: This article anainstroduce the management of the electronic homework.After comparison,and present a new homework management system.This system can Extract the attachment file from E-mail and file it in folder correctly in daemon.Student send electronic homework as E-mail attachment to teacher’s course E-mail address when they hand in the homework.

Key words: E-mail; homework; file

随着计算机技术的普及和发展,高校中已经有很多的课程或实验在计算机环境中进行,计算机类课程电子作业的管理变成为任课教师面临的一个问题。目前,大多数教师管理电子作业时主要采取u盘拷贝,ftp上传和E-mail发信方式

使用U盘拷贝作业方式,速度最慢,工作量大,且管理困难。实验课结束时代课教师使用U盘依次插入学生的电脑,逐个拷贝学生的作业到U盘。随着学生人数的增加,教师的工作量也将随之增加,因收作业的效率地下,这种方式目前已处于淘汰阶段。

在一些有条件的实验室,教师架设内部ftp站点用来管理电子作业。实验结束时学生按照教师的要求将电子作业上传到ftp指定的目录中。采用这种方式管理电子作业,教师的工作两小,且效率高。是目前多数学校采用的方式。但是这种方式也存在一下三个缺点:1)作业抄袭无法避免。一些学生直接下载其他同学的电子作业,修改其中的学号和姓名,重新上传到服务器,便成了自己的作业。2)磁盘空间管理困难。为了减少学生操作的复杂度,多数情况下,都采用匿名方式上交作业,经常出现学生会将一些超大的,与实验无关的文件上传的服务器,不仅造成服务器空间的极度浪费,而且上传者无从追查。3)交作业必须在制定的网络环境。由于ftp采用开放式管理,因此ftp上交作业只能在指定的局域网中,离开的网络环境便不能链接ftp,也无法上交作业。

E-mail方式接收作业,学生将电子作业以邮件附件的形式发送到制定的电子邮箱,任课教师登陆邮箱后逐一收取学生的邮件,提取附件,查看学生的作业。采用这种方式,学生之间无法相互查看,可以杜绝一些非授权的抄袭;文件之间发送到指定的邮箱,所以容易的实现磁盘的配额管理;借助邮件系统的日志管理,可以追查非法文件的来源。但是需要教师逐一提取附件,工作量较大。

基于E-mail的作业接收系统,能够自动提取邮件中的附件并根据邮件的主题将附件存放到教师指定的目录。

1 系统设计

系统的工作方式如图1所示,学生将电子作业以邮件附件的形式发送到教师的课程邮箱,邮件服务器根据邮箱名称将邮件转发给指定的教师用户,同时启动附件提取进程将邮件中的附件提取出来,并根据实现定义好的规则,将附件存放到指定的目录。最终学生上交的作业将以文件的形式存放。

2 系统实现

系统使用Exim4作为邮件服务器,使用procMail对邮件进行过滤,使用python开发附件提出程序,完成附件的提取和归档工作。借助于python的函数库,可以容易的提取邮件中的附件,提取附件的核心代码如下:

for par in mailMsg.walk():

if not par.is_multipart():

name = par.get_param("name")

if name:

fname=decode2utf(name)

#对文件进行检查,如果已经存在,则对文件重命名

ffname=checkFile(ATTACHMENTS_DIR,fname)

#获取附件

data = par.get_payload(decode=True)

try:

ffname=ffname.encode('utf-8')

f = open(ffname, 'wb')

f.write(data)

f.close()

except Exception,info:

#提取附件如果出错,则退出程序

sys.exit(91)

3 结束语

本系统能够实现邮件附件的自动提取和归档。如图1所示:教师1有一门课名为计算机基础,该门课的课程邮箱为teacher1+jsj@swfu.edu.cn。学生李四需要上交电子作业20010101002李四.doc时,只需要将其以附件的形式发送到该课程邮,系统便会自动将其中的附件提取出来存放到“学生上交作业/计算机基础/”目录下。

参考文献:

[1] 胡祖辉,施佺.基于socket的E-mail信息平台的研究及在教育管理中的应用[J].现代计算机,2012(11):51-54.

[2] 卞咸杰.论电子邮件归档中的“法规遵从”原则[J].浙江档案,2012(8):18-20.

[3] 马静.企业电子邮件归档问题初探[J].兰台世界,2009 (12):3-4.

[4] 守内安.高效整合归档邮件[J].网管员世界,2011(22):72-73.