使用Oracle的PL/SQL发送Email
来源:互联网 发布:青岛鹏为软件 编辑:程序博客网 时间:2024/06/04 19:12
使用Oracle的PL/SQL发送Email:
CREATE OR REPLACE PROCEDURE sendEmail(smtp_server VARCHAR2,
from_userid VARCHAR2,
to_userid VARCHAR2,
subject VARCHAR2,
body VARCHAR2,
from_name VARCHAR2 := NULL,
to_name VARCHAR2 := NULL,
content_type VARCHAR2 := NULL)
IS
c utl_smtp.connection;
from_domain VARCHAR2(200) := SUBSTR(from_userid,INSTR(from_userid,'@')+1);
PROCEDURE header(name VARCHAR2, value VARCHAR2) IS
BEGIN
utl_smtp.write_data(c, name || ': ' || value || utl_tcp.CRLF);
END;
BEGIN
c := utl_smtp.open_connection( smtp_server );
utl_smtp.helo(c, from_domain );
utl_smtp.mail(c, from_userid );
utl_smtp.rcpt(c, to_userid );
utl_smtp.open_data(c);
header('From','"'||NVL(from_name,from_userid)||'" <'||from_userid||'>');
header('To','"'||NVL(to_name,to_userid)||'" <'||to_userid||'>');
header('Subject', subject );
header('Content-Type', NVL(content_type,'text/plain'));
utl_smtp.write_data(c, utl_tcp.CRLF || body );
utl_smtp.close_data(c);
utl_smtp.quit(c);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
utl_smtp.quit(c);
raise_application_error(-20199,'Error sending mail: ' || sqlerrm);
END;
from_userid VARCHAR2,
to_userid VARCHAR2,
subject VARCHAR2,
body VARCHAR2,
from_name VARCHAR2 := NULL,
to_name VARCHAR2 := NULL,
content_type VARCHAR2 := NULL)
IS
c utl_smtp.connection;
from_domain VARCHAR2(200) := SUBSTR(from_userid,INSTR(from_userid,'@')+1);
PROCEDURE header(name VARCHAR2, value VARCHAR2) IS
BEGIN
utl_smtp.write_data(c, name || ': ' || value || utl_tcp.CRLF);
END;
BEGIN
c := utl_smtp.open_connection( smtp_server );
utl_smtp.helo(c, from_domain );
utl_smtp.mail(c, from_userid );
utl_smtp.rcpt(c, to_userid );
utl_smtp.open_data(c);
header('From','"'||NVL(from_name,from_userid)||'" <'||from_userid||'>');
header('To','"'||NVL(to_name,to_userid)||'" <'||to_userid||'>');
header('Subject', subject );
header('Content-Type', NVL(content_type,'text/plain'));
utl_smtp.write_data(c, utl_tcp.CRLF || body );
utl_smtp.close_data(c);
utl_smtp.quit(c);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
utl_smtp.quit(c);
raise_application_error(-20199,'Error sending mail: ' || sqlerrm);
END;
- 使用Oracle的PL/SQL发送Email
- Oracle PL/SQL使用
- Oracle-PL/SQL使用
- Oracle PL/SQL Profiler 的使用
- Oracle PL/SQL 事物的使用
- oracle PL\SQl基础 变量的使用
- PL/SQL中使用SMTP发送电子邮件的例子
- ORACLE的PL/SQL
- 数据库oracle--PL/SQL的使用-禁止生成备份文件 .~sql
- ORACLE PL/SQL使用经验总结
- oracle使用五(PL/SQL)
- oracle内发送email
- SQL 发送Email
- 发送Email程序----Intetnt在Email上的使用
- PL-SQL的使用
- PL/SQL的使用
- 使用WordPress的PHPMailer发送Email
- 发送email的方法使用swing
- 可爱的 Python: Decorator 简化元编程
- asp 需要掌握的常用函数
- PNG透明背景显示之路
- 上传文件时判断文件夹是否存在
- 图灵程序设计图书新书发布台
- 使用Oracle的PL/SQL发送Email
- IBM SOA 解决方案设计师认证考试准备,第 1 部分:SOA 最佳实践
- 30岁前男人需要完成的事
- Why this code compile OK, but throw ClassCastException at run time?
- 开发基于 Ajax 的用户注释系统
- 认识 Atom 发布协议,第 1 部分:使用 Atom 发布协议创建和编辑 Web 资源
- 想给公司起个大气点的名字,大家帮忙啊!!!
- 一些常用的硬盘术语
- 思考系列之一