ITPub博客

首页 > 数据库 > Oracle > oracle mail utl_smtp

oracle mail utl_smtp

原创 Oracle 作者:liangxichen 时间:2007-01-25 10:30:16 0 删除 编辑

DECLARE
c utl_smtp.connection;
PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS
BEGIN
utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF);
END;
BEGIN
-- << 用你的SMTP服务器地址替换 'smtp.xxx.com'
c := utl_smtp.open_connection('smtp.xxx.com');

-- << 用你的用户名替换user1, 密码替换pass

-- << 用你的SMTP服务器地址替换 'smtp.xxx.com'
utl_smtp.helo(c, 'smtp.xxx.com');

utl_smtp.command(c, 'AUTH LOGIN');
utl_smtp.command(c, utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('user'))));
utl_smtp.command(c, utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('password'))));

-- << 用你的email地址替换'user1@xxx.com'
utl_smtp.mail(c, 'user1@xxx.com');
-- << 用收信人的email地址替换'bill@microsoft.com'
utl_smtp.rcpt(c, 'user1@xxx.com');
utl_smtp.open_data(c);

send_header('From', '<user1@xxx.com>');
send_header('To', '<user1@xxx.com>');

utl_smtp.write_data(c, utl_tcp.CRLF || 'Hello, microsoft, I like oracle not sql server :-)');
utl_smtp.close_data(c);
utl_smtp.quit(c);

END;

utl_smtp.write_raw_data(c, utl_raw.cast_to_raw(
convert( 'Subject:'||v_email_title|| utl_tcp.CRLF ,'ZHS16GBK') ) ); --写标题

utl_smtp.write_raw_data(c, utl_raw.cast_to_raw(
convert(utl_tcp.CRLF || v_email_content ,'ZHS16GBK') )); --写正文

send_header('Content-type','text/plain; charset=utf-8');
send_header('Content-type','text/html; charset=utf-8');

http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/mailexample8i_sql.txt

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/59792/viewspace-893493/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 会计学习
请登录后发表评论 登录
全部评论

注册时间:2010-03-12

  • 博文量
    44
  • 访问量
    189985