初始化提交,包含完整的邮件系统代码
This commit is contained in:
30
start_windows.ps1
Normal file
30
start_windows.ps1
Normal file
@@ -0,0 +1,30 @@
|
||||
# 创建必要的目录
|
||||
New-Item -ItemType Directory -Path "logs", "email_data", "db" -Force | Out-Null
|
||||
|
||||
# 检查环境变量文件是否存在,不存在则创建
|
||||
if (-not (Test-Path ".env")) {
|
||||
Write-Host "创建.env文件..."
|
||||
$secretKey = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 32 | ForEach-Object {[char]$_})
|
||||
Set-Content -Path ".env" -Value @"
|
||||
FLASK_ENV=production
|
||||
SECRET_KEY=$secretKey
|
||||
MAIL_DOMAINS=example.com,mail.example.com
|
||||
"@
|
||||
Write-Host ".env文件已创建"
|
||||
}
|
||||
|
||||
# 初始化数据库
|
||||
Write-Host "初始化数据库..."
|
||||
python -c "from app.models import init_db; init_db()"
|
||||
|
||||
# 启动服务
|
||||
Write-Host "启动服务..."
|
||||
$smtpPort = if ($env:SMTP_PORT) { $env:SMTP_PORT } else { 25 }
|
||||
|
||||
# 检查是否以管理员权限运行(25端口需要)
|
||||
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
||||
if (-not $isAdmin -and $smtpPort -lt 1024) {
|
||||
Write-Host "警告: 在端口 $smtpPort 运行SMTP服务需要管理员权限" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
python run.py --host 0.0.0.0 --port 5000 --smtp-port $smtpPort
|
||||
Reference in New Issue
Block a user