Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по Microsoft Outlook 11.0 Object Library, События класса 
:(
    Опции темы
Demokratizator
Дата 28.8.2006, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



Добрый день.
Как отловить сообщение MS Outlook, когда тот завершил отправку письма? или как отловить ошибку передачи письма?
Письмо генерируется и отправляется программно с помошью COM Microsoft Outlook 11.0 Object Library
Спасибо.
PM MAIL   Вверх
marcusmae
Дата 29.8.2006, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



У меня лично MSOUTL.olb не работает, похоже, потому что OutLook не установлен.
Подозреваю, что Вы делаете что-то вроде этого, нет? = Если да, то степень успешности передачи почты отражается работой try/catch блока.

Это сообщение отредактировал(а) marcusmae - 29.8.2006, 18:20


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Demokratizator
Дата 29.8.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



Вот код:

private void button2_Click(object sender, System.EventArgs e)
{
Outlook.ApplicationClass oApp = new Outlook.ApplicationClass();
Outlook.MailItemClass mi = Outlook.MailItemClass)oApp.CreateItem(Outlook.OlItemType.olMailItem);

mItem.To = [email protected];

mi.Subject = "test";
mi.BodyFormat = Outlook.OlBodyFormat.olFormatPlain;
mi.Body = "test";
mi.Save();
mi.Display(true);
}

так вот если в сгенерированном письме нажать кнопку отправить, то окно письма сразу закрывается, срабатывают события:
ItemSend а затем Close

потом смело закрываю это приложение и беда - письмо спокойно лежит в папке Исходящие и ждет когда Outlook еще раз запустят...




PM MAIL   Вверх
marcusmae
Дата 29.8.2006, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



OK, тогда 

во-первых, не настроен ли случайно OutLook на совмещённую отправку/получение? Если настроен, то письмо действительно не будет отправлено до следующего сеанса связи.

во-вторых, в примере по ссылке, которую я дал раньше проводится принудительная синхронизация (отправка и получение), которую можно было бы организовать после закрытия окна сообщения.

Код

        // Create an Outlook application.
        Outlook._Application oApp = new Outlook.Application();
        // Create the name space.
        Outlook._NameSpace oNS = oApp.GetNamespace("mapi");
        Outlook.SyncObjects oSyncs;
        Outlook.SyncObject oSync;

        try
        {
            // Reference SyncObjects.
            oSyncs = oNS.SyncObjects;
            oSync = oSyncs.Item("All Accounts");
            // Send and receive.
            oSync.Start();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // Clean up.
        ...


в-третьих, если совсем ничего не помогает, то существует альтернативное, более простое решение :

Код

using System.Web.Mail;
...

MailMessage message = new MailMessage();
message.From = "[email protected]";
message.To = "test_@test_.ru";
message.Subject = "Тема сообщения";
message.Body = "Текст сообщения";
SmtpMail.SmtpServer = "mailserver.ratelecom.net";
SmtpMail.Send(message);


надеюсь, что-то из этого поможет.

Это сообщение отредактировал(а) marcusmae - 29.8.2006, 22:57


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Demokratizator
Дата 29.8.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



"во-первых, не настроен ли случайно OutLook на совмещённую отправку/получение? Если настроен, то письмо действительно не будет отправлено до следующего сеанса связи"
где это можно посмотреть?
спасибо.
PM MAIL   Вверх
marcusmae
Дата 30.8.2006, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


Профиль
Группа: Участник
Сообщений: 874
Регистрация: 26.3.2006

Репутация: 22
Всего: 39



Цитата

где это можно посмотреть?


Не пользовался Outlook больше 4 лет smile
Наверно вот это следует проверить :

Верхнее меню ->Сервис -> Параметры -> Задание настроек отправки и получения сообщений и документов -> Немедленная отправка при наличии подключения - стоит ли галка? 

Это сообщение отредактировал(а) marcusmae - 30.8.2006, 01:00


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.