IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Отправка почты, С++
taran
сообщение 30.01.2010 14:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  0  +


Добрый день.
Подскажите, пожалуйста, как реализуется процесс отправки почты в среде С++ Builder.

Хотелось бы, чтобы при нажатии кнопки отправлялось письмо с заданной темой через почтовый клиент (например, Outlook) на уже назначенный адрес. К письму должен быть прикреплён конкретный txt-файл, сформированный программой ранее.

Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 31.01.2010 1:51
Сообщение #2


Гость






С Аутлуком вполне можно работать через Ole Automation:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
const int olMailItem = 0;

Variant MSOApp = CreateOleObject("Outlook.Application");
try
{
Variant myItem = MSOApp.OleFunction("CreateItem", (Variant)olMailItem);

myItem.OlePropertySet("Subject", "This is the Subject");
myItem.OlePropertyGet("Recipients").OleFunction("Add", WideString("xxx@xxx.com")); // Здесь будет адрес

myItem.OlePropertySet("Body", (WideString)memoBody->Text);

Variant myAttachments = myItem.OlePropertyGet("Attachments");
myAttachments.OleFunction("Add", WideString("F:\\fam.txt")); // Здесь будет имя файла
myItem.OleProcedure("Send");
MSOApp.OleFunction("Quit");
}
catch(...)
{
ShowMessage(L"Ошибка при отправке почты");
}
}
Вроде нигде не ошибся, компиляцию проходит (BDS 2009), но запускать - не запускал, я MSOutlook не держу... На форме - одна кнопка и Мемо, в котором набирается сам текст сообщения. Только измени адрес на свой, когда будешь тестировать...

При запуске тебя MSO может спросить, хочешь ли ты дать доступ программе к Аутлуку, и на какое время (я просто помню, раньше с таким сталкивался. А вот как решал проблему - не помню. Да и на Дельфи дело было, а не на Билдере). Дай доступ, и посмотри, отсылается ли вообще письмо, для начала...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
taran   Отправка почты   30.01.2010 14:57
volvo   Скачай Drkb , и посмотри вот по этому пути: Интерн...   30.01.2010 15:09
taran   Спасибо за совет, я ознакомился, но не смог оконча...   31.01.2010 1:09
volvo   С Аутлуком вполне можно работать через Ole Automat...   31.01.2010 1:51
taran   Спасибо.   31.01.2010 12:05
taran   Как известно, письма отправляются только при откры...   31.01.2010 15:00
volvo   Это не нужно, при попытке отправки письма Аутлук и...   31.01.2010 22:14
taran   Это не нужно, при попытке отправки письма Аутлук ...   1.02.2010 0:47
volvo   Хорошо, зайдем с другой стороны. Что происходит у ...   1.02.2010 1:55
taran   Можно теперь узнать, что происходит у тебя? При ...   1.02.2010 13:05
volvo   Неправда... Согласно коду - должно быть так: Vari...   1.02.2010 13:38
taran   Версия Outlook- 2007, Билдера - 6. Что происходит...   1.02.2010 14:25
volvo   Хм... У тебя что, Билдер глючит? Смотри: try {...   1.02.2010 14:35
taran   Смотри: try { // Попытка запуска Outlook.....   1.02.2010 14:48
taran   Кстати, подскажите ещё, пожалуйста, как называется...   1.02.2010 15:27
volvo   В MSDN, где же еще? :) Вот объектная модель Outlo...   1.02.2010 15:35


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.07.2025 21:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"