Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.047 c
2-1202844363
kami
2008-02-12 22:26
2008.03.09
Привязать UDPClient к сетевому интерфейсу


2-1202894259
Washington
2008-02-13 12:17
2008.03.09
Двойной щелчок по "чексу" в CheckListBox e


15-1201692184
Cerberus
2008-01-30 14:23
2008.03.09
А это нормально?


2-1202810874
Аян
2008-02-12 13:07
2008.03.09
нужна подсказка


2-1202772513
Artem
2008-02-12 02:28
2008.03.09
WebBrowser и ресурсы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский