最近碰到个脑子可能不大正常的人,整天给一堆人群发乱七八糟的邮件,各种喷人、编造谣言和绯闻,看的很是心烦。
于是乎我找了段python代码,给她自动发邮件轰炸一下。
代码很简单,如下所示:
import timeimport smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.header import Headersmtpserver = 'smtp.163.com' username = 'username@163.com' password = 'password' sender = 'username@163.com' receiver = ['username@qq.com' ] msg = MIMEMultipart('mixed' ) subject = '发送主题' subject = Header(subject, 'utf-8' ).encode() msg['Subject' ] = subject msg['From' ] = 'username <username@163.com>' msg['To' ] = 'username <username@163.com>' msg['Date' ] = '2021-1-26' text = "邮件正文" text_plain = MIMEText(text, 'plain' , 'utf-8' ) msg.attach(text_plain) total = 1000 send = 0 error = 0 while error < 10 and send < total: try : smtp = smtplib.SMTP() smtp.connect('smtp.163.com' ) smtp.login(username, password) while send < total: smtp.sendmail(sender, receiver, msg.as_string()) print ("第{}封邮件发送成功!" .format (send+1 )) send += 1 error = 0 time.sleep(60 ) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit() except : print ("发生错误,重新发送" ) error += 1 continue
首先你需要开启你的邮箱的POP3/SMTP 和IMAP/SMTP 服务,一般在邮箱设置的账户里,找找都能找到,注意开启后会获得一段授权码 ,牢记它!之后的操作用它来替换你原本的邮箱密码。
上面代码详细含义如下:
smtpserver替换成你自己邮箱的服务器地址,百度可以搜到。
username替换成你的邮箱账号,也就是登陆的时候的账号名。
password替换成你的授权码 ,而不是原本的邮箱密码!
sender是你的发件人,替换成你的邮箱账号。
receiver是你的收件人,注释部分可以发送给多个人。注意很多邮箱有最大收件人个数的限制 。
subject是你的邮件主题。
msg['From']是发邮件时显示的发件人信息。
msg['To']是发邮件时显示的收件人信息,注释部分也可以显示多个人信息,用分号隔开。
msg['Date']是发邮件日期。
text是邮件正文,这里我省略了图片、附件等发送方法,可以参考文末链接。
total是我设置的邮件轰炸次数,这里发送1000次,如果你是正常群发目的,设置成1次就行了。
error是允许报错次数,如果连续超过10次依然发送失败,那么就停止发送了。
注意我这里设置了time.sleep(60),也就是60秒发送一次。这个时间不能太短,不然发送过于频繁,会被判断成垃圾邮件!
如果运行提示缺少库,那就用pip install xxx安装一下就行了。
像大家平时如果有群发邮件的正当需求,都可以用这个代码试试。不建议用它来轰炸其他人哦,这是不好的行为。
参考文献: https://www.cnblogs.com/yufeihlf/p/5726619.html