Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как к отправляемому через smtp сервер письму прикр 
V
    Опции темы
dron000
Дата 4.11.2006, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Использую пакет dbms_ , вот проблема как к отправляемому через smtp сервер письму прикреплять файлы?
PM MAIL   Вверх
Paradox
Дата 7.11.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1



написать процедуру на java например и дергать ее из Оракла


--------------------
---
PM MAIL WWW   Вверх
dron000
Дата 8.11.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Не знаю Java  но зато уже знаю как создавать и прикреплять текстовые-вот только как открывать файлы с диска!...
Код
--PROCEDURE SEND_MAIL IS
DECLARE  
  mail_conn utl_smtp.connection;
  crlf VARCHAR2(2) := CHR(13) || CHR(10);
  mesg VARCHAR2(8000);
  smtpUser varchar2(256) := 'soap_maker';
  smtpPassword varchar2(256) := '********';



BEGIN
  mail_conn := utl_smtp.open_connection('smtp.mail.ru', 25);
  utl_smtp.helo(mail_conn, 'smtp.mail.ru');
  
  -------AUTHORIZATION-----------
  utl_smtp.command(mail_conn, 'AUTH LOGIN');
  utl_smtp.command(
      mail_conn
    , utl_raw.cast_to_varchar2(
        utl_encode.base64_encode(utl_raw.cast_to_raw(smtpUser))
      )
  );
  utl_smtp.command(
      mail_conn
    , utl_raw.cast_to_varchar2(
        utl_encode.base64_encode(utl_raw.cast_to_raw(smtpPassword))
      )
  );
  
  
  
  
  -----------------
  utl_smtp.mail(mail_conn, '[email protected]'); -- Àäðåñ ïîëó÷àòåëÿ
  utl_smtp.rcpt(mail_conn, '[email protected]'); -- Àäðåñ îòïðàâèòåëÿ
  
  mesg :=
  'From: "Ot_kogo" <[email protected]>' || crlf ||
  'To: [email protected]' || crlf ||
  'Subject: TEST' || crlf || -- òåìà ïèñüìà
  'Date: ' || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' ) || crlf ||
  'MIME-Version: 1.0' || crlf ||
  'Content-Type: multipart/mixed;' || crlf ||
  '        boundary="----=_NextPart_000_0001_01C33A55.695A42A0"' || crlf ||
  crlf ||
  '------=_NextPart_000_0001_01C33A55.695A42A0' || crlf ||
  'Content-Type: text/plain;' || crlf ||
  '        charset="us-ascii"' || crlf ||
  'Content-Transfer-Encoding: 7bit' || crlf ||
  crlf ||
  'Tekst pisma...' || crlf || -- Ñàì òåêñò ïèñüìà
  crlf ||
  '------=_NextPart_000_0001_01C33A55.695A42A0' || crlf ||
  'Content-Type: text/plain;' || crlf ||
  '        name="test.txt"' || crlf || -- èìÿ ôàéëà (âëîæåíèå)
  'Content-Transfer-Encoding: 7bit' || crlf ||
  'Content-Disposition: attachment;' || crlf ||
  '        filename="c:\test.txt"' || crlf || -- èìÿ ôàéëà (âëîæåíèå)
  crlf ||
  'Soderzhimoe faila...' || crlf || -- Ñîäåðæèìîå ôàéëà
  crlf ||
  '------=_NextPart_000_0001_01C33A55.695A42A0--' || crlf;
  
  utl_smtp.data(mail_conn, mesg);
  utl_smtp.quit(mail_conn);
  
END;

Добавлено @ 14:26 
....Да ...совсем забыл возникает хрень с русскими буквами-на почту приходят каракулями.
PM MAIL   Вверх
LSD
Дата 8.11.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(dron000 @  8.11.2006,  14:25 Найти цитируемый пост)
вот только как открывать файлы с диска!

