Я создал сценарий python, который отправляет электронные письма, используя python, и развернул его на pythonanywhere.
Вот код:
import smtplib
import csv
import time
from string import Template
email_address = 'youremail@gmail.com'
email_password = 'password'
def send_emails(email_address,email_password):
while True:
with open('quotesource.txt','r') as f:
quotes = f.read()
daily_quote_num= 0
for quote in quotes.splitlines():
view_quote = quote
# opening user database
with open('database.csv', 'r') as csv_database:
database_reader = csv.reader(csv_database)
# looping through user database
for database_info in database_reader:
user_name = database_info[0]
user_email = database_info[1]
# sending email
t = Template('subject:Daily Quotes $num \n\n $quoteline\n \n Have a nice day $name !')
msg = t.substitute(num=daily_quote_num,quoteline= view_quote,name=user_name)
try:
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.login(email_address, email_password)
smtp.sendmail(from_addr=email_address,to_addrs=user_email,msg=msg.encode('utf-8'))
smtp.quit()
except Exception as err:
raise(err)
daily_quote_num += 1
time.sleep(86400)
print(send_emails(email_address,email_password))
Но когда я запускаю свой код ( способ, которым я использую python 3) Я получаю эту ошибку:
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbv\n5.7.14 KAMZ41q6khk64CjUNQU3xj
Bf4hohSdLujNyleDpsFQuzmwNAkIot0BkfdcE9DyK1gFpTh\n5.7.14 H-XuJMMPxDQnGiXrF0uRO4Z46iK1suCIM9hC5VUU5i5Rgdm09Wf6gnVloK_Rowff>\n5.7.14 Please log in via
your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 g136sm23063683qke.82 - gsmtp')
Я включил функцию менее безопасного приложения, а также IMAP в моей учетной записи gmail, и код отлично работает на моем локальном компьютере но получает эту ошибку при работе на python где угодно