main.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env python
  2. # -*- encoding: utf-8 -*-
  3. '''
  4. @Contact : liuyuqi.gov@msn.cn
  5. @Time : 2023/01/30 09:47:22
  6. @License : Copyright © 2017-2022 liuyuqi. All Rights Reserved.
  7. @Desc : enter point
  8. '''
  9. from receive_email.smtpx import CrazySrvHandler
  10. from receive_email.web import web_start
  11. from aiosmtpd.controller import Controller
  12. from aiosmtpd.smtp import SMTP
  13. import configparser
  14. if __name__ == "__main__":
  15. cf = configparser.ConfigParser()
  16. cf.read("conf/cfg.ini")
  17. smtpd_host = cf.get("smtpd", "host")
  18. smtpd_port = cf.getint("smtpd", "port")
  19. rest_host = smtpd_host
  20. rest_port = cf.getint("rest", "port")
  21. handler = CrazySrvHandler()
  22. # 邮件控制器
  23. controller = Controller(handler, hostname=smtpd_host, port=smtpd_port)
  24. controller.factory = lambda: SMTP(handler, enable_SMTPUTF8=True)
  25. try:
  26. controller.start()
  27. # 启动 flask web 接口,14000 端口
  28. web_start(rest_host, rest_port)
  29. except KeyboardInterrupt:
  30. print("Shutting down")
  31. finally:
  32. controller.stop()