mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:37:32 +00:00
feat: send test mail (#7968)
# Which Problems Are Solved - Zitadel doesn't have a way to test SMTP settings either before creating a new provider or once the SMTP provider has been created. - Zitadel SMTP messages can be more informative for usual errors # How the Problems Are Solved - A new step is added to the new/update SMTP provider wizard that allows us to test a configuration. The result is shown in a text area. - From the table of SMTP providers you can test your settings too. - The email address to send the email is by default the email address for the logged in user as suggested. - Some of the SMTP error messages have been changed to give more information about the possible situation. For example: could not contact with the SMTP server, check the port, firewall issues... instead of could not dial Here's a video showing this new option in action: https://github.com/zitadel/zitadel/assets/30386061/50128ba1-c9fa-4481-8eec-e79a3ca69bda # Additional Changes Replace this example text with a concise list of additional changes that this PR introduces, that are not directly solving the initial problem but are related. For example: - The docs explicitly describe that the property XY is mandatory - Adds missing translations for validations. # Additional Context - Closes #4504
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
title="{{
|
||||
id ? ('SMTP.DETAIL.TITLE' | translate) : ('SMTP.CREATE.STEPS.TITLE' | translate: { value: providerDefaultSetting.name })
|
||||
}}"
|
||||
[createSteps]="3"
|
||||
[createSteps]="4"
|
||||
[currentCreateStep]="currentCreateStep"
|
||||
(closed)="close()"
|
||||
>
|
||||
@@ -93,7 +93,7 @@
|
||||
[disabled]="firstFormGroup.invalid"
|
||||
color="primary"
|
||||
matStepperNext
|
||||
data-e2e="continue-button"
|
||||
data-e2e="continue-to-2nd-form"
|
||||
>
|
||||
{{ 'ACTIONS.CONTINUE' | translate }}
|
||||
</button>
|
||||
@@ -130,19 +130,74 @@
|
||||
<button mat-stroked-button matStepperPrevious class="bck-button">{{ 'ACTIONS.BACK' | translate }}</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
class="create-button"
|
||||
[disabled]="secondFormGroup.invalid"
|
||||
color="primary"
|
||||
data-e2e="create-button"
|
||||
(click)="savePolicy(stepper)"
|
||||
[disabled]="
|
||||
firstFormGroup.invalid || secondFormGroup.invalid || (['iam.policy.write'] | hasRole | async) === false
|
||||
"
|
||||
matStepperNext
|
||||
data-e2e="continue-button"
|
||||
>
|
||||
{{ !hasSMTPConfig ? ('ACTIONS.CREATE' | translate) : ('ACTIONS.SAVE' | translate) }}
|
||||
{{ 'ACTIONS.CONTINUE' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</mat-step>
|
||||
|
||||
<mat-step [editable]="true">
|
||||
<form>
|
||||
<ng-template matStepLabel>{{ 'SMTP.CREATE.STEPS.SAVE_SETTINGS' | translate }}</ng-template>
|
||||
<cnsl-info-section>
|
||||
<div class="title-row">
|
||||
<div class="left">
|
||||
<h2 class="title">{{ 'SMTP.CREATE.STEPS.TEST.TITLE' | translate }}</h2>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button color="primary" mat-raised-button class="continue-button" (click)="testEmailConfiguration()">
|
||||
{{ 'ACTIONS.TEST' | translate }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<p class="cnsl-secondary-text description">{{ 'SMTP.CREATE.STEPS.TEST.DESCRIPTION' | translate }}</p>
|
||||
<cnsl-form-field class="formfield">
|
||||
<cnsl-label>{{ 'SMTP.LIST.DIALOG.TEST_EMAIL' | translate }}</cnsl-label>
|
||||
<input
|
||||
cnslInput
|
||||
[(ngModel)]="email"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
data-e2e="email-test-dialog-input"
|
||||
/>
|
||||
</cnsl-form-field>
|
||||
|
||||
<div class="is-loading" *ngIf="isLoading()">
|
||||
<mat-spinner diameter="50"></mat-spinner>
|
||||
</div>
|
||||
|
||||
<cnsl-form-field class="formfield" *ngIf="testResult">
|
||||
<cnsl-label>{{ 'SMTP.LIST.DIALOG.TEST_RESULT' | translate }}</cnsl-label>
|
||||
<textarea
|
||||
cnslInput
|
||||
class="{{ resultClass }}"
|
||||
[(ngModel)]="testResult"
|
||||
[ngModelOptions]="{ standalone: true }"
|
||||
></textarea>
|
||||
</cnsl-form-field>
|
||||
</cnsl-info-section>
|
||||
|
||||
<div class="smtp-create-actions">
|
||||
<button mat-stroked-button matStepperPrevious class="bck-button">{{ 'ACTIONS.BACK' | translate }}</button>
|
||||
<button
|
||||
mat-raised-button
|
||||
class="create-button"
|
||||
color="primary"
|
||||
data-e2e="create-button"
|
||||
(click)="savePolicy(stepper)"
|
||||
[disabled]="
|
||||
firstFormGroup.invalid || secondFormGroup.invalid || (['iam.policy.write'] | hasRole | async) === false
|
||||
"
|
||||
>
|
||||
{{ !hasSMTPConfig ? ('ACTIONS.CREATE' | translate) : ('ACTIONS.SAVE' | translate) }}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</mat-step>
|
||||
|
||||
<mat-step [editable]="true">
|
||||
<form>
|
||||
<ng-template matStepLabel>{{ 'SMTP.CREATE.STEPS.NEXT_STEPS' | translate }}</ng-template>
|
||||
|
@@ -1,8 +1,8 @@
|
||||
import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
||||
import { Location } from '@angular/common';
|
||||
import { Component } from '@angular/core';
|
||||
import { Component, signal } from '@angular/core';
|
||||
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { Subject } from 'rxjs';
|
||||
import { Subject, take } from 'rxjs';
|
||||
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
||||
import { Options } from 'src/app/proto/generated/zitadel/idp_pb';
|
||||
import { requiredValidator } from '../form-field/validators/validators';
|
||||
@@ -11,6 +11,7 @@ import { PolicyComponentServiceType } from '../policies/policy-component-types.e
|
||||
import {
|
||||
AddSMTPConfigRequest,
|
||||
AddSMTPConfigResponse,
|
||||
TestSMTPConfigRequest,
|
||||
UpdateSMTPConfigRequest,
|
||||
UpdateSMTPConfigResponse,
|
||||
} from 'src/app/proto/generated/zitadel/admin_pb';
|
||||
@@ -31,8 +32,10 @@ import {
|
||||
OutlookDefaultSettings,
|
||||
SendgridDefaultSettings,
|
||||
} from './known-smtp-providers-settings';
|
||||
import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
||||
import { MatStepper } from '@angular/material/stepper';
|
||||
import { SMTPConfigState } from 'src/app/proto/generated/zitadel/settings_pb';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
|
||||
@Component({
|
||||
selector: 'cnsl-smtp-provider',
|
||||
@@ -61,6 +64,11 @@ export class SMTPProviderComponent {
|
||||
|
||||
public senderEmailPlaceholder = 'sender@example.com';
|
||||
|
||||
public resultClass = 'test-success';
|
||||
public isLoading = signal(false);
|
||||
public email: string = '';
|
||||
public testResult: string = '';
|
||||
|
||||
constructor(
|
||||
private service: AdminService,
|
||||
private _location: Location,
|
||||
@@ -68,6 +76,8 @@ export class SMTPProviderComponent {
|
||||
private toast: ToastService,
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private authService: GrpcAuthService,
|
||||
private translate: TranslateService,
|
||||
) {
|
||||
this.route.parent?.url.subscribe((urlPath) => {
|
||||
const providerName = urlPath[urlPath.length - 1].path;
|
||||
@@ -136,6 +146,17 @@ export class SMTPProviderComponent {
|
||||
this.fetchData(this.id);
|
||||
}
|
||||
}
|
||||
|
||||
this.authService
|
||||
.getMyUser()
|
||||
.then((resp) => {
|
||||
if (resp.user) {
|
||||
this.email = resp.user.human?.email?.email || '';
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.toast.showError(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -281,6 +302,38 @@ export class SMTPProviderComponent {
|
||||
});
|
||||
}
|
||||
|
||||
public testEmailConfiguration(): void {
|
||||
this.isLoading.set(true);
|
||||
|
||||
const req = new TestSMTPConfigRequest();
|
||||
req.setSenderAddress(this.senderAddress?.value ?? '');
|
||||
req.setSenderName(this.senderName?.value ?? '');
|
||||
req.setHost(this.hostAndPort?.value ?? '');
|
||||
req.setUser(this.user?.value);
|
||||
req.setPassword(this.password?.value ?? '');
|
||||
req.setTls(this.tls?.value ?? false);
|
||||
req.setId(this.id ?? '');
|
||||
req.setReceiverAddress(this.email ?? '');
|
||||
|
||||
this.service
|
||||
.testSMTPConfig(req)
|
||||
.then(() => {
|
||||
this.resultClass = 'test-success';
|
||||
this.isLoading.set(false);
|
||||
this.translate
|
||||
.get('SMTP.CREATE.STEPS.TEST.RESULT')
|
||||
.pipe(take(1))
|
||||
.subscribe((msg) => {
|
||||
this.testResult = msg;
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
this.resultClass = 'test-error';
|
||||
this.isLoading.set(false);
|
||||
this.testResult = error;
|
||||
});
|
||||
}
|
||||
|
||||
public get description(): AbstractControl | null {
|
||||
return this.firstFormGroup.get('description');
|
||||
}
|
||||
|
@@ -96,4 +96,26 @@
|
||||
width: 1.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.continue-button {
|
||||
margin-top: 3rem;
|
||||
display: block;
|
||||
height: 3.5rem;
|
||||
padding: 0 4rem;
|
||||
}
|
||||
|
||||
.is-loading {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.test-error {
|
||||
border-color: #ff3b5b !important;
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.test-success {
|
||||
border-color: #10b981 !important;
|
||||
min-height: 200px;
|
||||
}
|
||||
}
|
||||
|
@@ -93,6 +93,18 @@
|
||||
<i class="las la-times-circle"></i>
|
||||
</button>
|
||||
|
||||
<button
|
||||
actions
|
||||
[disabled]="(['iam.write'] | hasRole | async) === false"
|
||||
mat-icon-button
|
||||
color="primary"
|
||||
matTooltip="{{ 'SMTP.LIST.TEST' | translate }}"
|
||||
data-e2e="test-provider-button"
|
||||
(click)="testSMTPConfig(config.id); $event.stopPropagation()"
|
||||
>
|
||||
<i class="las la-flask"></i>
|
||||
</button>
|
||||
|
||||
<button
|
||||
actions
|
||||
[disabled]="(['iam.write'] | hasRole | async) === false"
|
||||
|
@@ -16,6 +16,7 @@ import { SMTPConfig } from 'src/app/proto/generated/zitadel/settings_pb';
|
||||
import { WarnDialogComponent } from '../warn-dialog/warn-dialog.component';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { SmtpTestDialogComponent } from '../smtp-test-dialog/smtp-test-dialog.component';
|
||||
|
||||
@Component({
|
||||
selector: 'cnsl-smtp-table',
|
||||
@@ -149,6 +150,21 @@ export class SMTPTableComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
public testSMTPConfig(id: string): void {
|
||||
this.dialog.open(SmtpTestDialogComponent, {
|
||||
data: {
|
||||
id: id,
|
||||
confirmKey: 'ACTIONS.TEST',
|
||||
cancelKey: 'ACTIONS.CLOSE',
|
||||
titleKey: 'SMTP.LIST.DIALOG.TEST_TITLE',
|
||||
descriptionKey: 'SMTP.LIST.DIALOG.TEST_DESCRIPTION',
|
||||
emailKey: 'SMTP.LIST.DIALOG.TEST_EMAIL',
|
||||
testResultKey: 'SMTP.LIST.DIALOG.TEST_RESULT',
|
||||
},
|
||||
width: '500px',
|
||||
});
|
||||
}
|
||||
|
||||
private async getData(limit: number, offset: number): Promise<void> {
|
||||
this.loadingSubject.next(true);
|
||||
|
||||
|
@@ -18,6 +18,7 @@ import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { MatTooltipModule } from '@angular/material/tooltip';
|
||||
import { MatTableModule } from '@angular/material/table';
|
||||
import { SmtpTestDialogModule } from '../smtp-test-dialog/smtp-test-dialog.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [SMTPTableComponent],
|
||||
@@ -40,6 +41,7 @@ import { MatTableModule } from '@angular/material/table';
|
||||
HasRoleModule,
|
||||
HasRolePipeModule,
|
||||
TruncatePipeModule,
|
||||
SmtpTestDialogModule,
|
||||
],
|
||||
exports: [SMTPTableComponent],
|
||||
})
|
||||
|
@@ -0,0 +1,47 @@
|
||||
<h1 mat-dialog-title>
|
||||
<span>{{ data.titleKey | translate: data.titleParam }}</span>
|
||||
</h1>
|
||||
|
||||
<div mat-dialog-content>
|
||||
<div class="icon-wrapper" *ngIf="data.icon">
|
||||
<i class="icon {{ data.icon }}"></i>
|
||||
</div>
|
||||
<p class="desc cnsl-secondary-text">{{ data.descriptionKey | translate: data.descriptionParam }}</p>
|
||||
|
||||
<cnsl-info-section *ngIf="data.warnSectionKey" [type]="InfoSectionType.WARN">
|
||||
{{ data.warnSectionKey | translate }}
|
||||
</cnsl-info-section>
|
||||
|
||||
<p *ngIf="data.hintKey" class="desc cnsl-secondary-text">{{ data.hintKey | translate: { value: data.confirmation } }}</p>
|
||||
|
||||
<cnsl-form-field class="formfield">
|
||||
<cnsl-label>{{ data.emailKey | translate }}</cnsl-label>
|
||||
<input cnslInput [(ngModel)]="email" data-e2e="email-test-dialog-input" />
|
||||
</cnsl-form-field>
|
||||
|
||||
<div class="is-loading" *ngIf="isLoading()">
|
||||
<mat-spinner diameter="50"></mat-spinner>
|
||||
</div>
|
||||
|
||||
<cnsl-form-field class="formfield" *ngIf="testResult">
|
||||
<cnsl-label>{{ data.testResultKey | translate }}</cnsl-label>
|
||||
<textarea cnslInput class="{{ resultClass }}" [(ngModel)]="testResult"></textarea>
|
||||
</cnsl-form-field>
|
||||
</div>
|
||||
|
||||
<div class="action" mat-dialog-actions>
|
||||
<button *ngIf="data.cancelKey" mat-stroked-button (click)="closeDialog()">
|
||||
{{ data.cancelKey | translate }}
|
||||
</button>
|
||||
<span class="fill-space"></span>
|
||||
<button
|
||||
color="primary"
|
||||
[disabled]="!email || isLoading()"
|
||||
mat-raised-button
|
||||
class="ok-button"
|
||||
(click)="testEmailConfiguration()"
|
||||
data-e2e="test-email-button"
|
||||
>
|
||||
{{ data.confirmKey | translate }}
|
||||
</button>
|
||||
</div>
|
@@ -0,0 +1,51 @@
|
||||
h1 {
|
||||
font-size: 1.5rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.icon-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding: 1rem;
|
||||
margin: 1rem;
|
||||
align-items: center;
|
||||
|
||||
.icon {
|
||||
font-size: 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.action {
|
||||
display: flex;
|
||||
|
||||
button {
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.ok-button {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
.fill-space {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.is-loading {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.test-error {
|
||||
border-color: #ff3b5b;
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.test-success {
|
||||
border-color: #10b981;
|
||||
min-height: 200px;
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
|
||||
import { SmtpTestDialogComponent } from './smtp-test-dialog.component';
|
||||
|
||||
describe('SmtpTestDialogComponent', () => {
|
||||
let component: SmtpTestDialogComponent;
|
||||
let fixture: ComponentFixture<SmtpTestDialogComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [SmtpTestDialogComponent],
|
||||
}).compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(SmtpTestDialogComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
@@ -0,0 +1,72 @@
|
||||
import { Component, Inject, signal } from '@angular/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
import { InfoSectionType } from '../info-section/info-section.component';
|
||||
import { AdminService } from 'src/app/services/admin.service';
|
||||
import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
||||
import { ToastService } from 'src/app/services/toast.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { TestSMTPConfigByIdRequest } from 'src/app/proto/generated/zitadel/admin_pb';
|
||||
import { take } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'cnsl-smtp-test-dialog',
|
||||
templateUrl: './smtp-test-dialog.component.html',
|
||||
styleUrls: ['./smtp-test-dialog.component.scss'],
|
||||
})
|
||||
export class SmtpTestDialogComponent {
|
||||
public resultClass = 'test-success';
|
||||
public isLoading = signal(false);
|
||||
public email: string = '';
|
||||
public testResult: string = '';
|
||||
InfoSectionType: any = InfoSectionType;
|
||||
constructor(
|
||||
public dialogRef: MatDialogRef<SmtpTestDialogComponent>,
|
||||
private adminService: AdminService,
|
||||
private authService: GrpcAuthService,
|
||||
private toast: ToastService,
|
||||
private translate: TranslateService,
|
||||
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||
) {
|
||||
this.authService
|
||||
.getMyUser()
|
||||
.then((resp) => {
|
||||
if (resp.user) {
|
||||
this.email = resp.user.human?.email?.email || '';
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.toast.showError(error);
|
||||
});
|
||||
}
|
||||
|
||||
public testEmailConfiguration(): void {
|
||||
this.isLoading.set(true);
|
||||
|
||||
const req = new TestSMTPConfigByIdRequest();
|
||||
req.setId(this.data.id);
|
||||
req.setReceiverAddress(this.email);
|
||||
|
||||
this.adminService
|
||||
.testSMTPConfigById(req)
|
||||
.then(() => {
|
||||
this.resultClass = 'test-success';
|
||||
this.isLoading.set(false);
|
||||
this.translate
|
||||
.get('SMTP.CREATE.STEPS.TEST.RESULT')
|
||||
.pipe(take(1))
|
||||
.subscribe((msg) => {
|
||||
this.testResult = msg;
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
this.resultClass = 'test-error';
|
||||
this.isLoading.set(false);
|
||||
this.testResult = error;
|
||||
});
|
||||
}
|
||||
|
||||
public closeDialog(): void {
|
||||
this.dialogRef.close(false);
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { NgModule } from '@angular/core';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
|
||||
import { MatDialogModule } from '@angular/material/dialog';
|
||||
import { InfoSectionModule } from '../info-section/info-section.module';
|
||||
import { InputModule } from '../input/input.module';
|
||||
import { SmtpTestDialogComponent } from './smtp-test-dialog.component';
|
||||
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
||||
|
||||
@NgModule({
|
||||
declarations: [SmtpTestDialogComponent],
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
MatDialogModule,
|
||||
MatProgressSpinnerModule,
|
||||
TranslateModule,
|
||||
InfoSectionModule,
|
||||
MatButtonModule,
|
||||
InputModule,
|
||||
],
|
||||
})
|
||||
export class SmtpTestDialogModule {}
|
@@ -240,6 +240,10 @@ import {
|
||||
SetSecurityPolicyResponse,
|
||||
SetUpOrgRequest,
|
||||
SetUpOrgResponse,
|
||||
TestSMTPConfigByIdRequest,
|
||||
TestSMTPConfigByIdResponse,
|
||||
TestSMTPConfigRequest,
|
||||
TestSMTPConfigResponse,
|
||||
UpdateAppleProviderRequest,
|
||||
UpdateAppleProviderResponse,
|
||||
UpdateAzureADProviderRequest,
|
||||
@@ -330,6 +334,7 @@ import {
|
||||
} from '../proto/generated/zitadel/milestone/v1/milestone_pb';
|
||||
import { OrgFieldName, OrgQuery } from '../proto/generated/zitadel/org_pb';
|
||||
import { SortDirection } from '@angular/material/sort';
|
||||
import { SMTPConfig } from '../proto/generated/zitadel/settings_pb';
|
||||
|
||||
export interface OnboardingActions {
|
||||
order: number;
|
||||
@@ -946,6 +951,14 @@ export class AdminService {
|
||||
return this.grpcService.admin.deactivateSMTPConfig(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public testSMTPConfigById(req: TestSMTPConfigByIdRequest): Promise<TestSMTPConfigByIdResponse.AsObject> {
|
||||
return this.grpcService.admin.testSMTPConfigById(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public testSMTPConfig(req: TestSMTPConfigRequest): Promise<TestSMTPConfigResponse.AsObject> {
|
||||
return this.grpcService.admin.testSMTPConfig(req, null).then((resp) => resp.toObject());
|
||||
}
|
||||
|
||||
public removeSMTPConfig(id: string): Promise<RemoveSMTPConfigResponse.AsObject> {
|
||||
const req = new RemoveSMTPConfigRequest();
|
||||
req.setId(id);
|
||||
|
@@ -485,8 +485,15 @@
|
||||
"NEXT": "Следващ",
|
||||
"MORE": "Повече ▼",
|
||||
"STEP": "стъпка",
|
||||
"SETUP": "Настройвам",
|
||||
"COMINGSOON": "Очаквайте скоро",
|
||||
"TEST": "Тест",
|
||||
"UNSAVEDCHANGES": "Незапазени промени",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
"DESCRIPTION": "Сигурни ли сте, че искате да отхвърлите това ново действие? Вашето действие ще бъде загубено",
|
||||
"CANCEL": "Отказ",
|
||||
"DISCARD": "Изхвърлете"
|
||||
}
|
||||
},
|
||||
"TABLE": {
|
||||
"SHOWUSER": "Покажи потребител {{value}}"
|
||||
},
|
||||
@@ -2228,6 +2235,7 @@
|
||||
"ACTIVATED": "Активиран",
|
||||
"ACTIVATE": "Активирайте доставчика",
|
||||
"DEACTIVATE": "Деактивирайте доставчика",
|
||||
"TEST": "Тествайте вашия доставчик",
|
||||
"TYPE": "Тип",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP конфигурацията е активирана",
|
||||
@@ -2251,7 +2259,6 @@
|
||||
"CURRENT_DESC_TITLE": "Това са вашите SMTP настройки",
|
||||
"PROVIDER_SETTINGS": "Настройки на SMTP доставчик",
|
||||
"SENDER_SETTINGS": "Настройки на изпращача",
|
||||
"TEST_SETTINGS": "Тествайте настройките на SMTP",
|
||||
"NEXT_STEPS": "Следващи стъпки",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Активирайте вашия SMTP доставчик",
|
||||
@@ -2260,6 +2267,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Деактивирайте вашия SMTP доставчик",
|
||||
"DESCRIPTION": "Ако деактивирате този SMTP доставчик, ZITADEL не може да го използва за изпращане на известия, докато не го активирате отново."
|
||||
},
|
||||
"SAVE_SETTINGS": "Запазете вашите настройки",
|
||||
"TEST": {
|
||||
"TITLE": "Тествайте настройките си",
|
||||
"DESCRIPTION": "Можете да тествате настройките на вашия SMTP доставчик и да проверите резултата от теста, преди да ги запазите",
|
||||
"RESULT": "Вашият имейл беше изпратен успешно"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "více",
|
||||
"STEP": "Krok",
|
||||
"SETUP": "Nastavit",
|
||||
"TEST": "Test",
|
||||
"UNSAVEDCHANGES": "Neuložené změny",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2247,6 +2248,7 @@
|
||||
"ACTIVATED": "Aktivováno",
|
||||
"ACTIVATE": "Aktivujte poskytovatele",
|
||||
"DEACTIVATE": "Deaktivovat poskytovatele",
|
||||
"TEST": "Otestujte svého poskytovatele",
|
||||
"TYPE": "Typ",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "Konfigurace SMTP byla aktivována",
|
||||
@@ -2270,7 +2272,6 @@
|
||||
"CURRENT_DESC_TITLE": "Toto jsou vaše nastavení SMTP",
|
||||
"PROVIDER_SETTINGS": "Nastavení poskytovatele SMTP",
|
||||
"SENDER_SETTINGS": "Nastavení odesílatele",
|
||||
"TEST_SETTINGS": "Otestujte nastavení SMTP",
|
||||
"NEXT_STEPS": "Další kroky",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Aktivujte svého poskytovatele SMTP",
|
||||
@@ -2279,6 +2280,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Deaktivujte svého poskytovatele SMTP",
|
||||
"DESCRIPTION": "Pokud deaktivujete tohoto poskytovatele SMTP, ZITADEL jej nebude moci používat k odesílání upozornění, dokud jej znovu neaktivujete."
|
||||
},
|
||||
"SAVE_SETTINGS": "Uložte nastavení",
|
||||
"TEST": {
|
||||
"TITLE": "Otestujte svá nastavení",
|
||||
"DESCRIPTION": "Nastavení poskytovatele SMTP můžete otestovat a před uložením zkontrolovat výsledek testu",
|
||||
"RESULT": "Váš email byl úspěšně odeslán"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -485,6 +485,8 @@
|
||||
"NEXT": "Weiter",
|
||||
"MORE": "mehr",
|
||||
"STEP": "Schritt",
|
||||
"SETUP": "Aufstellen",
|
||||
"TEST": "Prüfen",
|
||||
"UNSAVEDCHANGES": "Nicht gespeicherte Änderungen",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2237,6 +2239,7 @@
|
||||
"ACTIVATED": "Aktiviert",
|
||||
"ACTIVATE": "Anbieter aktivieren",
|
||||
"DEACTIVATE": "Anbieter deaktivieren",
|
||||
"TEST": "Testen Sie Ihren Anbieter",
|
||||
"TYPE": "Typ",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "Die SMTP-Konfiguration wurde aktiviert",
|
||||
@@ -2260,7 +2263,6 @@
|
||||
"CURRENT_DESC_TITLE": "Dies sind Ihre SMTP-Einstellungen",
|
||||
"PROVIDER_SETTINGS": "SMTP-Anbietereinstellungen",
|
||||
"SENDER_SETTINGS": "Absendereinstellungen",
|
||||
"TEST_SETTINGS": "Testen Sie die SMTP-Einstellungen",
|
||||
"NEXT_STEPS": "Nächste Schritte",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Aktivieren Sie Ihren SMTP-Anbieter",
|
||||
@@ -2269,6 +2271,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Deaktivieren Sie Ihren SMTP-Anbieter",
|
||||
"DESCRIPTION": "Wenn Sie diesen SMTP-Anbieter deaktivieren, kann ZITADEL ihn nicht zum Versenden von Benachrichtigungen verwenden, bis Sie ihn erneut aktivieren."
|
||||
},
|
||||
"SAVE_SETTINGS": "Speichern Sie Ihre Einstellungen",
|
||||
"TEST": {
|
||||
"TITLE": "Testen Sie Ihre Einstellungen",
|
||||
"DESCRIPTION": "Sie können die Einstellungen Ihres SMTP-Anbieters testen und das Testergebnis überprüfen, bevor Sie sie speichern",
|
||||
"RESULT": "Deine E-Mail wurde erfolgreich versandt"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "more",
|
||||
"STEP": "Step",
|
||||
"SETUP": "Setup",
|
||||
"TEST": "Test",
|
||||
"UNSAVEDCHANGES": "Unsaved changes",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2259,6 +2260,7 @@
|
||||
"ACTIVATED": "Activated",
|
||||
"ACTIVATE": "Activate provider",
|
||||
"DEACTIVATE": "Deactivate provider",
|
||||
"TEST": "Test your provider",
|
||||
"TYPE": "Type",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP config has been activated",
|
||||
@@ -2270,7 +2272,11 @@
|
||||
"DELETE_TITLE": "Delete SMTP config",
|
||||
"DELETE_DESCRIPTION": "You are about to delete a configuration. Confirm this action typing the sender name",
|
||||
"DELETED": "SMTP config has been deleted",
|
||||
"SENDER": "Type {{value}}, to delete this SMTP configuration."
|
||||
"SENDER": "Type {{value}}, to delete this SMTP configuration.",
|
||||
"TEST_TITLE": "Test your SMTP config",
|
||||
"TEST_DESCRIPTION": "Specify an email address to test your SMTP configuration for this provider",
|
||||
"TEST_EMAIL": "Email address",
|
||||
"TEST_RESULT": "Test result"
|
||||
}
|
||||
},
|
||||
"CREATE": {
|
||||
@@ -2282,7 +2288,6 @@
|
||||
"CURRENT_DESC_TITLE": "These are your SMTP settings",
|
||||
"PROVIDER_SETTINGS": "SMTP Provider Settings",
|
||||
"SENDER_SETTINGS": "Sender Settings",
|
||||
"TEST_SETTINGS": "Test SMTP Settings",
|
||||
"NEXT_STEPS": "Next Steps",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Activate your SMTP Provider",
|
||||
@@ -2291,6 +2296,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Deactivate your SMTP Provider",
|
||||
"DESCRIPTION": "If you deactivate this SMTP Provider, ZITADEL cannot use it to send notifications until you activate it again."
|
||||
},
|
||||
"SAVE_SETTINGS": "Save your settings",
|
||||
"TEST": {
|
||||
"TITLE": "Test your settings",
|
||||
"DESCRIPTION": "You can test your SMTP provider settings and check the test result before saving them",
|
||||
"RESULT": "Your email was succesfully sent"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "más",
|
||||
"STEP": "Paso",
|
||||
"SETUP": "Configurar",
|
||||
"TEST": "Probar",
|
||||
"UNSAVEDCHANGES": "Cambios no guardados",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2235,6 +2236,7 @@
|
||||
"ACTIVATED": "Activado",
|
||||
"ACTIVATE": "Activar proveedor",
|
||||
"DEACTIVATE": "Desactivar proveedor",
|
||||
"TEST": "Prueba tu proveedor",
|
||||
"TYPE": "Tipo",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "Tu configuración SMTP ha sido activada",
|
||||
@@ -2258,7 +2260,6 @@
|
||||
"CURRENT_DESC_TITLE": "Estas son tus configuraciones SMTP",
|
||||
"PROVIDER_SETTINGS": "Configuración del proveedor SMTP",
|
||||
"SENDER_SETTINGS": "Configuración del remitente",
|
||||
"TEST_SETTINGS": "Probar la configuración SMTP",
|
||||
"NEXT_STEPS": "Pŕoximos pasos",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Activa tu proveedor SMTP",
|
||||
@@ -2267,6 +2268,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Desactiva tu proveedor SMTP",
|
||||
"DESCRIPTION": "Si desactivas este proveedor SMTP, ZITADEL no puede utilizarlo para enviar notificationes hasta que lo actives otra vez."
|
||||
},
|
||||
"SAVE_SETTINGS": "Guarda tu configuración",
|
||||
"TEST": {
|
||||
"TITLE": "Prueba tu configuración",
|
||||
"DESCRIPTION": "Puedes probar tu configuración SMTP y revisar el resultado de la prueba antes de guardar la configuración",
|
||||
"RESULT": "Tu email fue enviado con éxito"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -485,6 +485,8 @@
|
||||
"NEXT": "Suivant",
|
||||
"MORE": "Plus",
|
||||
"STEP": "Étape",
|
||||
"SETUP": "Installation",
|
||||
"TEST": "Test",
|
||||
"UNSAVEDCHANGES": "Modifications non enregistrées",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2238,6 +2240,7 @@
|
||||
"ACTIVATED": "Activé",
|
||||
"ACTIVATE": "Activer le fournisseur",
|
||||
"DEACTIVATE": "Désactiver le fournisseur",
|
||||
"TEST": "Testez votre fournisseur",
|
||||
"TYPE": "Type",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "La configuration SMTP a été activée",
|
||||
@@ -2261,7 +2264,6 @@
|
||||
"CURRENT_DESC_TITLE": "Ce sont vos paramètres SMTP",
|
||||
"PROVIDER_SETTINGS": "Paramètres du fournisseur SMTP",
|
||||
"SENDER_SETTINGS": "Paramètres de l'expéditeur",
|
||||
"TEST_SETTINGS": "Tester les paramètres SMTP",
|
||||
"NEXT_STEPS": "Prochaines étapes",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Activez votre fournisseur SMTP",
|
||||
@@ -2270,6 +2272,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Désactivez votre fournisseur SMTP",
|
||||
"DESCRIPTION": "Si vous désactivez l'option SMTP, vous ne pourrez pas vous connecter à l'application, le dossier sera alors désactivé."
|
||||
},
|
||||
"SAVE_SETTINGS": "Enregistrez vos paramètres",
|
||||
"TEST": {
|
||||
"TITLE": "Testez vos paramètres",
|
||||
"DESCRIPTION": "Vous pouvez tester les paramètres de votre fournisseur SMTP et vérifier le résultat du test avant de les enregistrer",
|
||||
"RESULT": "Votre email a été envoyé avec succès"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -485,6 +485,8 @@
|
||||
"NEXT": "Avanti",
|
||||
"MORE": "azioni",
|
||||
"STEP": "Passo",
|
||||
"SETUP": "Setup",
|
||||
"TEST": "Test",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
"DESCRIPTION": "Sei sicuro di voler eliminare questa nuova azione? La tua azione andrà persa",
|
||||
@@ -2238,6 +2240,7 @@
|
||||
"ACTIVATED": "Attivato",
|
||||
"ACTIVATE": "Attiva fornitore",
|
||||
"DEACTIVATE": "Disattiva fornitore",
|
||||
"TEST": "Metti alla prova il tuo fornitore",
|
||||
"TYPE": "Tipo",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "La configurazione SMTP è stata attivata",
|
||||
@@ -2261,7 +2264,6 @@
|
||||
"CURRENT_DESC_TITLE": "Queste sono le tue impostazioni SMTP",
|
||||
"PROVIDER_SETTINGS": "Impostazioni del provider SMTP",
|
||||
"SENDER_SETTINGS": "Impostazioni mittente",
|
||||
"TEST_SETTINGS": "Testare le impostazioni SMTP",
|
||||
"NEXT_STEPS": "Prossimi passi",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Attiva il tuo provider SMTP",
|
||||
@@ -2270,6 +2272,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Disattiva il tuo provider SMTP",
|
||||
"DESCRIPTION": "Dopo aver disattivato l'archivio SMTP, la schermata non è disponibile per l'utente, il documento è nuovo e non è attivo."
|
||||
},
|
||||
"SAVE_SETTINGS": "Salva le tue impostazioni",
|
||||
"TEST": {
|
||||
"TITLE": "Metti alla prova le tue impostazioni",
|
||||
"DESCRIPTION": "Puoi testare le impostazioni del tuo provider SMTP e controllare il risultato del test prima di salvarle",
|
||||
"RESULT": "La tua email è stata inviata correttamente"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "さらに",
|
||||
"STEP": "ステップ",
|
||||
"SETUP": "セットアップ",
|
||||
"TEST": "テスト",
|
||||
"UNSAVEDCHANGES": "未保存の変更",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2230,6 +2231,7 @@
|
||||
"ACTIVATED": "アクティブ化された",
|
||||
"ACTIVATE": "プロバイダーをアクティブ化する",
|
||||
"DEACTIVATE": "プロバイダーを非アクティブ化する",
|
||||
"TEST": "プロバイダーをテストする",
|
||||
"TYPE": "タイプ",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP設定が有効化されました",
|
||||
@@ -2253,7 +2255,6 @@
|
||||
"CURRENT_DESC_TITLE": "これらは SMTP 設定です",
|
||||
"PROVIDER_SETTINGS": "SMTPプロバイダーの設定",
|
||||
"SENDER_SETTINGS": "送信者の設定",
|
||||
"TEST_SETTINGS": "SMTP設定をテストする",
|
||||
"NEXT_STEPS": "次のステップ",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "SMTP プロバイダーをアクティブ化する",
|
||||
@@ -2262,6 +2263,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "SMTPプロバイダーを非アクティブ化します",
|
||||
"DESCRIPTION": "この SMTP プロバイダーを非アクティブ化すると、再度アクティブ化するまで、Zitadel はそれを使用して通知を送信できなくなります。"
|
||||
},
|
||||
"SAVE_SETTINGS": "設定を保存する",
|
||||
"TEST": {
|
||||
"TITLE": "設定をテストする",
|
||||
"DESCRIPTION": "SMTP プロバイダーの設定をテストし、保存する前にテスト結果を確認できます。",
|
||||
"RESULT": "あなたの電子メールが正常に送信されました"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "повеќе",
|
||||
"STEP": "Чекор",
|
||||
"SETUP": "Подесување",
|
||||
"TEST": "Тест",
|
||||
"UNSAVEDCHANGES": "Незачувани промени",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2235,6 +2236,7 @@
|
||||
"ACTIVATED": "Активиран",
|
||||
"ACTIVATE": "Активирајте го провајдерот",
|
||||
"DEACTIVATE": "Деактивирајте го провајдерот",
|
||||
"TEST": "Тестирајте го вашиот провајдер",
|
||||
"TYPE": "Тип",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP конфигурацијата е активирана",
|
||||
@@ -2258,7 +2260,6 @@
|
||||
"CURRENT_DESC_TITLE": "Ова се вашите поставки за SMTP",
|
||||
"PROVIDER_SETTINGS": "Поставки на провајдерот SMTP",
|
||||
"SENDER_SETTINGS": "Поставки на испраќачот",
|
||||
"TEST_SETTINGS": "Тестирајте ги поставките за SMTP",
|
||||
"NEXT_STEPS": "Следните чекори",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Активирајте го вашиот SMTP провајдер",
|
||||
@@ -2267,6 +2268,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Деактивирајте го вашиот SMTP провајдер",
|
||||
"DESCRIPTION": "Ако го деактивирате овој SMTP провајдер, ZITADEL не може да го користи за испраќање известувања додека не го активирате повторно."
|
||||
},
|
||||
"SAVE_SETTINGS": "Зачувајте ги вашите поставки",
|
||||
"TEST": {
|
||||
"TITLE": "Тестирајте ги вашите поставки",
|
||||
"DESCRIPTION": "Можете да ги тестирате поставките на провајдерот SMTP и да го проверите резултатот од тестот пред да ги зачувате",
|
||||
"RESULT": "Вашата е-пошта беше успешно испратена"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "meer",
|
||||
"STEP": "Stap",
|
||||
"SETUP": "Instellen",
|
||||
"TEST": "Test",
|
||||
"UNSAVEDCHANGES": "Niet-opgeslagen wijzigingen",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2256,6 +2257,7 @@
|
||||
"ACTIVATED": "Geactiveerd",
|
||||
"ACTIVATE": "Aanbieder activeren",
|
||||
"DEACTIVATE": "Aanbieder deactiveren",
|
||||
"TEST": "Test uw aanbieder",
|
||||
"TYPE": "Type",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP-configuratie is geactiveerd",
|
||||
@@ -2279,7 +2281,6 @@
|
||||
"CURRENT_DESC_TITLE": "Dit zijn uw SMTP-instellingen",
|
||||
"PROVIDER_SETTINGS": "SMTP-providerinstellingen",
|
||||
"SENDER_SETTINGS": "Afzenderinstellingen",
|
||||
"TEST_SETTINGS": "SMTP-instellingen testen",
|
||||
"NEXT_STEPS": "Volgende stappen",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Activeer uw SMTP-provider",
|
||||
@@ -2288,6 +2289,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Deactiveer uw SMTP-provider",
|
||||
"DESCRIPTION": "Als u deze SMTP-provider deactiveert, kan ZITADEL deze niet gebruiken om meldingen te verzenden totdat u deze opnieuw activeert."
|
||||
},
|
||||
"SAVE_SETTINGS": "Sla uw instellingen op",
|
||||
"TEST": {
|
||||
"TITLE": "Test uw instellingen",
|
||||
"DESCRIPTION": "U kunt de instellingen van uw SMTP-provider testen en het testresultaat controleren voordat u deze opslaat",
|
||||
"RESULT": "Je email is succesvol verzonden"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "więcej",
|
||||
"STEP": "Krok",
|
||||
"UNSAVEDCHANGES": "Niezapisane zmiany",
|
||||
"TEST": "Test",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
"DESCRIPTION": "Czy na pewno chcesz odrzucić to nowe działanie? Twoje działanie zostanie utracone",
|
||||
@@ -2238,6 +2239,7 @@
|
||||
"ACTIVATED": "Aktywowany",
|
||||
"ACTIVATE": "Aktywuj dostawcę",
|
||||
"DEACTIVATE": "Dezaktywuj dostawcę",
|
||||
"TEST": "Przetestuj swojego dostawcę",
|
||||
"TYPE": "Typ",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "Konfiguracja SMTP została aktywowana",
|
||||
@@ -2261,7 +2263,6 @@
|
||||
"CURRENT_DESC_TITLE": "To są Twoje ustawienia SMTP",
|
||||
"PROVIDER_SETTINGS": "Ustawienia dostawcy SMTP",
|
||||
"SENDER_SETTINGS": "Ustawienia nadawcy",
|
||||
"TEST_SETTINGS": "Przetestuj ustawienia SMTP",
|
||||
"NEXT_STEPS": "Następne kroki",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Aktywuj swojego dostawcę SMTP",
|
||||
@@ -2270,6 +2271,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Dezaktywuj swojego dostawcę SMTP",
|
||||
"DESCRIPTION": "Jeśli dezaktywujesz tego dostawcę SMTP, ZITADEL nie będzie mógł go używać do wysyłania powiadomień, dopóki nie aktywujesz go ponownie."
|
||||
},
|
||||
"SAVE_SETTINGS": "Zapisz swoje ustawienia",
|
||||
"TEST": {
|
||||
"TITLE": "Przetestuj swoje ustawienia",
|
||||
"DESCRIPTION": "Możesz przetestować ustawienia dostawcy SMTP i sprawdzić wynik testu przed ich zapisaniem",
|
||||
"RESULT": "Twój email został wysłany"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "mais",
|
||||
"STEP": "Passo",
|
||||
"SETUP": "Configuração",
|
||||
"TEST": "Teste",
|
||||
"UNSAVEDCHANGES": "Alterações não salvas",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2233,6 +2234,7 @@
|
||||
"ACTIVATED": "Ativado",
|
||||
"ACTIVATE": "Ativar provedor",
|
||||
"DEACTIVATE": "Desativar provedor",
|
||||
"TEST": "Teste seu provedor",
|
||||
"TYPE": "Tipo",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "A configuração SMTP foi ativada",
|
||||
@@ -2256,7 +2258,6 @@
|
||||
"CURRENT_DESC_TITLE": "Estas são suas configurações de SMTP",
|
||||
"PROVIDER_SETTINGS": "Configurações do provedor SMTP",
|
||||
"SENDER_SETTINGS": "Configurações do remetente",
|
||||
"TEST_SETTINGS": "Testar configurações de SMTP",
|
||||
"NEXT_STEPS": "Próximos passos",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Ative seu provedor SMTP",
|
||||
@@ -2265,6 +2266,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Desative seu provedor SMTP",
|
||||
"DESCRIPTION": "Se você desativar este provedor SMTP, a ZITADEL não poderá usá-lo para enviar notificações até que você o ative novamente."
|
||||
},
|
||||
"SAVE_SETTINGS": "Salve suas configurações",
|
||||
"TEST": {
|
||||
"TITLE": "Teste suas configurações",
|
||||
"DESCRIPTION": "Você pode testar as configurações do seu provedor SMTP e verificar o resultado do teste antes de salvá-las",
|
||||
"RESULT": "Seu e-mail foi enviado com sucesso"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -485,6 +485,7 @@
|
||||
"MORE": "больше",
|
||||
"STEP": "Шаг",
|
||||
"SETUP": "Настроить",
|
||||
"TEST": "Тест",
|
||||
"UNSAVEDCHANGES": "Несохраненные изменения",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2350,6 +2351,7 @@
|
||||
"ACTIVATED": "Активировано",
|
||||
"ACTIVATE": "Активировать провайдера",
|
||||
"DEACTIVATE": "Деактивировать провайдера",
|
||||
"TEST": "Проверьте своего провайдера",
|
||||
"TYPE": "Тип",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "Конфигурация SMTP активирована",
|
||||
@@ -2373,7 +2375,6 @@
|
||||
"CURRENT_DESC_TITLE": "Это ваши настройки SMTP",
|
||||
"PROVIDER_SETTINGS": "Настройки SMTP-провайдера",
|
||||
"SENDER_SETTINGS": "Настройки отправителя",
|
||||
"TEST_SETTINGS": "Проверка настроек SMTP",
|
||||
"NEXT_STEPS": "Следующие шаги",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Активируйте своего SMTP-провайдера",
|
||||
@@ -2382,6 +2383,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Деактивируйте своего SMTP-провайдера",
|
||||
"DESCRIPTION": "Если вы деактивируете этого поставщика SMTP, ZITADEL не сможет использовать его для отправки уведомлений, пока вы не активируете его снова."
|
||||
},
|
||||
"SAVE_SETTINGS": "Сохраните настройки",
|
||||
"TEST": {
|
||||
"TITLE": "Проверьте свои настройки",
|
||||
"DESCRIPTION": "Вы можете проверить настройки своего провайдера SMTP и проверить результаты проверки перед их сохранением.",
|
||||
"RESULT": "Ваше письмо было успешно отправлено"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -486,6 +486,7 @@
|
||||
"MORE": "mer",
|
||||
"STEP": "Steg",
|
||||
"SETUP": "Inställning",
|
||||
"TEST": "Testa",
|
||||
"UNSAVEDCHANGES": "Osparade ändringar",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2259,6 +2260,7 @@
|
||||
"ACTIVATED": "Aktiverad",
|
||||
"ACTIVATE": "Aktivera leverantör",
|
||||
"DEACTIVATE": "Inaktivera leverantör",
|
||||
"TEST": "Testa din leverantör",
|
||||
"TYPE": "Typ",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP-konfigurationen har aktiverats",
|
||||
@@ -2270,7 +2272,11 @@
|
||||
"DELETE_TITLE": "Radera SMTP-konfiguration",
|
||||
"DELETE_DESCRIPTION": "Du håller på att radera en konfiguration. Bekräfta denna åtgärd genom att skriva avsändarnamnet",
|
||||
"DELETED": "SMTP-konfigurationen har raderats",
|
||||
"SENDER": "Skriv {{value}}, för att radera denna SMTP-konfiguration."
|
||||
"SENDER": "Skriv {{value}}, för att radera denna SMTP-konfiguration.",
|
||||
"TEST_TITLE": "Testa din SMTP-konfiguration",
|
||||
"TEST_DESCRIPTION": "Ange en e-postadress för att testa din SMTP-konfiguration för den här leverantören",
|
||||
"TEST_EMAIL": "E-postadress",
|
||||
"TEST_RESULT": "Testresultat"
|
||||
}
|
||||
},
|
||||
"CREATE": {
|
||||
@@ -2282,7 +2288,6 @@
|
||||
"CURRENT_DESC_TITLE": "Dessa är dina SMTP-inställningar",
|
||||
"PROVIDER_SETTINGS": "SMTP-leverantörsinställningar",
|
||||
"SENDER_SETTINGS": "Avsändarinställningar",
|
||||
"TEST_SETTINGS": "Testa SMTP-inställningar",
|
||||
"NEXT_STEPS": "Nästa steg",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "Aktivera din SMTP-leverantör",
|
||||
@@ -2291,6 +2296,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "Inaktivera din SMTP-leverantör",
|
||||
"DESCRIPTION": "Om du inaktiverar denna SMTP-leverantör kan ZITADEL inte använda den för att skicka meddelanden förrän du aktiverar den igen."
|
||||
},
|
||||
"SAVE_SETTINGS": "Spara dina inställningar",
|
||||
"TEST": {
|
||||
"TITLE": "Testa dina inställningar",
|
||||
"DESCRIPTION": "Du kan testa inställningarna för din SMTP-leverantör och kontrollera testresultatet innan du sparar dem",
|
||||
"RESULT": "Ditt e-postmeddelande har skickats"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@@ -485,6 +485,8 @@
|
||||
"NEXT": "下一页",
|
||||
"MORE": "更多",
|
||||
"STEP": "步",
|
||||
"SETUP": "设置",
|
||||
"TEST": "测试",
|
||||
"UNSAVEDCHANGES": "未保存的更改",
|
||||
"UNSAVED": {
|
||||
"DIALOG": {
|
||||
@@ -2237,6 +2239,7 @@
|
||||
"ACTIVATED": "活性",
|
||||
"ACTIVATE": "激活提供商",
|
||||
"DEACTIVATE": "停用提供商",
|
||||
"TEST": "测试您的提供商",
|
||||
"TYPE": "类型",
|
||||
"DIALOG": {
|
||||
"ACTIVATED": "SMTP 配置已激活",
|
||||
@@ -2260,7 +2263,6 @@
|
||||
"CURRENT_DESC_TITLE": "这些是您的 SMTP 设置",
|
||||
"PROVIDER_SETTINGS": "SMTP 提供商设置",
|
||||
"SENDER_SETTINGS": "发件人设置",
|
||||
"TEST_SETTINGS": "测试 SMTP 设置",
|
||||
"NEXT_STEPS": "下一步",
|
||||
"ACTIVATE": {
|
||||
"TITLE": "激活您的 SMTP 提供商",
|
||||
@@ -2269,6 +2271,12 @@
|
||||
"DEACTIVATE": {
|
||||
"TITLE": "停用您的 SMTP 提供商",
|
||||
"DESCRIPTION": "如果您停用此 SMTP 提供程序,Zitadel 将无法使用它发送通知,直到您再次激活它。"
|
||||
},
|
||||
"SAVE_SETTINGS": "保存您的设置",
|
||||
"TEST": {
|
||||
"TITLE": "测试您的设置",
|
||||
"DESCRIPTION": "您可以测试您的 SMTP 提供商设置并在保存之前检查测试结果",
|
||||
"RESULT": "您的电子邮件已成功发送"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
Reference in New Issue
Block a user