feat: 支持强制使用 AUTH LOGIN 以解决 outlook 等邮箱的发件问题 (#4112)

* feat: 支持强制使用 AUTH LOGIN 以解决 outlook 等邮箱的发件问题

* fix: 修复通过 SSL 发送邮件时绕过 AUTH LOGIN 的问题

* fix: remove redundant branch, delete test file, add i18n translations

- Remove redundant else-if branch in SendEmail since auth is already
  computed via getSMTPAuth()
- Delete option_smtp_auth_test.go as requested
- Add i18n translations for '强制使用 AUTH LOGIN' checkbox
This commit is contained in:
星野梦月
2026-04-08 16:53:10 +08:00
committed by GitHub
parent aafbd78887
commit a18ea3cc16
12 changed files with 43 additions and 9 deletions
@@ -91,6 +91,7 @@ const SystemSetting = () => {
EmailDomainRestrictionEnabled: '',
EmailAliasRestrictionEnabled: '',
SMTPSSLEnabled: '',
SMTPForceAuthLogin: '',
EmailDomainWhitelist: [],
TelegramOAuthEnabled: '',
TelegramBotToken: '',
@@ -182,6 +183,7 @@ const SystemSetting = () => {
case 'EmailDomainRestrictionEnabled':
case 'EmailAliasRestrictionEnabled':
case 'SMTPSSLEnabled':
case 'SMTPForceAuthLogin':
case 'LinuxDOOAuthEnabled':
case 'discord.enabled':
case 'oidc.enabled':
@@ -1335,6 +1337,15 @@ const SystemSetting = () => {
>
{t('启用SMTP SSL')}
</Form.Checkbox>
<Form.Checkbox
field='SMTPForceAuthLogin'
noLabel
onChange={(e) =>
handleCheckboxChange('SMTPForceAuthLogin', e)
}
>
{t('强制使用 AUTH LOGIN')}
</Form.Checkbox>
</Col>
</Row>
<Button onClick={submitSMTP}>{t('保存 SMTP 设置')}</Button>
+1
View File
@@ -925,6 +925,7 @@
"启用Gemini思考后缀适配": "Enable Gemini thinking suffix adaptation",
"启用Ping间隔": "Enable Ping interval",
"启用SMTP SSL": "Enable SMTP SSL",
"强制使用 AUTH LOGIN": "Force AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "Enable SSRF Protection (Recommended for server security)",
"启用供应商": "Enable Provider",
"启用全部": "Enable all",
+1
View File
@@ -920,6 +920,7 @@
"启用Gemini思考后缀适配": "Activer l'adaptation du suffixe de la pensée Gemini",
"启用Ping间隔": "Activer l'intervalle de ping",
"启用SMTP SSL": "Activer SMTP SSL",
"强制使用 AUTH LOGIN": "Forcer AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "Activer la protection SSRF (recommandé pour la sécurité du serveur)",
"启用供应商": "Activer le fournisseur",
"启用全部": "Activer tout",
+1
View File
@@ -911,6 +911,7 @@
"启用Gemini思考后缀适配": "Gemini思考サフィックスモードを有効にする",
"启用Ping间隔": "Ping間隔を有効にする",
"启用SMTP SSL": "SMTP SSLを有効にする",
"强制使用 AUTH LOGIN": "AUTH LOGINを強制する",
"启用SSRF防护(推荐开启以保护服务器安全)": "SSRF保護を有効にする(サーバーを保護するため、有効化を推奨します)",
"启用供应商": "プロバイダーを有効化",
"启用全部": "すべてを有効にする",
+1
View File
@@ -926,6 +926,7 @@
"启用Gemini思考后缀适配": "Включить адаптацию суффикса мышления Gemini",
"启用Ping间隔": "Включить интервал Ping",
"启用SMTP SSL": "Включить SMTP SSL",
"强制使用 AUTH LOGIN": "Принудительно AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "Включить защиту SSRF (рекомендуется включить для защиты безопасности сервера)",
"启用供应商": "Включить поставщика",
"启用全部": "Включить все",
+1
View File
@@ -912,6 +912,7 @@
"启用Gemini思考后缀适配": "Bật thích ứng hậu tố tư duy Gemini",
"启用Ping间隔": "Bật khoảng thời gian Ping",
"启用SMTP SSL": "Bật SMTP SSL",
"强制使用 AUTH LOGIN": "Buộc AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "Bật bảo vệ SSRF (Khuyên dùng để bảo mật máy chủ)",
"启用供应商": "Bật nhà cung cấp",
"启用全部": "Bật tất cả",
+1
View File
@@ -680,6 +680,7 @@
"启用Gemini思考后缀适配": "启用Gemini思考后缀适配",
"启用Ping间隔": "启用Ping间隔",
"启用SMTP SSL": "启用SMTP SSL",
"强制使用 AUTH LOGIN": "强制使用 AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "启用SSRF防护(推荐开启以保护服务器安全)",
"启用全部": "启用全部",
"启用后可接入 io.net GPU 资源": "启用后可接入 io.net GPU 资源",
+1
View File
@@ -797,6 +797,7 @@
"启用Gemini思考后缀适配": "啟用Gemini思考後綴相容",
"启用Ping间隔": "啟用Ping間隔",
"启用SMTP SSL": "啟用SMTP SSL",
"强制使用 AUTH LOGIN": "強制使用 AUTH LOGIN",
"启用SSRF防护(推荐开启以保护服务器安全)": "啟用SSRF防護(推薦開啟以保護伺服器安全)",
"启用全部": "啟用全部",
"启用后可接入 io.net GPU 资源": "啟用後可接入 io.net GPU 資源",