之前一个朋友说让我帮他写一个自动发送的邮件发动程序,其实大家了解的,这就是垃圾邮件发送器!
哎!看来我有要做坏事了,在练习的过程中发现如果我们使用匿名发送直接会被拦截,当做垃圾邮件直接屏蔽掉,并且不会出现在邮件的垃圾箱中,必须检测并且自动提取才能看到邮件,这个邮件只能记录发件人的ip地址!
后来想想,还是用实名的吧,于是形成了,下面的程序
#coding:utf-8 import random import smtplib from email.mime.text import MIMEText import time mail_host='smtp.163.com' mail_user='***********[email protected]' mail_pwd='************' def send_mail(mailto): print 'Setting MIMEText' CT=open('content.txt','r') #文件读取,发送内容 content=CT.read().decode('utf-8')#编码设定,用来发送中文 msg=MIMEText(content.encode('utf8'))#定义发送能容 CT.close()#关闭文件 get_sub=open('title.txt','r')#读取邮件标题 msg['From']=mail_user msg['SUbject']=u'%s'% get_sub.read().decode('utf-8') get_sub.close() msg['To']=",".join(mailto) try: print 'connectting',mail_host s=smtplib.SMTP_SSL(mail_host,465) print 'Login to mail_host' s.login(mail_user,mail_pwd) print 'Send mail' s.sendmail(mail_user,mailto,msg.as_string()) print 'close the connection between the mail server' s.close() except Exception as e: print "Exceptioin ",e def make_mail(): #产生随机数邮箱, nummail=random.randint(100000000,3999999999) nummail=str(nummail) return nummail+"@qq.com" def time_mail(): #设定为十秒发送一封邮件 time.sleep(10) if __name__=="__main__": #持续调用,知道关闭这个文件,才会种植发送 while(1): qqmail=make_mail() send_mail(qqmail) time_mail()在其中我们能看到一随机数产生器,用来产生qq邮箱,同样你也可以直接定义到某个邮箱,用来检测你是否收到邮件,或者邮件是否发送成功,
之前用自己邮箱测试了,如果发送5封同样的邮件,qq邮箱一定会将当前的邮箱直接屏蔽掉,
发送时间设置为10s一次,
其中的两个文本文件一个设置你要发送的标题,另一个发送内容,本来想做成图像界面的,但是我感觉这样的功能就能满足使用了