![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как прикрепить файл к письму ?
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 там вагон готовых решений, или покажи как пытался