diff --git a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
index cca3c9f91cc142e27659144365b7c3ece7075446..f2f6e13555a45c935a300cd1c961541bb0824dec 100644
--- a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
+++ b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
@@ -2,7 +2,7 @@
     <span style="flex: 1;">
         {{data.title}}
     </span>
-    <button [title]="lang.close" mat-icon-button (click)="closeModal()">
+    <button [title]="lang.saveAndClose" mat-icon-button (click)="saveDraft()">
         <mat-icon class="fa fa-times"></mat-icon>
     </button></h1>
 <mat-dialog-content class="modal-container">
@@ -181,7 +181,6 @@
     <button mat-raised-button color="primary"
         *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()"
         [disabled]="recipients.length === 0">{{lang.send}}</button>
-    <button mat-raised-button color="primary" *ngIf="canManageMail()" (click)="saveDraft()">{{lang.saveDraft}}</button>
     <button mat-raised-button color="warn" (click)="deleteEmail()" *ngIf="data.emailId && data.emailType === 'email'"
         [disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button>
 </div>
diff --git a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
index 560ddcf51340464dd426bcf9843b6fbd8eabfba7..df53325e9ba6d12c774d40455f6627143a9aca62 100644
--- a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
+++ b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
@@ -107,19 +107,27 @@ export class SentResourcePageComponent implements OnInit {
                 this.emailAttach[element] = [];
             }
         });
-        this.initEmailModelsList();
-        this.initEmailsList();
-        this.initSignEmailModelsList();
 
         await this.getAttachElements();
-        await this.getResourceData();
-        await this.getUserEmails();
 
         if (this.data.emailId && this.data.emailType === 'email') {
             await this.getEmailData(this.data.emailId);
         } else if (this.data.emailId && this.data.emailType === 'acknowledgementReceipt') {
             await this.getAcknowledgementReceiptData(this.data.emailId);
         }
+
+        if (this.canManageMail()) {
+            this.initEmailModelsList();
+            this.initEmailsList();
+            this.initSignEmailModelsList();
+
+            await this.getResourceData();
+            await this.getUserEmails();
+
+            if (this.emailStatus !== 'DRAFT') {
+                this.setDefaultInfo();
+            }
+        }
         this.loading = false;
         setTimeout(() => {
             this.initMce();
@@ -160,7 +168,7 @@ export class SentResourcePageComponent implements OnInit {
                 {
                     label: value.trim(),
                     email: value.trim(),
-                    badFormat : this.isBadEmailFormat(value.trim())
+                    badFormat: this.isBadEmailFormat(value.trim())
                 });
         }
 
@@ -292,21 +300,21 @@ export class SentResourcePageComponent implements OnInit {
                         return {
                             label: item,
                             email: item,
-                            badFormat : this.isBadEmailFormat(item)
+                            badFormat: this.isBadEmailFormat(item)
                         }
                     });
                     this.copies = data.cc.map((item: any) => {
                         return {
                             label: item,
                             email: item,
-                            badFormat : this.isBadEmailFormat(item)
+                            badFormat: this.isBadEmailFormat(item)
                         }
                     });
                     this.invisibleCopies = data.cci.map((item: any) => {
                         return {
                             label: item,
                             email: item,
-                            badFormat : this.isBadEmailFormat(item)
+                            badFormat: this.isBadEmailFormat(item)
                         }
                     });
 
@@ -318,7 +326,7 @@ export class SentResourcePageComponent implements OnInit {
                     this.emailStatus = data.status;
 
                     this.currentSender = {
-                        entityId : data.sender.entityId,
+                        entityId: data.sender.entityId,
                         label: data.sender.label,
                         email: data.sender.email
                     };
@@ -334,7 +342,7 @@ export class SentResourcePageComponent implements OnInit {
                                             ...item,
                                             format: dataAttach.original || dataAttach.original === undefined ? item.format : 'pdf',
                                             original: dataAttach.original,
-                                            size : dataAttach.original || dataAttach.original === undefined ? item.size : item.convertedDocument.size
+                                            size: dataAttach.original || dataAttach.original === undefined ? item.size : item.convertedDocument.size
                                         }
                                     })
                                 }
@@ -345,7 +353,7 @@ export class SentResourcePageComponent implements OnInit {
                             this.emailAttach.document.size = this.emailAttach.document.original ? this.emailAttachTool.document.list[0].size : this.emailAttachTool.document.list[0].convertedDocument.size
                         }
                     });
