diff --git a/api/core/tools/provider/builtin/email/tools/send.py b/api/core/tools/provider/builtin/email/tools/send.py index bf9e63e1ef..2012d8b115 100644 --- a/api/core/tools/provider/builtin/email/tools/send.py +++ b/api/core/tools/provider/builtin/email/tools/send.py @@ -20,33 +20,33 @@ class SendEmailToolParameters(BaseModel): encrypt_method: str -def send_mail(parmas: SendEmailToolParameters): +def send_mail(params: SendEmailToolParameters): timeout = 60 msg = MIMEMultipart("alternative") - msg["From"] = parmas.email_account - msg["To"] = parmas.sender_to - msg["Subject"] = parmas.subject - msg.attach(MIMEText(parmas.email_content, "plain")) - msg.attach(MIMEText(parmas.email_content, "html")) + msg["From"] = params.email_account + msg["To"] = params.sender_to + msg["Subject"] = params.subject + msg.attach(MIMEText(params.email_content, "plain")) + msg.attach(MIMEText(params.email_content, "html")) ctx = ssl.create_default_context() - if parmas.encrypt_method.upper() == "SSL": + if params.encrypt_method.upper() == "SSL": try: - with smtplib.SMTP_SSL(parmas.smtp_server, parmas.smtp_port, context=ctx, timeout=timeout) as server: - server.login(parmas.email_account, parmas.email_password) - server.sendmail(parmas.email_account, parmas.sender_to, msg.as_string()) + with smtplib.SMTP_SSL(params.smtp_server, params.smtp_port, context=ctx, timeout=timeout) as server: + server.login(params.email_account, params.email_password) + server.sendmail(params.email_account, params.sender_to, msg.as_string()) return True except Exception as e: logging.exception("send email failed") return False else: # NONE or TLS try: - with smtplib.SMTP(parmas.smtp_server, parmas.smtp_port, timeout=timeout) as server: - if parmas.encrypt_method.upper() == "TLS": + with smtplib.SMTP(params.smtp_server, params.smtp_port, timeout=timeout) as server: + if params.encrypt_method.upper() == "TLS": server.starttls(context=ctx) - server.login(parmas.email_account, parmas.email_password) - server.sendmail(parmas.email_account, parmas.sender_to, msg.as_string()) + server.login(params.email_account, params.email_password) + server.sendmail(params.email_account, params.sender_to, msg.as_string()) return True except Exception as e: logging.exception("send email failed")