Отправка сообщения
Область применения: Outlook 2013 | Outlook 2016
Когда вы будете готовы отправить сообщение, вызовите его метод IMessage::SubmitMessage . SubmitMessage помещает сообщение в исходящую очередь и задает флаг MSGFLAG_SUBMIT в свойстве PR_MESSAGE_FLAGS сообщения (PidTagMessageFlags).
Поставщик хранилища сообщений, если он тесно связан с поставщиком транспорта, передает сообщение непосредственно транспорту, который доставляет его в систему обмена сообщениями. Если функция не тесно связана, поставщик хранилища сообщений сообщает диспетчеру очереди MAPI о том, что исходящая очередь изменилась, и диспетчер очереди MAPI передает сообщение соответствующему поставщику транспорта.
Если вы разрешаете пользователям отменять операцию отправки, вызовите IMsgStore::AbortSubmit , чтобы реализовать эту функцию. AbortSubmit удаляет сообщение из исходящей очереди. Пользователям может быть разрешено останавливать отправку до тех пор, пока сообщение не будет передано базовой системе обмена сообщениями.
Если SubmitMessage возвращает MAPI_E_CORRUPT_DATA, предположим, что отправляемые данные теперь потеряны. Перед попыткой отправить сообщение повторно напишите сообщение, вызвав IMAPIProp::SetProps и IMAPIProps::SaveChanges. Отображает ошибку для пользователя, если эти вызовы IMAPIProp завершаются ошибкой или если SubmitMessage завершается сбоем во второй раз.
После успешного вызова SubmitMessage освободите память, выделенную для списка получателей, и отпустите сообщение и его вложения. После отправки сообщения MAPI не разрешает дальнейшие операции с указателями для этих объектов. Одно исключение — вызов IUnknown::Release. Другие вызовы не допускаются, так как многие поставщики хранилища сообщений делают недействительными идентификаторы записей для отправленных сообщений.