mirror of
https://github.com/langgenius/dify.git
synced 2026-02-26 20:47:19 +08:00
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.
27 lines
816 B
Python
27 lines
816 B
Python
"""Mail module for email functionality
|
|
|
|
This module provides comprehensive email support including:
|
|
- SMTP clients with OAuth 2.0 support
|
|
- Microsoft Exchange/Outlook integration
|
|
- Email authentication and connection management
|
|
- Support for TLS/SSL encryption
|
|
"""
|
|
|
|
from .oauth_email import EmailOAuth, MicrosoftEmailOAuth, OAuthUserInfo
|
|
from .oauth_http_client import OAuthHTTPClient, OAuthHTTPClientProtocol
|
|
from .smtp import SMTPAuthenticator, SMTPClient, SMTPMessageBuilder
|
|
from .smtp_connection import SMTPConnectionFactory, SMTPConnectionProtocol
|
|
|
|
__all__ = [
|
|
"EmailOAuth",
|
|
"MicrosoftEmailOAuth",
|
|
"OAuthHTTPClient",
|
|
"OAuthHTTPClientProtocol",
|
|
"OAuthUserInfo",
|
|
"SMTPAuthenticator",
|
|
"SMTPClient",
|
|
"SMTPConnectionFactory",
|
|
"SMTPConnectionProtocol",
|
|
"SMTPMessageBuilder",
|
|
]
|