Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / работа с почтой в power builder / 12 сообщений из 12, страница 1 из 1
13.02.2004, 11:52
    #32408361
ln
ln
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Возникла потребность отправлять почту программным путем но не с учетной записи которая используется по умолчанию а с другой. Посмотрел те обекты которые есть билдере для работы с почтой но возможности проставить адрес отправителя не нашел. Попробовал написать свою обертку вокруг mapi получился следующий код

function ulong MAPISendMail( Ulong lhSession, &
ULONG ulUIParam, &
/*ref*/ sMapiMessage lpMessage, &
ulong flFlags, &
ULONG ulReserved ) library "mapi32.DLL"

/*
Отправка мыла все нужные поля должны быть заполнены
*/
sMapiMessage MapiMessage
sMapiRecipDesc Sender,PRecip, Recipients
sMapiFileDesc PFiles, Attachments

integer i
ulong MError
uint Apphandle

Apphandle = ApplicationHandle
MapiMessage.nRecipCount = 1 //все будем делать для одного получателя
// если нужно будет для нескольких то потом допишем
MapiMessage.ulReserved = 0
// Устанавливаем поле Subject:
MapiMessage.lpszSubject = Subject
// ... Body:
MapiMessage.lpszNoteText = MailText
SetNull(MapiMessage.lpszMessageType)
SetNull(MapiMessage.lpszDateReceived)
SetNull(MapiMessage.lpszConversationID)
MapiMessage.flFlags = 0
// и отправителя: (MAPI_ORIG)
Sender.ulReserved = 0
Sender.ulRecipClass = 0//MAPI_ORIG
Sender.lpszName = FromName
Sender.lpszAddress = FromAdress
Sender.ulEIDSize = 0
SetNull(Sender.lpEntryID)
MapiMessage.lpOriginator = Sender
PRecip = Recipients
//установим получателя письма: (MAPI_TO)
PRecip.ulReserved = 0
PRecip.ulRecipClass = 1//MAPI_TO
PRecip.lpszName = TOAdr
PRecip.lpszAddress = 'SMTP:' + TOAdr
PRecip.ulEIDSize = 0
SetNull(PRecip.lpEntryID)
MapiMessage.lpRecips = PRecip
// Теперь обработаем прикреплённые к письму файлы:

if AttachedFileName <> '' then

MapiMessage.nFileCount = 1
PFiles = Attachments

// ... и имя, отображаемое на дисплее:
Attachments.lpszFileName = DisplayFileName
Attachments.ulReserved = 0
Attachments.flFlags = 0
// Положение должно быть -1, за разьяснениями обращайтесь в WinApi Help. }
Attachments.nPosition = -1
SetNull(Attachments.lpFileType)
MapiMessage.lpFiles = Attachments

else
MapiMessage.nFileCount = 0
// setnull(MapiMessage.lpFiles)
end if

if ShowDialog then
MError = MapiSendMail(0, AppHandle, MapiMessage, /*MAPI_DIALOG 8 */&
/*or MAPI_LOGON_UI 1 or 2MAPI_NEW_SESSION*/11, 0)
else
MError = MapiSendMail(0, AppHandle, MapiMessage, 0, 0)
end if
return MError

но этот код получился не рабочим вываливается с ошибкой
Исключение в приложении:
Прил.: e:\pb80\BUILD\NT\PB80.EXE (pid=1408)
Время: 13.02.2004 @ 10:51:31.175
Номер: c0000005 (нарушение прав доступа)
я так понимаю ошибка в передачи параметров api функции может кто подскажет в чем ошибка или как можно решить поставленную задачу другими методами (может какая библиотека для работы с почтой есть)?
...
Рейтинг: 0 / 0
13.02.2004, 12:32
    #32408479
roleks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
см.
http://www.vpro.ru/download.htm
...
Рейтинг: 0 / 0
13.02.2004, 16:04
    #32408986
Dmitry Belousov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
автор... но возможности проставить адрес отправителя не нашел
Когда-то я решал подобную проблему с помощью CDO (вместо MAPI), а именно CDO.Message и CDO.Configuration. Обращаться к ним можно как и к любым automation объектам... За подробностями - в MSDN.
...
Рейтинг: 0 / 0
24.02.2004, 09:38
    #32418871
ln
ln
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Спасибо за помощь попробовал http://www.vpro.ru/download.htm классно работает. Только вот ради интереса решил попробовать и CDO и застрял на том что не знаю как билдере обратиться к элементу колекции т.е строчка MailConfig.Fields.Item(cdoSMTPServer)='192.168.1.10' имеет неправильный синтаксис а как же будет правильно?
...
Рейтинг: 0 / 0
24.02.2004, 09:59
    #32418902
andy753
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Два совета:
1 - пользуйтесь функциями, для полей - используйте методы доступа Get/Set
2 - При активной работе с коллекциями и "вложенными" объектами - создавайте локальные копии объектов. Создаете переменную типа OLEObject и присваивайте ей нужный объект. Работать станет удобнее.
...
Рейтинг: 0 / 0
05.03.2004, 13:06
    #32432581
Freya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
А не подскажете, как использовать SMTP mail компонент в приложении?
Как его подключить и как к нему обращаться?
Спасибо.
...
Рейтинг: 0 / 0
05.03.2004, 13:49
    #32432668
Ikar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
1 Freya:
А не подскажете, как использовать SMTP mail компонент в приложении?
Как его подключить и как к нему обращаться?
Красавица, не обижайся, но еще раз говорю, телепатов на этом форуме нету!
Какой клиент то? Чей? В чем живет?

А так, если у этого клиента есть возможность подключения в качестве OLE или COM объекта, то так и подключать. Еще у него может быть набор функций, которые можно подключить в РВ как External Function. Тгда узнавать список функций, подключать и дергать...

Еще раз извиняюсь, если обидел. С наступающим праздником, кстати! :)
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
05.03.2004, 13:59
    #32432694
Freya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Спасибо за поздравления. :)
Я не обижаюсь.
А насчет телепатов... выше разговор шел именно про этот компонент и была дана ссылка. ,)
http://www.vpro.ru/download.htm
Это com компонент. Вопрос только в том как подключить его в Powerbilder 6.5?
Спасибо за помощь.
...
Рейтинг: 0 / 0
05.03.2004, 14:27
    #32432765
Freya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Всем спасибо.
Разобралась. Работает! :)
...
Рейтинг: 0 / 0
07.03.2004, 03:57
    #32433608
Kruzik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
mojno i etim :
http://www.geocities.com/toby_korn/blat/
http://www.geocities.com/siliconvalley/bit/1809/
http://www.interlog.com/~tcharron/blat.html
gde-to popadalas' novaya versu\iya blat.dll 2.0 kajetsya - stoit poiskat' - ona podderjivaet authentication.. ni installyacii, ni registracii etot dll ne trbuet. prosto ob'yavit' external function, i naslajdatsya :-)
...
Рейтинг: 0 / 0
11.06.2004, 16:18
    #32558549
Evan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Как воспользоваться в PB9

http://www.vpro.ru/download.htm , xsmpt.dll ?
Как привильно вызовать функции ?
...
Рейтинг: 0 / 0
11.06.2004, 18:36
    #32558827
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа с почтой в power builder
Если кому CDO надо, то сюда http://members.cox.net/bdick/pbcdo.htm
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / работа с почтой в power builder / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]