Microsoft App Password 的安全悖論:一場設計過渡期的模糊帳

更新於 發佈於 閱讀時間約 3 分鐘

在部署或維護 Microsoft 365 郵件服務的過程中,許多技術人員或開發者可能曾因 "應用程式密碼(App Password)" 而陷入長時間測試與除錯的迴圈。這篇文章希望從中立的角度,釐清 App Password 的實際功能限制,避免大家重複走過不必要的彎路。

raw-image


一、什麼是 App Password?

App Password 是在使用者帳號啟用多重身份驗證(MFA, Multi-Factor Authentication)後,用於不支援 MFA 的舊版應用程式所產生的替代性密碼。典型用途包括:

  • 舊版 Outlook(2010 或更早)
  • 不支援 OAuth 的 IMAP 或 POP 郵件工具
  • 一些不支援現代驗證的桌面程式

Microsoft 原意是提供過渡期的相容方案,並非長期使用建議。

請特別注意:App Password 僅支援收信, 完全不支援 SMTP 發信。這是最容易誤判的重點。

二、App Password 的 SMTP 限制

許多人在使用 App Password 結合 SMTP 發信時會遭遇如下錯誤:

535 5.7.3 Authentication unsuccessful

這並非密碼錯誤,而是 Microsoft 明確不支援使用 App Password 登入 SMTP(smtp.office365.com)。即使在管理中心開啟 SMTP AUTH 設定,也無法繞過這一限制。

這點在 Microsoft 官方文件中有清楚說明(參考來源於文末),但在實際設定介面中缺乏明確提示,導致使用者誤以為 SMTP 也是可用場景之一。

三、哪些協議仍支援 App Password?

raw-image

四、這樣的設計會讓人混淆嗎?

坦白說,會。

使用者看到可以產生 App Password,直覺會認為這是一組可以讓應用完整收發信的密碼,卻在實作 SMTP 時失敗。這樣的體驗會讓使用者以為自己設定錯誤、密碼錯誤、權限不足,進而浪費時間進行交叉測試與錯誤診斷。

從安全演進的角度來看,這是合理的政策取向。但從產品體驗角度來看,若能在產生 App Password 的介面註明其適用協議範圍,將大幅減少混淆。

五、該怎麼做才正確?

若你需要使用 SMTP 發信,請考慮以下方案:

  1. ✅ 升級應用程式,改用支援現代驗證(Modern Authentication)
  2. ✅ 改採 Microsoft Graph API 實作 sendMail 功能
  3. ✅ 若為共用信箱發信需求,請確保使用者擁有 Send As 權限,並以支援 OAuth2 的程式操作

六、結語:從過渡工具到現代架構

App Password 是一個在雲端轉型過程中被引入的妥協方案,最初的設計是合理的。但隨著 Microsoft 365 架構趨於完整,支援 OAuth2 幾乎成為所有應用的基本要求。

這篇文章希望能幫助你釐清 App Password 的定位,避免浪費不必要的設定時間,並順利將系統架構導向更穩定與現代的驗證方式。

參考資料:

支援 Microsoft 365 OAuth 2.0 的郵件客戶端清單(參考用)