Используй UTL_FILE.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LSD
Дата 10.11.2006, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Вот пример использования UTL_SMTP с авторизацией, аттачментами и т.п.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
dron000
Дата 11.11.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Да это я уже все видел и пробовал-работает,но там загрузка атачментов НЕ С ДИСКА!!!-меня именно этот момент интерсует,желательно чтобы размер подгруж. атачмента был побольше или не ограничен.
PM MAIL   Вверх
LSD
Дата 12.11.2006, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Идем в поиск, забиваем UTL_FILE, и находим следующие темы:
Запись в файл на клиенте
Как учит дядя Том


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
dron000
Дата 13.11.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Честно говоря почитав по ссылкам я еще больше запутался.Ты не мог бы написать фрагмент прикрепления файла с диска и его отправки вместе...
PM MAIL   Вверх
dron000
Дата 21.11.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Использую пакет dbms_ , вот проблема как к отправляемому через smtp сервер письму прикреплять большие файлы с диска? 

PM MAIL   Вверх
batigoal
Дата 22.11.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 2
Всего: 151




M
batigoal
dron000, ни к чему поднимать темы таким образом.

Если у ког-нибудь есть возможность - помогут. Никто не станет писать за тебя код.



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
dron000
Дата 22.11.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Да если бы, мне не нужен код-мне нужна функция которая могла бы передавать большие объекты (blob) или способ передачи их другим образом,а то вот там умничают а мне бы реально помоч.
PM MAIL   Вверх
3x3
Дата 22.11.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(dron000 @ 22.11.2006,  14:02)
Да если бы, мне не нужен код-мне нужна функция которая могла бы передавать большие объекты (blob) или способ передачи их другим образом,а то вот там умничают а мне бы реально помоч.

Попроси администратора ОС написать скрипт, который будет вытаскивать данные из базы, оформлять их соответствующим образом и слать по почте. 

Зачем делать это изнутри базы данных? Если нужно, что бы письма уходили асинхронно (по событию в базе), используй UTL_FILE для создания нового файла с заданием (внутри, например, пиши ID записи которую внешняя программа должна обработать). А дальше дело админа системы - настроить систему слушать каталог на предмет появлений новых файлов с заданиями и запускать программу  отправки почты по их появлении. 

Нормально должно быть три каталога: в первый оракл кладёт по событию файлик. Из него файлик достаёт слушающий процесс и на время обработки помещает во второй каталог. По завершении отправки, файлик перемещается в третий каталог. Таким образом, просто просмотрев содержимое каталогов всегда можно посмотреть что у тебя "скомандовано" к отправке, что находится в процессе отправки, что уже отправлено. Когда это произошло выясняется по датам создания файлов. Удобно контролировать и разруливать ситуации когда кто-то почему-то не получил почту, а они случаются всегда.

Чем это лучше?
Во-первых все занимаются своим делом в пределах своей компетенции: базоданщики базой данных, системщики - системой
Во-вторых это просто дешевле, нормальный админ и так уже знает более чем один подход к отправке почты из скрипта, выбор готовых решений для ОС побольше чем для конкретной БД.
В-третьих, если отправка происходит по событию, не придётся тормозить транзакцию на время отправки почты, но лишь на время создания маленького файлика на диске.




Это сообщение отредактировал(а) 3x3 - 22.11.2006, 14:52


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
dron000
Дата 22.11.2006, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Да про это я в курсе и скрипт под вин или майлер на другом языке написал бы уже давно,но задача стоит именно так.
PM MAIL   Вверх
3x3
Дата 22.11.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(dron000 @ 22.11.2006,  22:31)
Да про это я в курсе и скрипт под вин или майлер на другом языке написал бы уже давно,но задача стоит именно так.

Тебе шашечки или что бы ехать?



--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
dron000
Дата 29.11.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Шашечки!
PM MAIL   Вверх
3x3
Дата 1.12.2006, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(dron000 @ 29.11.2006,  14:21)
Шашечки!

Тогда юзайте вышепосоветованное.


Но подумайте о распределении ролей:

1. Ситстемный администратор
2. Админ БД
3. Разработчик БД

Когда отлаженная система вдруг перестанет отправлять почту, как определишь кого беспокоить?
Кто за что отвечает?
Сколько времени займет \\\"делегирование ответственности\\\" туда-сюда и обратно?

