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

我不使用防火墙currentl,并且允许使用不太安全的应用程序。 提供的用户名密码是正确的,它们可以在我的本地计算机上使用。不能在我的服务器上运行的原因可能是什么?如何解决该问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)