Ошибка при аутентификации
Привет! Я написал код для отправки сообщений на почту. Используется SMTP от Google. Когда пытаюсь войти в аккаунт происходит ошибка. Если что я новичок, поэтому прошу не судить строго. Вот код:
import smtplib
import getpass
import colorama
import argparse
# Initialization colorama module
colorama.init()
# Colors
green = colorama.Fore.GREEN
red = colorama.Fore.RED
white = colorama.Style.RESET_ALL
class sendMail():
sender = ''
passwd = ''
sendto = ''
subject = ''
text = ''
def __init__(self, sender, passwd, sendto, subject, text):
self.sender = sender
self.passwd = passwd
self.sendto = sendto
self.subject = subject
self.text = text
def send(self):
print(green + '[+] Connecting to SMTP Server...')
smtp_server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
print(green + '[+] Logging in...')
smtp_server.login(self.sender, self.passwd)
message = 'Subject: {0}\n\n{1}'.format(self.subject, self.text)
print(green + '[+] Sending message...')
smtp_server.sendmail(self.sender, self.sendto, message)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--from', dest='sender', help='Sender')
parser.add_argument('-st', '--sendto', dest='sendto', help='Email to send')
parser.add_argument('-s', '--subject', dest='subject', help='Subject for mail')
parser.add_argument('-t', '--text', dest='text', help='Text for mail')
args = parser.parse_args()
if not args.sender and args.sendto and args.subject and args.text:
parser.error(red + '[-] Please specify all arguments right, use --help for more info.')
else:
passwd = getpass.getpass(prompt='[Gmail] Enter password: ', stream=None)
send_mail = sendMail(args.sender, passwd, args.sendto, args.subject, args.text)
send_mail.send()
if __name__ == '__main__':
main()