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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в PL/SQL отослать письмо? 
:(
    Опции темы
dron000
Дата 2.11.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Использую пакет dbms_ , токо вот проблеиа как отослать письмо если на сервере требуется аунтификация? т.е. как передавать логин и пароль?
PM MAIL   Вверх
LSD
Дата 2.11.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



"Нормальных" способов похоже, нет. Есть один через ...:
Цитата
We are using SMTP Authentication. Is there a way I could provide username and 
password to the smtp server via pl/sql.

SQL> execute send_mail('[email protected]','[email protected]','this is a test');
BEGIN send_mail('[email protected]','[email protected]','this is a test'); END;

*
ERROR at line 1:
ORA-29279: SMTP permanent error: 530 Authentication Required
ORA-06512: at "SYS.UTL_SMTP", line 17
ORA-06512: at "SYS.UTL_SMTP", line 98
ORA-06512: at "SYS.UTL_SMTP", line 240
ORA-06512: at "SCOTT.SEND_MAIL", line 11
ORA-06512: at line 1

Thanks 

Followup:
you can write directly to the SMTP server and do the authorization, yes.

just telnet to your SMTP server (telnet hostname 25) and type HELP

> telnet aria 25
Trying 138.2.5.51...
Connected to aria.
Escape character is '^]'.
220 aria-lnx.us.oracle.com ESMTP Sendmail 8.11.6/8.11.6; Wed, 16 Jun 2004 
12:02:18 -0400
HELP
214-2.0.0 This is sendmail version 8.11.6
214-2.0.0 Topics:
214-2.0.0       HELO    EHLO    MAIL    RCPT    DATA
214-2.0.0       RSET    NOOP    QUIT    HELP    VRFY
214-2.0.0       EXPN    VERB    ETRN    DSN     AUTH
214-2.0.0       STARTTLS
214-2.0.0 For more info use "HELP <topic>".
214-2.0.0 To report bugs in the implementation send email to
214-2.0.0       [email protected].
214-2.0.0 For local information send email to Postmaster at your site.
214 2.0.0 End of HELP info


You'll see a list of commands it supports.  from there, you'll have to figure 
out the protocol your server is using to authenticate (should be able to google 
that up, some rfc somewhere)....

then you can use utl_smtp to write that information to the SMTP server. 

(взято отсюда)

Или использовать хранимые процедуры на Java.


--------------------
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   Вверх
batigoal
Дата 3.11.2006, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



У нас авторизация для отсылки письма сделана через LDAP, но я не в курсе подробностей.


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


Эксперт
***


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

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



я один раз делал отправку мыла через PL/SQL
по образу и подобию вот этого (все работало, исходник с SQL.ru)
Код

declare
  sender varchar2(80) := '[email protected]';
  recipient varchar2(80) := '[email protected]';
  smtpHost varchar2(80) := 'smtp.yandex.ru';
  smtpUser varchar2(256) := 'denislpopov';
  smtpPassword varchar2(256) := '<password>';

  mail_conn utl_smtp.connection;
  separator varchar2(1) := ' ';
  content_charset varchar2(8) := 'koi-8r';

  procedure send_header(name in varchar2, header in varchar2) as
  begin
    utl_smtp.write_raw_data(mail_conn, UTL_RAW.cast_to_raw(name||': '||header||utl_tcp.CRLF));
  end;

begin
  mail_conn := utl_smtp.open_connection(smtpHost, 25);
  utl_smtp.helo(mail_conn, smtpHost);
  -- If Authentication required for SMTP
  -- After upgrade to Oracle 9i, replace demo_base64.encode 
  -- with the native utl_encode.base64_encode for better performance.
  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, sender);
  utl_smtp.rcpt(mail_conn, recipient);
  utl_smtp.open_data(mail_conn);
  send_header('From', sender);
  send_header('To', recipient);
  send_header('CC', recipient);
  send_header('Subject', 'Test Проверка');
  send_header('MIME-Version', '1.0');
  send_header('Content-Type', 'text/plain; charset="'||content_charset||'"');

  utl_smtp.write_raw_data(
      mail_conn
    , utl_raw.cast_to_raw(utl_tcp.CRLF||'Графиня изменившимся лицом бежит пруду')
  );

  utl_smtp.close_data(mail_conn);
  utl_smtp.quit(mail_conn);
end;
/





--------------------
---
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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