Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

как прикрепить файл к письму ?   Найти похожие ветки 

 
gentos   (2007-10-17 15:51) [0]

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

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 ничего не получилось, может быть не правильно пытался, подскажите пожалуйста


 
k2 ©   (2007-10-17 15:57) [1]

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


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

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


 
gentos   (2007-10-17 16:10) [3]


> k2 ©

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


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


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

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


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


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

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


 
k2 ©   (2007-10-17 16:13) [6]

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


 
gentos   (2007-10-17 16:16) [7]

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


 
Reindeer Moss Eater ©   (2007-10-17 16:19) [8]

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


 
k2 ©   (2007-10-17 16:24) [9]

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


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


> k2 ©

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


 
k2 ©   (2007-10-17 16:37) [11]

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


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

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


 
k2 ©   (2007-10-18 18:25) [13]


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

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


 
Кщд ©   (2007-10-19 09:11) [14]


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.03.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
15-1201692184
Cerberus
2008-01-30 14:23
2008.03.09
А это нормально?


2-1202988963
Photo33
2008-02-14 14:36
2008.03.09
2 bmp в один


15-1201851982
ZeroDivide
2008-02-01 10:46
2008.03.09
Влияние работы за компьютером на активность головного мозга


10-1143624416
pavel_guzhanov
2006-03-29 13:26
2008.03.09
Как изменить шрифт в excel


2-1202745191
antonn
2008-02-11 18:53
2008.03.09
доступ к рекорду в другом окне