feat(accounts): Can now add smtp server to auxilliary accounts

This commit is contained in:
Hivert Quentin
2024-01-23 14:16:02 +01:00
parent 59bd290d62
commit f0010afef4
13 changed files with 293 additions and 48 deletions

View File

@@ -231,8 +231,10 @@
"Mail Account" = "Mail Account";
"New Mail Account" = "New Mail Account";
"Server Name" = "Server Name";
"Outgoing Server Name (SMTP)" = "Outgoing Server Name (SMTP)";
"Port" = "Port";
"Encryption" = "Encryption";
"Outgoing Encryption" = "Outgoing Encryption";
"None" = "None";
"User Name" = "User Name";
"Full Name" = "Full Name";

View File

@@ -231,8 +231,10 @@
"Mail Account" = "Compte courriel";
"New Mail Account" = "Nouveau compte";
"Server Name" = "Serveur";
"Outgoing Server Name (SMTP)" = "Serveur sortant (SMTP)";
"Port" = "Port";
"Encryption" = "Chiffrement";
"Outgoing Encryption" = "Chiffrement sortant";
"None" = "Aucun";
"User Name" = "Utilisateur";
"Full Name" = "Nom complet";

View File

@@ -1358,6 +1358,7 @@ static NSArray *reminderValues = nil;
if (!knownKeys)
{
knownKeys = [NSArray arrayWithObjects: @"id", @"name", @"serverName", @"port",
@"smtpServerName", @"smtpPort", @"smtpEncryption",
@"userName", @"password", @"encryption", @"replyTo",
@"identities", @"mailboxes", @"forceDefaultIdentity",
@"receipts", @"security", @"isNew",

View File

@@ -77,6 +77,54 @@
</md-radio-group>
</md-input-container>
<div layout="row">
<md-input-container class="md-block md-flex">
<label><var:string label:value="Outgoing Server Name (SMTP)"/></label>
<input name="smtpServerName" type="text"
ng-pattern="$AccountDialogController.hostnameRE"
ng-disabled="$AccountDialogController.accountId == 0"
ng-model="$AccountDialogController.account.smtpServerName"/>
<div ng-messages="accountForm.smtpServerName.$error" role="alert">
<div ng-message="pattern"><var:string label:value="Specify a hostname other than the local host"/></div>
</div>
</md-input-container>
<md-input-container class="md-block" flex="30">
<label><var:string label:value="Port"/></label>
<input type="number" min="1" max="65535"
ng-disabled="$AccountDialogController.accountId == 0"
ng-model="$AccountDialogController.account.smtpPort"
placeholder=""
sg-placeholder="$AccountDialogController.smtpDefaultPort"/>
</md-input-container>
</div>
<md-input-container class="md-block md-input-has-value">
<label><var:string label:value="Outgoing Encryption"/></label>
<md-radio-group ng-model="$AccountDialogController.account.smtpEncryption">
<div layout="row" layout-align="space-around">
<div>
<md-radio-button
ng-click="$AccountDialogController.smtpDefaultPort = 25"
ng-disabled="$AccountDialogController.accountId == 0"
value="none" class="md-primary"><var:string label:value="None"/></md-radio-button>
</div>
<div>
<md-radio-button
ng-click="$AccountDialogController.smtpDefaultPort = 465"
ng-disabled="$AccountDialogController.accountId == 0"
value="ssl"><var:string label:value="SSL"/></md-radio-button>
</div>
<div>
<md-radio-button
ng-click="$AccountDialogController.smtpDefaultPort = 465"
ng-disabled="$AccountDialogController.accountId == 0"
value="tls"><var:string label:value="TLS"/></md-radio-button>
</div>
</div>
</md-radio-group>
</md-input-container>
<div layout="row">
<md-input-container class="md-block" flex="50">
<label><var:string label:value="User Name"/></label>

View File

@@ -12,6 +12,7 @@
var vm = this, usesSSO = $window.usesCASAuthentication || $window.usesSAML2Authentication;
this.defaultPort = 143;
this.smtpDefaultPort = 25;
this.defaults = defaults;
this.account = account;
this.maxSize = maxSize;
@@ -30,6 +31,11 @@
else if (this.account.encryption == "ssl")
this.defaultPort = 993;
if (!this.account.smtpEncryption)
this.account.smtpEncryption = "none";
else
this.smtpDefaultPort = 465;
_loadCertificate();
this.uploader = new FileUploader({