Add read receipt tracking for sent mail

This commit is contained in:
Burak Kaan Köse
2026-04-11 21:02:51 +02:00
parent d5c121ce24
commit 230039cb57
29 changed files with 690 additions and 21 deletions
@@ -123,6 +123,9 @@ public partial class ComposePageViewModel : MailBaseViewModel,
[ObservableProperty]
public partial bool IsSmimeEncryptionEnabled { get; set; }
[ObservableProperty]
public partial bool IsReadReceiptRequested { get; set; }
[ObservableProperty]
public partial X509Certificate2 SelectedSigningCertificate { get; set; }
@@ -421,6 +424,7 @@ public partial class ComposePageViewModel : MailBaseViewModel,
SaveImportance();
SaveSubject();
SaveFromAddress();
SaveReadReceiptRequest();
SaveReplyToAddress();
await SaveAttachmentsAsync();
@@ -754,6 +758,7 @@ public partial class ComposePageViewModel : MailBaseViewModel,
IsCCBCCVisible = true;
Subject = replyingMime.Subject;
IsReadReceiptRequested = replyingMime.HasReadReceiptRequest();
Messenger.Send(new CreateNewComposeMailRequested(renderModel));
});
@@ -816,6 +821,15 @@ public partial class ComposePageViewModel : MailBaseViewModel,
}
}
private void SaveReadReceiptRequest()
{
if (CurrentMimeMessage == null)
return;
var receiptAddress = SelectedAlias?.AliasAddress ?? ComposingAccount?.Address ?? string.Empty;
CurrentMimeMessage.SetReadReceiptRequest(receiptAddress, IsReadReceiptRequested);
}
private void SaveAddressInfo(IEnumerable<AccountContact> addresses, InternetAddressList list)
{
list.Clear();