68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from app.models import get_session, Domain, Mailbox, Email
|
|
|
|
def check_database():
|
|
"""直接从数据库获取邮件信息"""
|
|
session = get_session()
|
|
|
|
try:
|
|
# 获取所有域名
|
|
print("获取所有域名...")
|
|
domains = session.query(Domain).all()
|
|
print(f"找到 {len(domains)} 个域名:")
|
|
for domain in domains:
|
|
print(f" - {domain.name} (ID: {domain.id})")
|
|
|
|
# 获取所有邮箱
|
|
print("\n获取所有邮箱...")
|
|
mailboxes = session.query(Mailbox).all()
|
|
print(f"找到 {len(mailboxes)} 个邮箱:")
|
|
for mailbox in mailboxes:
|
|
print(f" - {mailbox.full_address} (ID: {mailbox.id})")
|
|
|
|
# 获取所有邮件
|
|
print("\n获取所有邮件...")
|
|
emails = session.query(Email).all()
|
|
print(f"找到 {len(emails)} 封邮件:")
|
|
|
|
for i, email in enumerate(emails, 1):
|
|
print(f"\n--- 邮件 {i} ---")
|
|
print(f"ID: {email.id}")
|
|
print(f"邮箱ID: {email.mailbox_id}")
|
|
|
|
# 获取邮箱信息
|
|
mailbox = session.query(Mailbox).filter_by(id=email.mailbox_id).first()
|
|
mailbox_address = mailbox.full_address if mailbox else "未知"
|
|
|
|
print(f"收件人: {mailbox_address}")
|
|
print(f"发件人: {email.sender}")
|
|
print(f"主题: {email.subject}")
|
|
print(f"接收时间: {email.received_at}")
|
|
print(f"是否已读: {email.read}")
|
|
|
|
# 打印邮件内容
|
|
print("\n邮件文本内容摘要:")
|
|
if email.body_text:
|
|
print(email.body_text[:200] + "..." if len(email.body_text) > 200 else email.body_text)
|
|
else:
|
|
print("<无文本内容>")
|
|
|
|
print("\n邮件HTML内容摘要:")
|
|
if email.body_html:
|
|
print(email.body_html[:200] + "..." if len(email.body_html) > 200 else email.body_html)
|
|
else:
|
|
print("<无HTML内容>")
|
|
|
|
# 提取验证码
|
|
if hasattr(email, 'verification_code') and email.verification_code:
|
|
print(f"\n验证码: {email.verification_code}")
|
|
|
|
print("-" * 50)
|
|
|
|
finally:
|
|
session.close()
|
|
|
|
if __name__ == "__main__":
|
|
check_database() |