Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask API-smtplib在部署后引发错误_Python_Flask_Smtp_Smtplib_Flask Restx - Fatal编程技术网

Python Flask API-smtplib在部署后引发错误

Python Flask API-smtplib在部署后引发错误,python,flask,smtp,smtplib,flask-restx,Python,Flask,Smtp,Smtplib,Flask Restx,我使用的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 s

我使用的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允许在您的电子邮件设置中使用不太安全的应用程序可能您部署的环境/计算机的ip已被google smtp服务阻止。我的建议是使用将电子邮件发送到
sendgrid.com
已允许使用不太安全的应用程序。我将选择mailgun…谢谢大家