Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
15-1201770344
SkyN
2008-01-31 12:05
2008.03.09
Бесплатным аналог VTune для Delphi7?


4-1184247411
GTR86
2007-07-12 17:36
2008.03.09
Номер винчестера


3-1192611419
Ksander
2007-10-17 12:56
2008.03.09
TreeVies &amp; IB


15-1202116512
Dmitry S
2008-02-04 12:15
2008.03.09
Самый "дешевый" способ загрузить картинку PNG?


15-1201946435
иванз
2008-02-02 13:00
2008.03.09
"многострочный" TLabel




   Наверх