Files

91 lines
2.4 KiB
TOML

# 开发环境配置 - SQLite 数据库
[server]
host = "0.0.0.0"
port = 3000
request_timeout_seconds = 30
max_body_bytes = 1048576
concurrency_limit = 256
rate_limit_per_minute = 120
cors_origins = ["http://localhost:3000", "http://localhost:5173"]
[database]
# 数据库类型: mysql, sqlite, postgresql
database_type = "sqlite"
# MySQL/PostgreSQL 配置
# host = "localhost"
# port = 3306
# user = "root"
# password = "root"
# database = "web_template"
# SQLite 配置(当 database_type = "sqlite" 时使用)
path = "data/app.db"
# 连接池配置
max_connections = 10
[auth]
jwt_secret = "9f7d3c7a564dfkopp26smb2644nqzfvbsao9f7d3c7a1a8f28544b5e6d7a"
# 分开配置两个 token 的过期时间
access_token_expiration_minutes = 15 # access_token 15 分钟
refresh_token_expiration_days = 7 # refresh_token 7 天
registration_open = true # 开发环境开放注册
invite_code = "" # 空=不校验邀请码
bootstrap_admin_email = "" # 本地需要时填写管理员邮箱
[redis]
enabled = false
host = "localhost"
port = 6379
password = "" # 可选
db = 0
[email]
enabled = false
smtp_host = "smtp.example.com"
smtp_port = 587
smtp_username = ""
smtp_password = ""
from_email = "noreply@example.com"
from_name = "Email Unlimited"
verification_code_ttl_seconds = 600
queue_enabled = false
worker_pool_size = 2
# SMTP 收信服务(临时邮箱核心)
[smtp]
enabled = true
listen_host = "0.0.0.0"
listen_port = 25
hostname = "mail.shenjianl.cn"
local_domains = ["mail.shenjianl.cn", "shenjianl.cn"]
max_message_bytes = 1048576
connection_timeout_seconds = 30
max_recipients_per_message = 1
ip_connect_per_min = 20
domain_per_min = 10
rcpt_per_min = 10
require_ptr = false # 开发环境关闭 PTR(本地无 PTR 记录)
email_ttl_days = 7
mailbox_ttl_hours = 24
mailbox_max_quota_bytes = 10485760
address_local_part_len = 10
sender_per_min = 10
pair_per_10min = 5
greylist_enabled = false # 开发环境关闭灰名单(避免本地测试被挡)
greylist_retry_delay_seconds = 300
greylist_entry_ttl_seconds = 86400
quarantine_threshold = 60
score_weight_subject_code = 30
score_weight_spf_fail = 20
score_weight_ptr_missing = 15
score_weight_bad_attachment = 25
[abuse]
domain_emails_threshold_10min = 50
ip_connects_threshold_1min = 60
auto_block_ttl_seconds = 3600
honeypot_addresses = ["admin@mail.shenjianl.cn", "noreply@mail.shenjianl.cn", "test@mail.shenjianl.cn"]
alert_webhook_url = ""