feat(account): Prioritize dedicated name field for IMAP authentication username #28

Refactor account authentication logic to prioritize the `name` field over the `email` field during the IMAP connection phase.

- The `name` field now serves as the primary IMAP login credential and is no longer treated purely as an optional, descriptive field.
- If the `name` field is empty or unset, the system will fall back to using the full `email` address for authentication.
- This change supports IMAP providers that require a username different from the full email address (e.g., employee ID, specific account name).
This commit is contained in:
rustmailer
2025-12-03 03:48:39 +08:00
parent 3a2b42f5c3
commit 454950374f
22 changed files with 25 additions and 7 deletions
@@ -190,7 +190,7 @@ export function NoSyncAccountDialog({ currentRow, open, onOpenChange }: Props) {
</FormItem>
)}
/>
<FormField
{/* <FormField
control={form.control}
name="name"
render={({ field }) => (
@@ -205,7 +205,7 @@ export function NoSyncAccountDialog({ currentRow, open, onOpenChange }: Props) {
<FormMessage />
</FormItem>
)}
/>
/> */}
<FormField
control={form.control}
name='enabled'
@@ -77,7 +77,7 @@ export default function Step1({ isEdit }: StepProps) {
<FormControl>
<Input placeholder={t('accounts.namePlaceholder')} {...field} />
</FormControl>
<FormDescription>{t('accounts.optional')}</FormDescription>
<FormDescription>{t('accounts.nameDescription')}</FormDescription>
<FormMessage />
</FormItem>
)}
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "مثال: john.doe@example.com",
"namePlaceholder": "مثال: john.doe",
"optional": "اختياري",
"nameDescription": "اسم مستخدم اتصال IMAP. اترك هذا الحقل فارغًا إذا كنت تستخدم عنوان بريدك الإلكتروني الكامل كاسم مستخدم للاتصال.",
"emailCannotBeModified": "لا يمكن تعديل عنوان حساب البريد الإلكتروني أثناء التحرير.",
"addAccount": "إضافة حساب",
"updateAccount": "تحديث الحساب",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "f.eks. hans.hansen@eksempel.dk",
"namePlaceholder": "f.eks. Hans Hansen",
"optional": "Valgfri",
"nameDescription": "IMAP-forbindelsesbrugernavn. Lad dette felt være tomt, hvis du bruger din fulde e-mailadresse som forbindelsesbrugernavn.",
"emailCannotBeModified": "Kontoens e-mailadresse kan ikke ændres under redigering.",
"addAccount": "Tilføj konto",
"updateAccount": "Opdater konto",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "z.B. max.mustermann@beispiel.de",
"namePlaceholder": "z.B. Max Mustermann",
"optional": "Optional",
"nameDescription": "IMAP-Verbindungsbenutzername. Lassen Sie dieses Feld leer, wenn Sie Ihre vollständige E-Mail-Adresse als Verbindungsbenutzernamen verwenden.",
"emailCannotBeModified": "Die E-Mail-Adresse des Kontos kann während der Bearbeitung nicht geändert werden.",
"addAccount": "Konto hinzufügen",
"updateAccount": "Konto aktualisieren",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "e.g john.doe@example.com",
"namePlaceholder": "e.g john.doe",
"optional": "Optional",
"nameDescription": "IMAP Connection Username. Leave this field blank if you use your full email address as the connection username.",
"emailCannotBeModified": "The email account address cannot be modified when editing.",
"addAccount": "Add Account",
"updateAccount": "Update Account",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "ej. juan.perez@ejemplo.com",
"namePlaceholder": "ej. Juan Pérez",
"optional": "Opcional",
"nameDescription": "Nombre de usuario de conexión IMAP. Deje este campo en blanco si utiliza su dirección de correo electrónico completa como nombre de usuario de conexión.",
"emailCannotBeModified": "La dirección de correo electrónico de la cuenta no se puede modificar durante la edición.",
"addAccount": "Añadir cuenta",
"updateAccount": "Actualizar cuenta",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "esim. matti.meikäläinen@esimerkki.fi",
"namePlaceholder": "esim. matti.meikäläinen",
"optional": "Valinnainen",
"nameDescription": "IMAP-yhteyden käyttäjänimi. Jätä tämä kenttä tyhjäksi, jos käytät koko sähköpostiosoitettasi yhteyden käyttäjänimenä.",
"emailCannotBeModified": "Tilin sähköpostiosoitetta ei voi muokata muokkauksen aikana.",
"addAccount": "Lisää tili",
"updateAccount": "Päivitä tili",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "ex. jean.dupont@exemple.com",
"namePlaceholder": "ex. jean.dupont",
"optional": "Facultatif",
"nameDescription": "Nom d'utilisateur de connexion IMAP. Laissez ce champ vide si vous utilisez votre adresse e-mail complète comme nom d'utilisateur de connexion.",
"emailCannotBeModified": "L'adresse e-mail du compte ne peut pas être modifiée lors de l'édition.",
"addAccount": "Ajouter un Compte",
"updateAccount": "Mettre à jour le Compte",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "es. john.doe@esempio.com",
"namePlaceholder": "es. john.doe",
"optional": "Opzionale",
"nameDescription": "Nome utente di connessione IMAP. Lasciare vuoto questo campo se si utilizza l'indirizzo email completo come nome utente di connessione.",
"emailCannotBeModified": "L'indirizzo email dell'account non può essere modificato durante la modifica.",
"addAccount": "Aggiungi Account",
"updateAccount": "Aggiorna Account",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "例: john.doe@example.com",
"namePlaceholder": "例: john.doe",
"optional": "オプション",
"nameDescription": "IMAP接続のユーザー名。接続ユーザー名として完全なメールアドレスを使用する場合は、このフィールドを空欄にしてください。",
"emailCannotBeModified": "編集時にはメールアカウントアドレスは変更できません。",
"addAccount": "アカウントを追加",
"updateAccount": "アカウントを更新",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "예: john.doe@example.com",
"namePlaceholder": "예: john.doe",
"optional": "선택 사항",
"nameDescription": "IMAP 연결 사용자 이름. 전체 이메일 주소를 연결 사용자 이름으로 사용하는 경우, 이 필드를 비워 두십시오.",
"emailCannotBeModified": "편집 시 계정 이메일 주소는 수정할 수 없습니다.",
"addAccount": "계정 추가",
"updateAccount": "계정 업데이트",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "bv. john.doe@voorbeeld.com",
"namePlaceholder": "bv. john.doe",
"optional": "Optioneel",
"nameDescription": "IMAP-verbindingsgebruikersnaam. Laat dit veld leeg als u uw volledige e-mailadres als verbindingsgebruikersnaam gebruikt.",
"emailCannotBeModified": "Het e-mailadres van het account kan niet worden gewijzigd tijdens het bewerken.",
"addAccount": "Account Toevoegen",
"updateAccount": "Account Bijwerken",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "f.eks. ola.nordmann@eksempel.no",
"namePlaceholder": "f.eks. ola.nordmann",
"optional": "Valgfritt",
"nameDescription": "IMAP-tilkoblingsbrukernavn. La dette feltet stå tomt hvis du bruker hele e-postadressen din som tilkoblingsbrukernavn.",
"emailCannotBeModified": "E-postadressen til kontoen kan ikke endres under redigering.",
"addAccount": "Legg til konto",
"updateAccount": "Oppdater konto",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "Ex: john.doe@example.com",
"namePlaceholder": "Ex: john.doe",
"optional": "Opcional",
"nameDescription": "Nome de usuário de conexão IMAP. Deixe este campo em branco se você usar seu endereço de e-mail completo como nome de usuário de conexão.",
"emailCannotBeModified": "O endereço de email da conta não pode ser modificado ao editar.",
"addAccount": "Adicionar Conta",
"updateAccount": "Atualizar Conta",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "например, john.doe@example.com",
"namePlaceholder": "например, john.doe",
"optional": "Необязательно",
"nameDescription": "Имя пользователя для IMAP-подключения. Оставьте это поле пустым, если вы используете свой полный адрес электронной почты в качестве имени пользователя для подключения.",
"emailCannotBeModified": "Адрес электронной почты нельзя изменить при редактировании.",
"addAccount": "Добавить аккаунт",
"updateAccount": "Обновить аккаунт",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "t.ex. sven.svensson@exempel.se",
"namePlaceholder": "t.ex. sven.svensson",
"optional": "Valfritt",
"nameDescription": "IMAP-anslutningsanvändarnamn. Lämna detta fält tomt om du använder din fullständiga e-postadress som anslutningsanvändarnamn.",
"emailCannotBeModified": "Kontots e-postadress kan inte ändras vid redigering.",
"addAccount": "Lägg till konto",
"updateAccount": "Uppdatera konto",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "例如:john.doe@example.com",
"namePlaceholder": "例如:john.doe",
"optional": "選填",
"nameDescription": "IMAP 連線使用者名稱。如果您使用完整的電子郵件地址作為連線使用者名稱,請將此欄位留空。",
"emailCannotBeModified": "編輯時無法修改電子郵件帳號地址。",
"addAccount": "新增帳號",
"updateAccount": "更新帳號",
+1
View File
@@ -163,6 +163,7 @@
"emailPlaceholder": "例如:john.doe@example.com",
"namePlaceholder": "例如:john.doe",
"optional": "可选",
"nameDescription": "IMAP 连接用户名。如果您使用完整的电子邮件地址作为连接用户名,请将此字段留空。",
"emailCannotBeModified": "编辑时无法修改邮箱账户地址。",
"addAccount": "添加账户",
"updateAccount": "更新账户",