之前一个朋友说让我帮他写一个自动发送的邮件发动程序,其实大家了解的,这就是垃圾邮件发送器!
哎!看来我有要做坏事了,在练习的过程中发现如果我们使用匿名发送直接会被拦截,当做垃圾邮件直接屏蔽掉,并且不会出现在邮件的垃圾箱中,必须检测并且自动提取才能看到邮件,这个邮件只能记录发件人的ip地址!
后来想想,还是用实名的吧,于是形成了,下面的程序
#coding:utf-8
import random
import smtplib
from email.mime.text import MIMEText
import time
mail_host='smtp.163.com'
mail_user='***********1@163.com'
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一次,
其中的两个文本文件一个设置你要发送的标题,另一个发送内容,本来想做成图像界面的,但是我感觉这样的功能就能满足使用了