dify/api/tests/unit_tests
-LAN- 69f712b713 feat: Add SMTP OAuth 2.0 support for Microsoft Exchange
Add comprehensive OAuth 2.0 authentication support for SMTP to address
Microsoft's Basic Authentication retirement in September 2025.

Key features:
- OAuth 2.0 SASL XOAUTH2 authentication mechanism
- Microsoft Azure AD integration with client credentials flow
- Backward compatible with existing basic authentication
- Comprehensive configuration options in .env.example files
- Enhanced SMTP client with dependency injection for better testability
- Complete test coverage with proper mocking

Configuration:
- SMTP_AUTH_TYPE: Choose between 'basic' and 'oauth2' authentication
- Microsoft OAuth 2.0 settings for Azure AD integration
- Automatic token acquisition using client credentials flow

Files changed:
- Enhanced SMTP client with OAuth 2.0 support
- New mail module structure under libs/mail/
- Updated configuration system with OAuth settings
- Comprehensive documentation and setup instructions
- Complete test suite for OAuth functionality

This change ensures compatibility with Microsoft Exchange Online
after Basic Authentication retirement.
2025-09-23 01:30:06 +08:00
..
configs feat: make SQLALCHEMY_POOL_TIMEOUT configurable (#25468) 2025-09-18 16:13:56 +08:00
controllers more httpx (#25651) 2025-09-22 23:07:09 +08:00
core Fix: correct regex for file-preview URL re-signing (#25620) 2025-09-22 10:58:29 +08:00
extensions use autospec=True in mock (#25497) 2025-09-12 09:46:02 +08:00
factories feat: knowledge pipeline (#25360) 2025-09-18 12:49:10 +08:00
libs feat: Add SMTP OAuth 2.0 support for Microsoft Exchange 2025-09-23 01:30:06 +08:00
models Fix: correct regex for file-preview URL re-signing (#25620) 2025-09-22 10:58:29 +08:00
oss chore: improve opendal storage and ensure closing file after reading files in `load_stream` method (#25874) 2025-09-18 14:09:19 +08:00
repositories feat: knowledge pipeline (#25360) 2025-09-18 12:49:10 +08:00
services more httpx (#25651) 2025-09-22 23:07:09 +08:00
tasks feat: knowledge pipeline (#25360) 2025-09-18 12:49:10 +08:00
utils feat(stress-test): add comprehensive stress testing suite using Locust (#25617) 2025-09-12 22:25:05 +08:00
.gitignore Enhance Code Consistency Across Repository with `.editorconfig` (#19023) 2025-04-29 18:04:33 +08:00
__init__.py FEAT: NEW WORKFLOW ENGINE (#3160) 2024-04-08 18:51:46 +08:00
conftest.py fix: resolve Redis mock import error in test configuration (#22663) 2025-07-20 11:06:38 +08:00