1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Добрый день. Подскажите, пожалуйста, как реализуется процесс отправки почты в среде С++ Builder.
Хотелось бы, чтобы при нажатии кнопки отправлялось письмо с заданной темой через почтовый клиент (например, Outlook) на уже назначенный адрес. К письму должен быть прикреплён конкретный txt-файл, сформированный программой ранее.
даже если Outlook не запущен, эта переменная получает значение true благодаря этому куску:
Хм... У тебя что, Билдер глючит? Смотри:
try { // Попытка запуска Outlook... Если запуск не удается - // выбрасывается исключение, и следующая строка НЕ ВЫПОЛНЯЕТСЯ, // программа сразу переходит в блок catch, то есть isRunning остается равным false... MSOApp = CreateOleObject("Outlook.Application");
isRunning = true; } catch(...) { // Вот сюда переходим при неудаче в CreateOleObject !!! ShowMessage(L"Неудача: Ошибка подключения к MS Outlook"); }
Проверь перед запуском программы в Task Manager-е, может у тебя есть в процессах Outlook.EXE?
Добавлено через 7 мин. Кстати, а ты пробовал запускать EXE-шник отдельно, а не из Билдера? Попробуй...
try { // Попытка запуска Outlook... Если запуск не удается - // выбрасывается исключение, и следующая строка НЕ ВЫПОЛНЯЕТСЯ, // программа сразу переходит в блок catch, то есть isRunning остается равным false... MSOApp = CreateOleObject("Outlook.Application");
isRunning = true; } catch(...) { // Вот сюда переходим при неудаче в CreateOleObject !!! ShowMessage(L"Неудача: Ошибка подключения к MS Outlook"); }
Я понимаю, что если Outlook не запустился, то получим сообщение "Ошибка подключения к MS Outlook", поэтому и написал, что по мнению Билдера он запустился, а реально - нет.
Процесса OUTLOOK.EXE перед запуском программы нет. При нажатии на кнопку "Отправить" этот процесс появляется, как и должен, но сразу вслед за этим появляется сообщение "Ошибка при отправке почты".
Последний абзац как раз относится к запуску exe-файла.