DECLARE
subject VARCHAR2(30) := 'Заголовок'; -- Заголовок письма
message VARCHAR2(30) := 'Содержимое'; -- Содержимое письма
mailhost VARCHAR2(30) := 'сервер почты'; -- сервер почты smtp.что-то.ru
sender VARCHAR2(30) := '<отправитель>'; -- отправитель <кто-то.что-то.ru>
recipient VARCHAR2(255) :='<получатель>'; -- получатель <кто-то.yandex.ru>
mail_conn utl_smtp.connection;
BEGIN
mail_conn := utl_smtp.open_connection(mailhost, 25);
utl_smtp.helo(mail_conn, mailhost);
utl_smtp.mail(mail_conn, sender);
utl_smtp.rcpt(mail_conn, recipient);
utl_smtp.open_data(mail_conn );
utl_smtp.write_data(mail_conn,'Date: ' || to_char(sysdate,'dd Mon yy hh24:mi:ss','NLS_DATE_LANGUAGE = AMERICAN')||CHR(13)||CHR(10));
utl_smtp.write_data(mail_conn,'From: ' || sender||CHR(13)||CHR(10));
utl_smtp.write_raw_data(mail_conn, utl_raw.cast_to_raw('Subject: '||NVL(subject,'(no subject)')||CHR(13)||CHR(10)));
utl_smtp.write_data(mail_conn,'MIME-Version: 1.0' ||CHR(13)||CHR(10));
utl_smtp.write_data(mail_conn,'Content-Type: text/plain; charset="windows-1251"' ||CHR(13)||CHR(10));
utl_smtp.write_data(mail_conn,'Content-Transfer-Encoding: 8bit' ||CHR(13)||CHR(10));
utl_smtp.write_data(mail_conn,'To: '||recipient||CHR(13)||CHR(10));
utl_smtp.write_raw_data(mail_conn,utl_raw.cast_to_raw(CHR(13)||CHR(10)|| message));
utl_smtp.close_data(mail_conn );
utl_smtp.quit(mail_conn);
EXCEPTION
WHEN OTHERS THEN
utl_smtp.quit(mail_conn);
END;
|