Создайте ветку электронной почты в Outlook, используя библиотеку Java и JCOB.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Создайте ветку электронной почты в Outlook, используя библиотеку Java и JCOB.

Сообщение Anonymous »

У меня есть настольное приложение, разработанное на Java, я создаю электронное письмо с телом HTML, затем сохраняю его как «JacobEmail.msg» и сразу же открываю этот файл электронной почты в приложении Outlook с помощью JACOB.
Вот код:

Код: Выделить всё

 void createEmail(String subject, String recipientTo, String recipientCC, String recipientBCC, String body, String[] attachments) {

Dispatch mail = Dispatch.call(oOutlook, "CreateItem", email).toDispatch();

Dispatch.put(mail, "Subject", subject);
Dispatch.put(mail, "To", recipientTo);
Dispatch.put(mail, "CC", recipientCC);
Dispatch.put(mail, "BCC", recipientBCC);
Dispatch.put(mail, "HTMLBody", body);

Dispatch.call(mail, "SaveAs","D:\\JacobEmail.msg");

Dispatch.call(mail, "Display");
}
Пока все работает нормально, но...
Вопрос в том, что я хочу создавать цепочки электронной почты, используя тот же подход, и добавлять новые электронные письма. к разговору на основе определенных критериев, например, электронное письмо с той же копией или «Кому» должно быть в ветке (ответ на предыдущее электронное письмо).
Как этого добиться?
На данный момент я пробовал:
Первое: получил идентификатор предыдущего электронного письма.

Код: Выделить всё

String previousEmailId= Dispatch.get(mailItem, "EntryID").getString();

Второе: получено предыдущее электронное письмо по идентификатору.

Код: Выделить всё

Dispatch originalMail = Dispatch.call(namespace, "GetItemFromID", previousEmailId).toDispatch();`

Третье: открыли предыдущее письмо (исходное письмо, на которое мы собираемся ответить).

Код: Выделить всё

Dispatch.call(originalMail, "Display");
Примечание. Все вышеперечисленные шаги сработали, и я смог получить предыдущее электронное письмо, используя идентификатор.
Четвертое: попробовал ответьте на предыдущее электронное письмо (originalMail).

Код: Выделить всё

Dispatch replyMail = Dispatch.call(originalMail, "ReplyAll").toDispatch();
Я получаю следующую ошибку:

Код: Выделить всё

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.RuntimeException: com.jacob.com.ComFailException: Invoke of: ReplyAll
Source: Microsoft Outlook
Description: Could not send the message.
Я долго искал, но не смог найти подходящего решения этой проблемы. Буду очень признателен за вашу помощь и предложения.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ob-library
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»