#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 測試郵件內容顯示 """ import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from services.vendor_email_service import VendorEmailService from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText def test_email_content(): """測試郵件 HTML 和純文字內容""" print("=" * 80) print("測試郵件內容生成") print("=" * 80) service = VendorEmailService() # 測試 HTML 生成 html = service._generate_grouped_email_html( vendor_name='測試廠商', vendor_code='TEST001', items=[] ) print("\n📧 HTML 郵件內容:") print("-" * 80) print(html) print("-" * 80) print(f"HTML 長度: {len(html)} 字元") # 測試 MIME 郵件結構 print("\n📨 MIME 郵件結構測試:") print("-" * 80) msg = MIMEMultipart('alternative') msg['From'] = 'test@example.com' msg['To'] = 'recipient@example.com' msg['Subject'] = 'PChome_缺貨通知_TEST001 測試廠商' # 純文字版本 text_body = """Dear 供應商: 以下商品請補貨上架,並回覆補貨數量及日期,有任何問題歡迎提出討論,謝謝! 詳細商品清單請參考附件 Excel 檔案。 此致 PChome 採購部""" text_part = MIMEText(text_body, 'plain', 'utf-8') msg.attach(text_part) # HTML 版本 html_part = MIMEText(html, 'html', 'utf-8') msg.attach(html_part) print("✅ MIME 郵件結構已建立") print(f" Parts: {len(msg.get_payload())} 個") print(f" Part 1: {msg.get_payload()[0].get_content_type()}") print(f" Part 2: {msg.get_payload()[1].get_content_type()}") # 顯示完整郵件 print("\n📬 完整郵件內容 (前 1000 字元):") print("-" * 80) email_content = msg.as_string() print(email_content[:1000]) print("\n... (省略)") print("-" * 80) print(f"完整郵件長度: {len(email_content)} 字元") print("\n" + "=" * 80) print("✅ 郵件內容測試完成") print("=" * 80) print("\n💡 建議:") print(" 1. 如果收到郵件但看不到內容,請檢查郵件客戶端的 HTML 顯示設定") print(" 2. 確認郵件沒有被分類到垃圾郵件") print(" 3. 嘗試用不同的郵件客戶端開啟(Gmail 網頁版、Outlook 等)") print(" 4. 檢查是否有郵件過濾規則影響顯示") if __name__ == '__main__': test_email_content()