25 lines
860 B
Python
25 lines
860 B
Python
import threading
|
|
import argparse
|
|
from app import create_app
|
|
from app.utils import start_smtp_server
|
|
|
|
app = create_app()
|
|
|
|
def run_smtp_server(host, port):
|
|
start_smtp_server(host=host, port=port)
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser(description='Email System Server')
|
|
parser.add_argument('--host', default='0.0.0.0', help='Host to bind')
|
|
parser.add_argument('--port', type=int, default=5000, help='Port for web server')
|
|
parser.add_argument('--smtp-port', type=int, default=25, help='Port for SMTP server')
|
|
|
|
args = parser.parse_args()
|
|
|
|
# 在单独的线程中启动 SMTP 服务器
|
|
smtp_thread = threading.Thread(target=run_smtp_server, args=(args.host, args.smtp_port))
|
|
smtp_thread.daemon = True
|
|
smtp_thread.start()
|
|
|
|
# 启动 Flask 应用
|
|
app.run(host=args.host, port=args.port) |