Oracel Send Email...

本文介绍了一个使用Oracle数据库内置的UTL_SMTP包发送带有HTML格式邮件的示例。示例中创建了一个用于存储收件人信息的表格,并通过循环读取该表格中的邮箱地址进行邮件群发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---Oracel Send Email----

-- Create table

create table TB_EMAIL

(

ID NUMBER(10),

USER_NAME VARCHAR2(20),

EMAIL_ADDR VARCHAR2(100)

)

---Oracel Send Email----

declare

mail_conn utl_smtp.connection; --declare Mail Object

CRLF varchar2(2) := CHR( 13 ) || CHR( 10 );

v_message varchar2(255);

begin

-- open Mail Connection object

mail_conn := utl_smtp.open_connection('192.168.4.10');

-- Smtp Server

utl_smtp.helo(mail_conn, '192.168.4.10');

-- Set Send Address

utl_smtp.mail(mail_conn, 'admin@sql.dba.com');

-- Set Receive Address

declare email_addr tb_email.email_addr%type;

cursor Cur_Email is

select email_addr from tb_email;

begin

open Cur_Email;

loop

fetch cur_email into email_addr;

utl_smtp.rcpt(mail_conn,email_addr);

exit when cur_email%notFound;

end loop;

close cur_email;

end;

-- utl_smtp.rcpt(mail_conn, 'admin@sql.dba.com');

-- utl_smtp.rcpt(mail_conn, 'dba@sql.dba.com');

-- Define send context

utl_smtp.open_data(mail_conn);

v_message := 'Subject:Oracle Send Mail Test' ||

chr(13) || chr(10)

||'<table border="1" >'

||'<tr><td>Col1</td><td >Col2</td></tr>'

||'<tr><td>'

||'Hello'

||'</td><td >'

||'World !'

||'</td></tr></table>';

-- Write Mail Header

utl_smtp.write_raw_data( mail_conn, utl_raw.cast_to_raw('Subject:Oracle Send Mail Test' || CRLF) );

utl_smtp.write_data( mail_conn, 'MIME-Version: 1.0' || CRLF );

utl_smtp.write_data( mail_conn, 'Content-Type: text/html; charset=utf-8/big5' || CRLF );

utl_smtp.write_data( mail_conn, 'Content-Transfer-Encoding: 8bit' || CRLF );

-- Write Mail Body

utl_smtp.write_raw_data( mail_conn, utl_raw.cast_to_raw(v_message) );

-- close mail connect

utl_smtp.close_data(mail_conn);

utl_smtp.quit(mail_conn);

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值