#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import os # 基础URL BASE_URL = "http://localhost:5000/api" def check_emails(): """检查系统中的邮件""" try: # 获取域名列表 print("获取域名列表...") domains_response = requests.get(f"{BASE_URL}/domains") domains_data = domains_response.json() # 从响应中提取domains列表 domains = domains_data.get('domains', []) print(f"系统中的域名: {len(domains)}") for domain in domains: print(f"- {domain.get('name', '未知')} (ID: {domain.get('id', '未知')})") # 获取邮箱列表 print("\n获取邮箱列表...") mailboxes_response = requests.get(f"{BASE_URL}/mailboxes") mailboxes_data = mailboxes_response.json() # 从响应中提取mailboxes列表 mailboxes = mailboxes_data.get('mailboxes', []) print(f"系统中的邮箱: {len(mailboxes)}") if len(mailboxes) == 0: print("还没有创建邮箱,创建一个新邮箱...") # 获取第一个域名的ID if domains: domain_id = domains[0].get('id') print(f"使用域名ID: {domain_id}") # 创建一个新邮箱 create_data = { "domain_id": domain_id, "address": "user", "password": "password123", "description": "测试用户" } create_response = requests.post(f"{BASE_URL}/mailboxes", json=create_data) print(f"创建邮箱响应状态: {create_response.status_code}") print(f"创建邮箱响应内容: {create_response.text}") # 再次获取邮箱列表 mailboxes_response = requests.get(f"{BASE_URL}/mailboxes") mailboxes_data = mailboxes_response.json() mailboxes = mailboxes_data.get('mailboxes', []) # 遍历邮箱列表 for mailbox in mailboxes: print(f"- {mailbox.get('address', '未知')}@{mailbox.get('domain_name', '?')} (ID: {mailbox.get('id', '未知')})") # 获取该邮箱的邮件 mailbox_id = mailbox.get('id') if mailbox_id: print(f" 获取邮箱ID={mailbox_id}的邮件...") emails_response = requests.get(f"{BASE_URL}/mailboxes/{mailbox_id}/emails") emails_data = emails_response.json() # 从响应中提取emails列表 emails = emails_data.get('emails', []) print(f" 邮件数量: {len(emails)}") for email in emails: print(f" - 主题: {email.get('subject', '无主题')}") print(f" 从: {email.get('from_addr', '未知')}") print(f" 发送时间: {email.get('created_at', '未知')}") print(f" ID: {email.get('id', '未知')}") if not emails: print(" 无邮件") # 检查存储目录 email_data_dir = os.path.join(os.getcwd(), 'email_data') if os.path.exists(email_data_dir): print(f"\n检查存储目录: {email_data_dir}") file_count = 0 for root, dirs, files in os.walk(email_data_dir): for file in files: if file.endswith('.eml'): print(f"- 发现邮件文件: {os.path.join(root, file)}") file_count += 1 if file_count == 0: print("存储目录中没有找到.eml文件") else: print(f"\n存储目录不存在: {email_data_dir}") except Exception as e: print(f"检查失败: {str(e)}") if __name__ == "__main__": check_emails()