Finalize mail settings admin UI and Mailrise compatibility
This commit is contained in:
@@ -273,3 +273,35 @@ class PageView(db.Model):
|
||||
|
||||
def __repr__(self):
|
||||
return f'<PageView {self.path} at {self.created_at}>'
|
||||
|
||||
|
||||
# --- Mail Server Management Models ---
|
||||
class MailSettings(db.Model):
|
||||
__tablename__ = 'mail_settings'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
enabled = db.Column(db.Boolean, default=False, nullable=False)
|
||||
server = db.Column(db.String(255), nullable=False)
|
||||
port = db.Column(db.Integer, nullable=False)
|
||||
use_tls = db.Column(db.Boolean, default=True, nullable=False)
|
||||
username = db.Column(db.String(255))
|
||||
password = db.Column(db.String(255))
|
||||
default_sender = db.Column(db.String(255))
|
||||
provider = db.Column(db.String(50), default='smtp') # 'smtp' or 'mailrise'
|
||||
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
def __repr__(self):
|
||||
return f'<MailSettings {self.server}:{self.port} enabled={self.enabled}>'
|
||||
|
||||
class SentEmail(db.Model):
|
||||
__tablename__ = 'sent_emails'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
recipient = db.Column(db.String(255), nullable=False)
|
||||
subject = db.Column(db.String(255), nullable=False)
|
||||
body = db.Column(db.Text, nullable=False)
|
||||
status = db.Column(db.String(50), default='sent') # sent, failed, etc.
|
||||
error = db.Column(db.Text)
|
||||
sent_at = db.Column(db.DateTime, default=datetime.utcnow)
|
||||
provider = db.Column(db.String(50), default='smtp')
|
||||
|
||||
def __repr__(self):
|
||||
return f'<SentEmail to={self.recipient} subject={self.subject} status={self.status}>'
|
||||
|
||||
Reference in New Issue
Block a user