Python Flask API - smtplib выдает ошибку после развертывания

Я использую API, который отлично работает на моем локальном компьютере, но не при его развертывании. У меня есть доступ к API, но я не могу запуститьsendmailфункции больше. Это код:

def is_valid_email(email):
    if len(email) > 7:
        return bool(
            re.match("^.+@(\[?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$", email)
        )


def sendmail(name, email):

    msg = EmailMessage()
    msg["Subject"] = "Confirmation email"
    msg["From"] = "mymail.com"
    msg["To"] = email

    msg.set_content(
        f"Hallo {name},\n\nDanke für deine Email. Ich werde mich zeitnah um dein Anliegen kümmern.\n\nViele Grüße\nxxx"
    )

    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as smtp:
        smtp.login("mymail.com", "password")
        smtp.send_message(msg)


@api.route("/makerequest")
class MakeRequest(Resource):
    def post(self):
        name = request.get_json()["name"]
        email = request.get_json()["email"]
        text = request.get_json()["text"]

        if is_valid_email(email) is False:
            return {"message": "Invalid Email"}, 401

        sendmail(name, email)

        return {"message": "mail sent successfully"}, 200

Я получаю вот такую ​​ошибку: flask | smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbv\n5.7.14

В настоящее время я не использую брандмауэр, и разрешены менее безопасные приложения. Указанные имя пользователя и пароль верны, они работают на моей локальной машине. В чем может быть причина того, что он не работает на моем сервере и как это исправить?

0 ответов

Другие вопросы по тегам