| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- import logging
 
- import time
 
- import click
 
- from celery import shared_task
 
- from flask import render_template
 
- from configs import dify_config
 
- from extensions.ext_mail import mail
 
- @shared_task(queue="mail")
 
- def send_invite_member_mail_task(language: str, to: str, token: str, inviter_name: str, workspace_name: str):
 
-     """
 
-     Async Send invite member mail
 
-     :param language
 
-     :param to
 
-     :param token
 
-     :param inviter_name
 
-     :param workspace_name
 
-     Usage: send_invite_member_mail_task.delay(language, to, token, inviter_name, workspace_name)
 
-     """
 
-     if not mail.is_inited():
 
-         return
 
-     logging.info(
 
-         click.style("Start send invite member mail to {} in workspace {}".format(to, workspace_name), fg="green")
 
-     )
 
-     start_at = time.perf_counter()
 
-     # send invite member mail using different languages
 
-     try:
 
-         url = f"{dify_config.CONSOLE_WEB_URL}/activate?token={token}"
 
-         if language == "zh-Hans":
 
-             html_content = render_template(
 
-                 "invite_member_mail_template_zh-CN.html",
 
-                 to=to,
 
-                 inviter_name=inviter_name,
 
-                 workspace_name=workspace_name,
 
-                 url=url,
 
-             )
 
-             mail.send(to=to, subject="立即加入 Dify 工作空间", html=html_content)
 
-         else:
 
-             html_content = render_template(
 
-                 "invite_member_mail_template_en-US.html",
 
-                 to=to,
 
-                 inviter_name=inviter_name,
 
-                 workspace_name=workspace_name,
 
-                 url=url,
 
-             )
 
-             mail.send(to=to, subject="Join Dify Workspace Now", html=html_content)
 
-         end_at = time.perf_counter()
 
-         logging.info(
 
-             click.style(
 
-                 "Send invite member mail to {} succeeded: latency: {}".format(to, end_at - start_at), fg="green"
 
-             )
 
-         )
 
-     except Exception:
 
-         logging.exception("Send invite member mail to {} failed".format(to))
 
 
  |