UTIL_SMTP
データベースから電子メールを送信するには、またはその他の電子メールプロトコルを使用する手順が必要です。次のUTIL_SMTP
ようにプロシージャを作成します
create or replace PROCEDURE send_mail (P_SENDER in varchar2,
P_RECIPIENT in varchar2,
P_CC in varchar2,
P_SUBJECT in varchar2,
P_MESSAGE in varchar2) is
mailhost varchar2(30) := 'xxx.xxx.xx.xx';
mail_conn utl_smtp.connection;
crlf varchar2(2) := CHR(13)||CHR(10);
mesg varchar2(4000);
BEGIN
mail_conn := utl_smtp.open_connection(mailhost,25);
mesg := 'Date: '||to_char(sysdate,'dd Mon yy hh24:mi:ss' )||crlf||
'FROM: '||P_SENDER||'>'||crlf||'Subject: '||P_SUBJECT||crlf||
'To: '||P_RECIPIENT||crlf||
'Cc: '||P_CC||crlf||crlf||P_MESSAGE;
utl_smtp.helo(mail_conn,mailhost);
utl_smtp.mail(mail_conn,P_SENDER);
utl_smtp.rcpt(mail_conn,P_RECIPIENT);
utl_smtp.rcpt(mail_conn,P_CC);
utl_smtp.data(mail_conn,mesg);
utl_smtp.quit(mail_conn);
END send_mail;
/
システム管理者からSMTP_HOST
取得できます。SMTP_PORT
SMTP_PORTはデフォルトで25になります。それができたら、次のように手順を実行できます
exec send_mail('abc@xyz.com',
'rakesh.k@xyz.com',
'hari.k@xyz.com',
'<Your subject>',
'<Your message>');
JSPから電子メールを送信するためのプロシージャを呼び出す場合は、プロシージャを呼び出して、JSPからプロシージャにパラメータを渡すことができます。電子メールの送信にselectステートメントを使用する場合は、プロシージャを関数でラップし、関数を次のように実行します。
select <yourfunction(params)> from dual