You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mail.py 921B

123456789101112131415161718192021222324252627
  1. from flask_restful import (
  2. Resource, # type: ignore
  3. reqparse,
  4. )
  5. from controllers.console.wraps import setup_required
  6. from controllers.inner_api import api
  7. from controllers.inner_api.wraps import enterprise_inner_api_only
  8. from services.enterprise.mail_service import DifyMail, EnterpriseMailService
  9. class EnterpriseMail(Resource):
  10. @setup_required
  11. @enterprise_inner_api_only
  12. def post(self):
  13. parser = reqparse.RequestParser()
  14. parser.add_argument("to", type=str, action="append", required=True)
  15. parser.add_argument("subject", type=str, required=True)
  16. parser.add_argument("body", type=str, required=True)
  17. parser.add_argument("substitutions", type=dict, required=False)
  18. args = parser.parse_args()
  19. EnterpriseMailService.send_mail(DifyMail(**args))
  20. return {"message": "success"}, 200
  21. api.add_resource(EnterpriseMail, "/enterprise/mail")