本文共 2623 字,大约阅读时间需要 8 分钟。
今天要给一堆学弟学妹发送面试通知,因为数量较多,直接写个程序发送算了,然后我选择了Python来写,如果想用Java写的可以考虑去使用Apache Commons Email——
http://mvnrepository.com/artifact/org.apache.commons/commons-email。
废话不说,直接上代码
import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerfrom email.utils import parseaddr,formataddr#转换函数,该函数来自廖雪峰老师的教学内容def format_addr(s): name,addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr))from_addr = "xxxxxxxxxx@qq.com"password = "xxxxxxxxxxxxxx"smtp_server = "smtp.qq.com"try: txt = open(r"baoming.txt","r",-1,"utf-8") server = smtplib.SMTP(smtp_server, 587) # 记得加密。。。一开始发送失败,因为腾讯的smtp服务需要加密 server.starttls() server.set_debuglevel(1) server.login(from_addr, password) line = txt.readline() #去掉换行符 line = line.strip("\n") n = 1 while line: name = line line = txt.readline() line = line.strip("\n") email = line to_addr = email print(name,email) #这里是为了分批 if n <= 9: if n%2==1: mainText = "%s同学你好,我是技术交流协会的工作人员,请于21日晚7点前到软件楼321教室签到准备面试,收到请回复,特殊情况请另行说明" % name else: mainText = "%s同学你好,我是技术交流协会的工作人员,请于21日晚7点前到软件楼323教室签到准备面试,收到请回复,特殊情况请另行说明" % name elif n>9 and n<=18: if n % 2 == 1: mainText = "%s同学你好,我是技术交流协会的工作人员,请于21日晚8点前到软件楼321教室签到准备面试,收到请回复,特殊情况请另行说明" % name else: mainText = "%s同学你好,我是技术交流协会的工作人员,请于21日晚8点前到软件楼323教室签到准备面试,收到请回复,特殊情况请另行说明" % name elif n>18 and n<=27: if n % 2 == 1: mainText = "%s同学你好,我是技术交流协会的工作人员,请于22日晚7点前到软件楼321教室签到准备面试,收到请回复,特殊情况请另行说明" % name else: mainText = "%s同学你好,我是技术交流协会的工作人员,请于22日晚7点前到软件楼323教室签到准备面试,收到请回复,特殊情况请另行说明" % name else: if n % 2 == 1: mainText = "%s同学你好,我是技术交流协会的工作人员,请于22日晚8点前到软件楼321教室签到准备面试,收到请回复,特殊情况请另行说明" % name else: mainText = "%s同学你好,我是技术交流协会的工作人员,请于22日晚8点前到软件楼323教室签到准备面试,收到请回复,特殊情况请另行说明" % name to_addr = email print(mainText) try: msg = MIMEText(mainText, "plain", "utf-8") #设置收、发信人与主题 msg["From"] = format_addr("技协工作人员 <%s>" % from_addr) msg["To"] = "%s"% name msg["Subject"] = Header("面试通知", "utf-8").encode() server.sendmail(from_addr, [to_addr], msg.as_string()) except: print(name,"发送失败") line = txt.readline() line = line.strip("\n") n = n+1except: print("失败")finally: server.quit() txt.close()
数据文件格式
小明xxxxxxxx@xx.com............即一行名字一行邮箱地址。
辣鸡代码,大家随便看看就好了。。。
转载地址:http://engmi.baihongyu.com/