W Oracle 8i używałem procedury do wysyłania e-maili z poziomu bazy. Po przejściu na Oracle11g procedura przestała działać. Wydaje mi się, że to sprawa konfiguracji bazy (ale nie jestem pewien). Czy wie ktoś co trzeba zrobić, żeby wysyłanie maili działało poprawnie??
Tak wygląda procedura do wysyłania e-mail
CREATE OR REPLACE PROCEDURE SEND_MAILX ( wMailTo IN Varchar2, wMailFrom IN Varchar2, wTitle IN Varchar2, wMessage IN Varchar2 ) AS mailDATE VARCHAR2(20); SendorAddress Varchar2(30); ReceiverAddress varchar2(30); EmailServer varchar2(30) := '10.10.20.253'; Port number := 25; conn UTL_SMTP.CONNECTION; crlf VARCHAR2( 2 ):= CHR( 13 ) || CHR( 10 ); mesg VARCHAR2( 4000 ); mesg_body varchar2(4000); errCode Varchar2(20); errDesc Varchar2(201); BEGIN SendorAddress := wMailFrom; ReceiverAddress := wMailTo; SELECT TO_CHAR(SYSDATE,'MM/DD/YYYY HH24:MI:SS') INTO mailDATE FROM dual; conn:= utl_smtp.open_connection( EmailServer, Port ); utl_smtp.helo( conn, EmailServer ); utl_smtp.mail( conn, SendorAddress); utl_smtp.rcpt( conn, ReceiverAddress ); mesg:= 'Date: '||TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' )|| crlf || 'From:'||SendorAddress|| crlf || 'Subject: ' || wTitle || crlf || 'To: '||ReceiverAddress || crlf || '' || crlf || ' ' || wMessage; utl_smtp.DATA( conn, mesg ); utl_smtp.quit( conn ); EXCEPTION WHEN OTHERS THEN errCode := SQLCODE; errDesc := substr(SQLERRM, 1, 200); end;
Proszę o podpowiedź co zmienić albo co i jak ma byc ustawione, żeby to działało.