При чтении поля пробега почта застревает в папке исходящих сообщений - PullRequest
0 голосов
/ 08 января 2020

Есть ли способ прочитать поле пробега в электронном письме в папке «Исходящие», не вызывая застревание электронного письма в папке «Исходящие»?

В рамках моего приложения повторная отправка невозможна все электронные письма Я должен прочитать значение поля для всех электронных писем, чтобы решить, следует ли остановить почту и повторно отправить.

Кажется разумным требовать повторной отправки, если я изменил почту, которой я не являюсь. Я просто читаю его.

Я думал, что нашел решение, читая объект как тип "объект" вместо "mailitem", но это оказалось красной сельдью.

Чтение этого свойства - мой очень простой и надежный обходной путь для проблемы, заключающейся в том, что приложение send_mail не запускается для простых писем MAPI. К сожалению, это нарушает стратегию для других писем.

РЕДАКТИРОВАТЬ
По запросу. То, что ItemSend не всегда огонь, вне моей досягаемости, не так ли?

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    On Error Resume Next

    InitEvents True    'Reinstantiate the custom handlers if necessary

    If LCase(TypeName(Item)) = "mailitem" Then
        Item.Mileage = ""
        PrepToSendMK166 Item
    End If

End Sub

1 Ответ

0 голосов
/ 08 января 2020

Касание сообщения в процессе отправки останавливает отправку. Application.ItemsSend событие - это ваш последний шанс прикоснуться к сообщению, прежде чем оно будет передано транспортному провайдеру. Ваша следующая возможность (которая, вероятно, слишком поздно для вас) - это когда сообщение перемещается в папку «Отправленные» и запускается событие Items.ItemAdd.

Нет решения для того, что вы пытаетесь сделать. Также обратите внимание на то, что папка «Исходящие» выглядит просто так: при использовании MAPI сообщение можно отправлять из любой папки, а не только из папки «Исходящие».

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