Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как прикрепить файл к письму ?


gentos ©   (2007-10-17 15:51:00) 

Уважаемые мастер есть такой вот код

DECLARE
 c utl_smtp.connection;
 b blob;
 PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
 BEGIN
   utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
 END;
BEGIN
 select picture into b
 from TBLPICTURE
 where id=90;
 c := utl_smtp.open_connection('er.energy.gov.ua');
 utl_smtp.helo(c, 'er.energy.gov.ua');
 utl_smtp.mail(c, 'mm@ukr.net');
 utl_smtp.rcpt(c, 'mm@ukr.net');
 utl_smtp.open_data(c);
 send_header('From',    '"Sender" <sender@foo.com>');
 send_header('To',      '"Recipient" <recipient@foo.com>');
 send_header('Subject', 'Hello');
 utl_smtp.write_data(c, utl_tcp.CRLF || 'Hello, world!');
 utl_smtp.close_data(c);
 utl_smtp.quit(c);
EXCEPTION
 WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
   BEGIN
     utl_smtp.quit(c);
   EXCEPTION
     WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
       NULL; -- When the SMTP server is down or unavailable, we don't have
             -- a connection to the server. The quit call will raise an
             -- exception that we can ignore.
   END;
   raise_application_error(-20000,
     'Failed to send mail due to the following error: ' || sqlerrm);
END;

меня интересует следующее: каким образом можна переменную b прикрепить к письму, пытался UTL_SMTP.WRITE_RAW_DATA ничего не получилось, может быть не правильно пытался, подскажите пожалуйста


Кщд   (2007-10-19 09:11:00) [1]


> просто писать содержимое блоба в сообщение бесполезно.

не смущайте коллег
всё будет отлично)


k2   (2007-10-18 18:25:00) [2]


> umbra ©   (18.10.07 12:31) [12]
> просто писать содержимое блоба в сообщение бесполезно. Даже
> если почтовый сервер не ругнется, ни один почтовый клиент
> нормально работать с таким сообщением не будет.

а кто такой нормальный почтовый клиент? у меня сейчас проверено на LotusNotes и Outlook - все в порядке


umbra   (2007-10-18 12:31:00) [3]

просто писать содержимое блоба в сообщение бесполезно. Даже если почтовый сервер не ругнется, ни один почтовый клиент нормально работать с таким сообщением не будет.


k2   (2007-10-17 16:37:00) [4]

на здоровье, только это начало :) возможно с кодировками прийдется попариться


gentos   (2007-10-17 16:35:00) [5]


> k2 ©

спасибо вам большое :)


k2   (2007-10-17 16:24:00) [6]

data может быть блобом, только работают с ней через пакет dbms_lob, пишут порциями, далее стырено со скуля:
...
l_bfile      bfile;
l_lob        blob;
l_amt       number default 21600;
l_off        number default 1;
l_raw       raw(21600);
 begin
   ...
   begin
     l_bfile := bfilename('REPORT_DIR', p_attach_file);
     dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
     loop
       dbms_lob.read(l_bfile, l_amt, l_off, l_raw);
       l_off := l_off + l_amt;
       utl_smtp.write_raw_data(mail_conn, utl_encode.base64_encode(l_raw));
     end loop;
   exception
     when no_data_found then dbms_lob.close(l_bfile);
   end;
   ..  
end;

естейственно заранее создать directory


Reindeer Moss Eater   (2007-10-17 16:19:00) [7]

так он же не блоб ждет, а raw


gentos   (2007-10-17 16:16:00) [8]

та вот так и пробовал с UTL_SMTP.WRITE_RAW_DATA  ругается на блоб, когда его туда вставляешь
UTL_SMTP.WRITE_RAW_DATA (
  c     IN OUT NOCOPY connection
  data  IN OUT NOCOPY);
меня интересует может быть data blob"ом ?


k2   (2007-10-17 16:13:00) [9]

никакого аутлука насколько там помню нет :) ты в оракловом форуме ищещь или где? :) или показывай как пробовал, не люблю лентяев :)


gentos   (2007-10-17 16:12:00) [10]


> Маша Шрайбер ©

Ой, обшибка я хотел сказать , что я не заставляю Вас все знать


gentos   (2007-10-17 16:11:00) [11]


> Маша Шрайбер ©

Делфи не причем
А я заставляю Вас знать, на то оно и форум, чтобы спросить как и что, я бы так просто тему здесь свою не выставил, я уже 3 часа копаюсь, а ничего не могу мне подходящего найти , а в Оракльовых доках примером мало та и опыта у меня не много


gentos   (2007-10-17 16:10:00) [12]


> k2 ©

искал, но там ничего толкового нет, точнее есть, но не то что мне надо, там с помощью аутлука, еще чего-то , а мне надо чисто Оракльовыми приколами сразу на сервакас и вперед


Маша Шрайбер   (2007-10-17 16:07:00) [13]

Дельфи здесь причем?
И что, мы должны знать про все оракловые пакеты и библиотеки?


k2   (2007-10-17 15:57:00) [14]

поищи на sql.ru там вагон готовых решений, или покажи как пытался


Наверх

Титульная страница Поиск, карта сайта Написать письмо