❝最近碰到个脑子可能不大正常的人,整天给一堆人群发乱七八糟的邮件,各种喷人、编造谣言和绯闻,看的很是心烦。
❞
一个上午就发了这么多
都是编造的我老家各种老师、官员的绯闻
于是乎我找了段python代码,给她自动发邮件轰炸一下。
代码很简单,如下所示:
#coding: utf-8 import time import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.header import Header smtpserver = 'smtp.163.com' username = 'username@163.com' password = 'password' sender = 'username@163.com' receiver = ['username@qq.com'] # receiver = ['username1@qq.com', 'username2@163.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['To'] = 'username1 <username1@163.com>; username2 <username2@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
作者简介:godweiyang,知乎同名,华东师范大学计算机本硕,字节跳动算法工程师,研究方向句法分析、机器翻译、模型压缩。