Отображение / обновление уведомлений об элементах в электронном письме - PullRequest
0 голосов
/ 15 апреля 2020

В настоящее время я работаю над надстройкой, которая будет использоваться внутри компании.
Что нужно сделать AddIn, это сохранить вложения из электронного письма с некоторой дополнительной информацией, создать новое электронное письмо с этими вложениями и отправить его. указать c адрес. То, что я получил до сих пор, это добавление в C#, созданное с помощью VS2019. Это хорошо работает.
Надстройка состоит из ленты, U C (WinForms, только для хостинга), U C (WPF)
Однако, когда я выполняю действие по электронной почте, я бы Пользователь должен знать, что это письмо было обработано, и отображать сообщение по электронной почте, например, «Это письмо было обработано». Это будет отображаться в том же месте, что и вы ответите на это письмо. Я видел, как это было достигнуто в этом руководстве по MSDN , но оно использует javascript и не способно сохранять вложения (что является обязательным требованием для этого дополнения). Что объясняется в этой статье MSDN . Я пытался найти что-то подобное в C# VSTO, но, кажется, не могу найти что-то даже близко к этому.
Вопрос:
Могу ли я сделать это в C# или мне нужно использовать web VSTO (который использует службу, написанную на C# для получения вложений), затем выясните, как получить эти файлы и прикрепить их к новому письму.
ОБНОВЛЕНИЕ:
Вот как я сейчас отправляю электронное письмо:

var newEmail = Application.CreateItem(OlItemType.olMailItem) as MailItem;
newEmail.Recipients.Add(viewModel.RecipientOverride);

foreach (var att in viewModel.Attachments.Where(at => at.Checked))
{
    var tempFile = System.IO.Path.GetTempPath();
    att.OriginalAttachment.SaveAsFile(tempFile + att.FileName);
    newEmail.Attachments.Add(tempFile + att.FileName);
    att.Progress = 1;
    createdFiles.Add(tempFile + att.FileName);
}

newEmail.Subject = $"{viewModel.Property}";
newEmail.Body = viewModel.Notes;
newEmail.Send();  

А вот пример кода того, как javascript делает это:

/**
 * Shows a notification when the add-in command is executed.
 * @param event {Office.AddinCommands.Event}
*/
function action(event) {
    const message = {
        type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
        message: "Performed action.",
        icon: "Icon.80x80",
        persistent: true
    };

    // Show a notification message
    Office.context.mailbox.item.notificationMessages.replaceAsync("action", message);

    // Be sure to indicate when the add-in command function is complete
    event.completed();
}  

Вот визуализация того, что я пытаюсь воспроизвести:
EmailNotificationMessage

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...