Я собираюсь разработать плагин Outlook, который отделяет огромные вложения от электронной почты и загружает такие вложения на FTP-сайт.внешний вид огромного управления вложениями
В моей первой версии плагина я выполнил всю работу в событии Application.ItemSend, но когда приложение действительно огромно (более 1 ГБ), это решение неудовлетворено, поскольку пользовательский интерфейс зависает, когда пользователь загружает файл.
Обязательным условием является то, что письмо следует отправлять только после того, как загрузка на сайт ftp завершена. Любые идеи о лучшем способе реализации решения Outlook?
Да, пользовательский интерфейс зависает, когда я загружаю файлы. Было бы неплохо, чтобы почта была перемещена в папку исходящих сообщений, когда пользователь нажимает кнопку отправки, чтобы Outlook был доступен для другой задачи. Это будет такое же поведение обычного почтового элемента. Загрузка вложения должна выполняться в фоновом режиме, и почта должна оставаться в папке исходящих сообщений, пока загрузка не будет завершена. Моя проблема в том, что я не знаю, как управлять таким почтовым ящиком в папке outbox – simone
Когда возникает событие ItemSend, запустите таймер (вам нужно быть вне обработчика события, чтобы иметь возможность сделать несколько вещей). Когда таймер срабатывает, отключите его (чтобы он не срабатывал снова), переместите сообщение в папку «Исходящие», сохраните вложения (вы можете делать это только в основном потоке) и начните загрузку на вторичном потоке. Когда загрузка завершена, удалите вложения, вызовите MailItem.Send (убедитесь, что вы не обрабатываете один и тот же элемент дважды). –