-                    
+
                     resolve(true);
                 }),
                 catchError((err) => {
@@ -400,16 +408,10 @@ export class SentResourcePageComponent implements OnInit {
             this.http.get(`../../rest/resources/${this.data.resId}?light=true`).pipe(
                 tap((data: any) => {
                     this.resourceData = data;
-                    this.emailsubject = `[${this.resourceData.chrono}] ${this.resourceData.subject}`;
-                    this.emailsubject = this.emailsubject.substring(0, 70);
+
                     this.emailAttach.document.chrono = this.resourceData.chrono;
                     this.emailAttach.document.label = this.resourceData.subject;
 
-                    if (!this.functions.empty(this.resourceData.senders)) {
-                        this.resourceData.senders.forEach((sender: any) => {
-                            this.setSender(sender.id);
-                        });
-                    }
                     resolve(true);
                 }),
                 catchError((err) => {
@@ -421,6 +423,17 @@ export class SentResourcePageComponent implements OnInit {
         });
     }
 
+    setDefaultInfo() {
+        this.emailsubject = `[${this.resourceData.chrono}] ${this.resourceData.subject}`;
+        this.emailsubject = this.emailsubject.substring(0, 70);
+        this.currentSender = this.availableSenders[0];
+        if (!this.functions.empty(this.resourceData.senders)) {
+            this.resourceData.senders.forEach((sender: any) => {
+                this.setSender(sender.id);
+            });
+        }
+    }
+
     setSender(id: number) {
         this.http.get(`../../rest/contacts/${id}`).pipe(
             tap((data: any) => {
@@ -445,7 +458,6 @@ export class SentResourcePageComponent implements OnInit {
             this.http.get('../../rest/currentUser/availableEmails').pipe(
                 tap((data: any) => {
                     this.availableSenders = data.emails;
-                    this.currentSender = this.availableSenders[0];
                     resolve(true);
                 }),
                 catchError((err) => {
@@ -568,7 +580,7 @@ export class SentResourcePageComponent implements OnInit {
             } else {
                 if (this.emailsubject === '') {
                     const dialogRef = this.dialog.open(ConfirmComponent, { autoFocus: false, disableClose: true, data: { title: this.lang.confirm, msg: this.lang.warnEmptySubject } });
-    
+
                     dialogRef.afterClosed().pipe(
                         filter((data: string) => data === 'ok'),
                         tap(() => {
@@ -588,7 +600,7 @@ export class SentResourcePageComponent implements OnInit {
         this.http.post(`../../rest/emails`, this.formatEmail()).pipe(
             tap(() => {
                 if (this.emailStatus === 'DRAFT') {
-                    this.notify.success(this.lang.draftSaved);
+                    // this.notify.success(this.lang.draftSaved);
                 } else {
                     this.notify.success(`${this.lang.sendingEmail}...`);
                 }
@@ -626,7 +638,7 @@ export class SentResourcePageComponent implements OnInit {
         this.http.put(`../../rest/emails/${this.data.emailId}`, this.formatEmail()).pipe(
             tap(() => {
                 if (this.emailStatus === 'DRAFT') {
-                    this.notify.success(this.lang.draftUpdated);
+                    // this.notify.success(this.lang.draftUpdated);
                 } else {
                     this.notify.success(`${this.lang.sendingEmail}...`);
                 }
@@ -643,11 +655,19 @@ export class SentResourcePageComponent implements OnInit {
     }
 
     saveDraft() {
-        this.emailStatus = 'DRAFT';
-        if (this.data.emailId === null) {
-            this.createEmail();
+        if (this.canManageMail()) {
+            this.emailStatus = 'DRAFT';
+            if (this.data.emailId === null) {
+                if (!this.functions.empty(tinymce.get('emailSignature').getContent())) {
+                    this.createEmail(true);
+                } else {
+                    this.closeModal();
+                }
+            } else {
+                this.updateEmail(true);
+            }
         } else {
-            this.updateEmail();
+            this.closeModal();
         }
     }
 
@@ -674,7 +694,7 @@ export class SentResourcePageComponent implements OnInit {
                     ...item,
                     format: mode !== 'pdf' ? item.format : 'pdf',
                     original: mode !== 'pdf',
-                    size : mode === 'pdf' ? item.convertedDocument.size : item.size
+                    size: mode === 'pdf' ? item.convertedDocument.size : item.size
                 });
             }
         }
@@ -706,7 +726,7 @@ export class SentResourcePageComponent implements OnInit {
                     }
                 })
             ).subscribe();
-            
+
         }
     }
 
@@ -732,7 +752,7 @@ export class SentResourcePageComponent implements OnInit {
                 }
             }
         });
-        
+
         let formatSender = {
             email: this.currentSender.email,
             entityId: !this.functions.empty(this.currentSender.entityId) ? this.currentSender.entityId : null
@@ -745,7 +765,7 @@ export class SentResourcePageComponent implements OnInit {
             cc: this.showCopies ? this.copies.map(copy => copy.email) : [],
             cci: this.showInvisibleCopies ? this.invisibleCopies.map((invCopy => invCopy.email)) : [],
             object: this.emailsubject,
-            body: this.htmlMode ? tinymce.get('emailSignature').getContent() : tinymce.get('emailSignature').getContent({format: 'text'}),
+            body: this.htmlMode ? tinymce.get('emailSignature').getContent() : tinymce.get('emailSignature').getContent({ format: 'text' }),
             isHtml: true,
             status: this.emailStatus
         };
@@ -770,9 +790,9 @@ export class SentResourcePageComponent implements OnInit {
     }
 
     isAllEmailRightFormat() {
-        let state  = true;
+        let state = true;
         const allEmail = this.recipients.concat(this.copies).concat(this.invisibleCopies);
-        
+
         allEmail.map(item => item.email).forEach(email => {
             if (this.isBadEmailFormat(email)) {
                 state = false;
diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts
index 6151918692c106c4cfa4829c1893451c161f1b9b..58f579c148fb4584cfbc6642f8af45d00b271f28 100755
--- a/src/frontend/lang/lang-en.ts
+++ b/src/frontend/lang/lang-en.ts
@@ -1580,4 +1580,5 @@ export const LANG_EN = {
     "mailingMsg" : "<b>Mailing enbled</b> : <br><br><p>A <b>master</b> attachment will be created without merged field <b>contact</b> (attachmentRecipient).</p><p>If you click on Mailing, the attachmenets will be generated <b>NOW</b>.<br><br>If you click on Validate, They will be generated <b>BEFORE</b> to send to the first <b>signatory</b> of visa circuit.</p><p><b>One</b> attachment will be generated for <b>each contact</b> linked to the mail.</p>",
     "attachmentGenerated" : "Attachment generated",
     "mustEditAttachmentFirst" : "You must edit the attachment first",
+    "saveAndClose" : "Save and close",
 };
diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts
index 36b70b4aff182123a4c0bf030e61a41952d8b0ca..19cf66aec11aa67c410a4fb11b0af4e6ecfe86dc 100755
--- a/src/frontend/lang/lang-fr.ts
+++ b/src/frontend/lang/lang-fr.ts
@@ -1619,4 +1619,5 @@ export const LANG_FR = {
     "mailingMsg" : "<b>Publipostage activé</b> : <br><br><p>Une pièce jointe <b>maître</b> sera créée sans le champ de fusion <b>contact</b> (attachmentRecipient).</p><p>Si vous cliquez sur Publipostage, les pièces jointes seront générées <b>TOUT DE SUITE</b>.<br><br>Si vous cliquez sur Valider, elles seront générées <b>AVANT</b> transmission au premier <b>signataire</b> du circuit de visa.</p><br><p><b>Une</b> pièce jointe sera générée <b>par contact</b> associé au courrier.</p>",
     "attachmentGenerated" : "Pièces jointes générées",
     "mustEditAttachmentFirst" : "Vous devez d'abord éditer la pièce jointe",
+    "saveAndClose" : "Enregistrer et fermer",    
 };
diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts
index 4396266841d9b3f0875b4b8022fe488f0c49d0be..812f4f9b64044f62ba0187b13c900de0eac36ea8 100755
--- a/src/frontend/lang/lang-nl.ts
+++ b/src/frontend/lang/lang-nl.ts
@@ -1605,4 +1605,5 @@ export const LANG_NL = {
     "mailingMsg" : "<b>Mailing enbled</b> : <br><br><p>A <b>master</b> attachment will be created without merged field <b>contact</b> (attachmentRecipient).</p><p>If you click on Mailing, the attachmenets will be generated <b>NOW</b>.<br><br>If you click on Validate, They will be generated <b>BEFORE</b> to send to the first <b>signatory</b> of visa circuit.</p><p><b>One</b> attachment will be generated for <b>each contact</b> linked to the mail.</p>", //_TO_TRANSLATE
     "attachmentGenerated" : "Attachment generated", //_TO_TRANSLATE
     "mustEditAttachmentFirst" : "You must edit the attachment first", //_TO_TRANSLATE
+    "saveAndClose" : "Save and close", //_TO_TRANSLATE
 };