raw-image
提醒:各郵件客戶端需為最新版,並正確設定為 OAuth 模式,才能正常通過驗證與授權流程。
留言
avatar-img
留言分享你的想法!
avatar-img
Stan Wu 吳信典
14會員
97內容數
我是 Stan Wu 吳信典。 我相信:「我們從程式設計的邏輯世界走來,以為萬物都能被預測與控制,直到遇見 AI,才發現智慧不只是規則的堆疊,而是滲透在無數經驗中的模糊與真實。」 我也始終堅信:「簡單,就是極致的美學。」
Stan Wu 吳信典的其他內容
2025/04/29
從 Graydon Hoare 離開 Rust 專案,我們看見開源社群如何透過貢獻重塑治理節奏,也理解科技巨頭擁抱開源並非單純理想,而是吸收反脆弱性、分散風險、建立技術生態的戰略選擇。在開源世界裡,程式碼貢獻如同股份,每一行程式都是參與數位世界未來的證明。
Thumbnail
2025/04/29
從 Graydon Hoare 離開 Rust 專案,我們看見開源社群如何透過貢獻重塑治理節奏,也理解科技巨頭擁抱開源並非單純理想,而是吸收反脆弱性、分散風險、建立技術生態的戰略選擇。在開源世界裡,程式碼貢獻如同股份,每一行程式都是參與數位世界未來的證明。
Thumbnail
2025/04/28
投資改變了我的人生視角。從忙碌計較薪水的日子,到以0050小額投資起步,我學會參與資本市場的節奏。持有7-11股票後,排隊結帳變成感恩時刻。投資教會我謹慎與耐心,平衡冒險與穩健,猶如飛機雙引擎。透過複委託,普通人也能參與全球企業成長。投資不只關於財富,更是抓住人生重點,深度參與自己的未來。
Thumbnail
2025/04/28
投資改變了我的人生視角。從忙碌計較薪水的日子,到以0050小額投資起步,我學會參與資本市場的節奏。持有7-11股票後,排隊結帳變成感恩時刻。投資教會我謹慎與耐心,平衡冒險與穩健,猶如飛機雙引擎。透過複委託,普通人也能參與全球企業成長。投資不只關於財富,更是抓住人生重點,深度參與自己的未來。
Thumbnail
2025/04/27
投資理財因年齡而異:20-30歲善用時間複利,積極投資ETF;30-40歲平衡家庭與增值,採50:50配置;40-50歲為退休鋪路,重視現金流;50歲以上聚焦健康與穩定收益。透過定期定額、分散投資與健康管理,無論收入高低,皆可打造穩固財務未來。
Thumbnail
2025/04/27
投資理財因年齡而異:20-30歲善用時間複利,積極投資ETF;30-40歲平衡家庭與增值,採50:50配置;40-50歲為退休鋪路,重視現金流;50歲以上聚焦健康與穩定收益。透過定期定額、分散投資與健康管理,無論收入高低,皆可打造穩固財務未來。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
了解 Microsoft Power Platform 認證,提升職場競爭力。本文介紹 PL-900、PL-200、PL-300 等證照,並提供選擇建議。微軟提供學習路徑、免費題庫和模擬測驗,幫助考生準備。本文幫助你選擇最佳 Power Platform 認證路徑!
Thumbnail
了解 Microsoft Power Platform 認證,提升職場競爭力。本文介紹 PL-900、PL-200、PL-300 等證照,並提供選擇建議。微軟提供學習路徑、免費題庫和模擬測驗,幫助考生準備。本文幫助你選擇最佳 Power Platform 認證路徑!
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
我們在「【Message Queue - Kafka】不斷的試誤…, 用Docker來嘗試安裝Kafka」有介紹如何架設kafka, 其中我們使用環境變數來進行kafka的配置, 但除了環境變數之外, 其實還能夠用檔案配置的方式來對kafka進行配置, 如此一來我們就可以將配置檔與啟動檔完全分開,
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
AWS Systems Manager 建立 Activations Windows 使用PowerShell [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12' $code = "activation-code
Thumbnail
AWS Systems Manager 建立 Activations Windows 使用PowerShell [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12' $code = "activation-code
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當這產品的這個 API 被呼叫,再從回傳內容的某個欄位欄位來判斷,只要“這個欄位”顯示 false 就代表不支援」,雖然這樣的設計也能滿足功能需求…
Thumbnail
當這產品的這個 API 被呼叫,再從回傳內容的某個欄位欄位來判斷,只要“這個欄位”顯示 false 就代表不支援」,雖然這樣的設計也能滿足功能需求…
Thumbnail
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
Thumbnail
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News