顯示具有 Email 標籤的文章。 顯示所有文章
顯示具有 Email 標籤的文章。 顯示所有文章

2026-04-09

Outlook Mail Deduplicator v1.0

運用 Claude Opus4.6 詠唱出來的小工具

Outlook Mail Deduplicator v1.0.26.04.09.09.45
https://drive.google.com/file/d/1KSnW80APDB8V9o_9SqRBrgL53LOpFtN6

History:
Outlook Mail Deduplicator v1.0.26.04.09.09.06
發布前最後一次修改,Claude 把一個 worker 意外覆蓋掉了,導致按下 [開始掃描] 沒作用

# Outlook Mail Deduplicator 使用手冊

## 一、系統概述

**Outlook Mail Deduplicator** 是一款安全、高效的 Microsoft Outlook 重複郵件檢測與處理工具。

### 核心功能
- **重複檢測**:基於 Message-ID、From、To、Subject、傳送時間等多維度識別重複郵件
- **安全驗證**:顯示重複郵件對比,使用者手動確認保留哪一封
- **智慧處理**:支援三種處理策略(保留最舊/最新/預覽)
- **衝突管理**:對於完全相同的郵件基於使用者選擇處理

---

## 二、系統架構

### 核心模組

#### 2.1 Outlook Profile 管理
- **enumerate_profiles()**:列舉當前系統中所有 Outlook Profile
- **ProfileLoaderThread**:後臺載入 Profile 對應的郵箱帳號

#### 2.2 郵件掃描引擎
- **FolderWalker**:遞迴遍歷所有郵件夾
- **DuplicateEngine**:多維度重複檢測(Message-ID、From、To、Subject、時間容忍)
- **ScanWorker**:後臺掃描執行緒,支援暫停/繼續/取消

#### 2.3 報告生成
- **report_writer.py**:生成 JSON 報告(記錄所有重複群組、衝突、處理結果)
- **CSV 報告**:可選的 Excel 相容格式報告

#### 2.4 衝突處理
- **ConflictDialog**:衝突處理主對話方塊
- **ConflictWorker**:衝突搬移後臺執行緒
- **增量更新**:暫停/取消/進度時自動儲存處理進度

---

2025-10-23

Replace Ceritificate on IIS SMTP Virtual Server


$PFXPath = "C:\Cert\"
$PFXPW  = ''
$PublishedURL = "smtp.contoso.com"

Import-Module WebAdministration
$MicrosoftIISv2WMI = Get-CimInstance -Namespace root/MicrosoftIISv2 -Class __Namespace -ErrorAction SilentlyContinue
if ($MicrosoftIISv2WMI -eq $Null) {
Install-WindowsFeature Web-Mgmt-Compat, Web-WMI;
};
$SMTPServer = Get-CimInstance -Namespace root/MicrosoftIISv2 -Class IIsSmtpServerSetting -Filter ("FullyQualifiedDomainName='".$PublishedURL."'")
if ($SMTPServer.AccessSSL -ne $True) {
write-host 'TLS not enabled';
exit;
};

2025-10-16

IIS SMTP 使用 WildCard 憑證無法啟用 TLS 的問題

WildCard 憑證如果用 MMC 匯入 Local Computer 的 Personal 後
SMTP Domain 的 Access -> Security communication 中 Require TLS encrypt 還是反灰不能勾選

此時開啟 IIS Manager (管理網站的那個 Internet Information Services (IIS) Manager)
在伺服器層級點 Server Certificates,再點 Import,記得匯入 Store 選 Personal
按 OK 後重啟 IIS & SMTP Service 即可

*. 可以把 Allow this certificate to be exported 取消勾選

IIS SMTP MMC 啟動錯誤

Stop-Service SMTPSVC
Stop-Service IISAdmin

notepad C:\Windows\System32\inetsrv\MetaBase.xml

找到 <IIsSmtpServer Location ="/LM/SmtpSvc/1" 這一段
加入參數: RelayIpList=""

Start-Service IISAdmin
Start-Service SMTPSVC

Set-Service SMTPSVC -StartupType Automatic

2025-10-15

取出 MSSQL DB 中 ZIP 壓縮過的二進位 .eml 檔並取出 Subject 等資訊

Mail eml 格式檔案 ZIP 後存在 DB 裡,但某日發現資料庫中有許多 Record 的 Subject 都錯誤
推測是歸檔程式有 Bug 的關係。
因為會影響搜尋結果,所以必須從資料庫中取出 ZIP 過的 eml 檔案
解壓後分析,再修正資料庫中的資料

以下程式包含上述功能但有更多其他功能,就不多說,有需要自取

需要 
SharpZipLib
這是用來忽略解壓過程中發生錯誤,強制解壓的工具
不知道為什麼 DB 中的 ZIP 二進位資料取出後解壓會有問題,但忽略錯誤就可以

只用 Powershell 實在沒辦法對 Email 做良好的 Parser,必須丟到 Python 去處理
所以需要用 Powershell 處理到一半,用 Python 讀檔,再回 Powershell 處理
因為我實在不熟 Python,不然應該要用 Python 從頭寫到瑋才對

以下程式有許多部份都是用 Copilot 協助產生的,再加上自己修改而成