В предложенной схеме всё просто: 

Разработчик знает как сформировать письмо и имеет договоренность с ДБА как заявить о своём желании письмо отправить.
ДБА знает как сделать это безопасно для базы и имеет договорённость с сисадмином, куда складывать \\\"заявки\\\".
Сисадмин ведает доставкой почты и знает как отправлять почту в его виртуальной реальности.

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


А если всем процессом отправки почты заведует исключительно сама база?

В какой-то момент по соображениям безопасности админ, который заведует внешним прокси запретит, скажем, коннекты из интранет по портам SMTP. А у тебя девелоперы заточили трафик через внешний SMTP-сервер (ну я утрирую, но даже и так бывает). При этом, о предпринятых мерах безопасности знают админы на уровне того внешнего прокси, через который в мир лазают все филиалы со всех континентов, и только девелоперы знают, что почта ходит через внешний SMTP, но они давно уволились. А промежуточные уровни никогда и не слышали, ни про какую почту из базы, и про саму базу знать не знают, а если бы и знали - ни за что бы не подумали, что она сама по себе испускает какие-то почтовые сообщения, поскольку функционально для другого предназначена.

В результате, по жалобе на то, что почта перестала ходить, кому-то год придётся разгребать это хозяйство что бы просто понять почему это случилось. И выродится это всё равно в то, что кто-то это всё переделает на правильный лад. 


Вы же не ожидаете, что телефон вдруг начнет показывать вам телевизионные передачи? В принципе это, конечно,  возможно. Но люди предпочитают другие, более подходящие, девайсы для просмотра телепередач. Так же и с базой - в принципе почту отправлять из неё, конечно, можно. smile

Это сообщение отредактировал(а) 3x3 - 1.12.2006, 03:44


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
dron000
Дата 12.12.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Да при чем здесь это все??Есть конкретная задача - ты многого не знаеш и пытаешся насоветовать в организационных моментах которых уже не изменить просто так,рамки таковы!-если бы можно было взять и все так просто перераспределить и переделать то наверно бы никто ни у кого ничего не спрашивал!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Как можно этого не понимать??

Добавлено @ 11:11 
Мы и есть разработчики администраторы и соправодители в одном лице.
PM MAIL   Вверх
3x3
Дата 12.12.2006, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(dron000 @ 12.12.2006,  11:08)
Да при чем здесь это все??Есть конкретная задача - ты многого не знаеш и пытаешся насоветовать 

Ну так возьми и просвети меня.

Цитата

...в организационных моментах которых уже не изменить просто так,рамки таковы!-если бы можно было взять и все так просто перераспределить и переделать то наверно бы никто ни у кого ничего не спрашивал!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Как можно этого не понимать??

Добавлено @ 11:11 
Мы и есть разработчики администраторы и соправодители в одном лице.


1.
Тебе переписать вышенаписанное на одно лицо? Типа "Когда отлаженная сложная система вдруг перестанет отправлять почту, как определишь о какой её части беспокоиться? Какая её часть за что отвечает?..." и т.д.?

2. 
"Мы" в одном лице не бывает. Когда лиц более одного - это много лиц.  

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

4.
Да и плоха та база, которая не мечтает обрасти целым штатом сотрудников smile



--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
dron000
Дата 19.12.2006, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Ладно,хорошо-допустим  я согласен,но как начет того самого скрипта для отправки писем с вложениями-речь то как раз о нем!??
PM MAIL   Вверх
3x3
  Дата 21.12.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(dron000 @ 19.12.2006,  11:34)
Ладно,хорошо-допустим  я согласен,но как начет того самого скрипта для отправки писем с вложениями-речь то как раз о нем!??

Ну тогда рассказывай то много, чего мы не знаем: на чем написанный и под какую операционную систему скрипт/утиль нужен? 

Перечисли в одну строчку, что бы мне было удобнее забить это в google smile


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
dron000
Дата 22.12.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.9.2006

Репутация: нет
Всего: нет



Спасибо,я уже зделал.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

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

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0886 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.