发送邮件的存储过程

CREATE OR REPLACE PROCEDURE Up_send_mail(subject in varchar2(500),mail_content in varchar2(2000),re_out out number(2))
AS
/*********************************
编写:枯叶
作用:发送邮件
日期:2013-03-13
返回码:0 = 发送成功1 = 发送失败
*********************************/smtp_conn  utl_smtp.connection;--定义发邮件用户名user_name  varchar2(50) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('mailname@163.com')));--定义发邮件的密码user_paswd varchar2(50) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('mailpass')));--定义邮件表头lv_mail_header varchar2(200):='From:mailname@163.com'||utl_tcp.CRLF||'To:tomail@qq.com'||utl_tcp.CRLF||'Subject:'||subject||utl_tcp.CRLF;--定义邮件正文                              lv_mail_content varchar2(2000):=utl_tcp.CRLF||mail_content ;
beginre_out :=0;smtp_conn := utl_smtp.open_connection('smtp.163.com',25);utl_smtp.helo(smtp_conn,'smtp.163.com');utl_smtp.command(smtp_conn,'AUTH LOGIN');utl_smtp.command(smtp_conn,user_name);utl_smtp.command(smtp_conn,user_paswd);utl_smtp.mail(smtp_conn,'<mailname@163.com>');utl_smtp.rcpt(smtp_conn,'<tomail@qq.com>');utl_smtp.open_data(smtp_conn);utl_smtp.write_data(smtp_conn,lv_mail_header);utl_smtp.write_raw_data(smtp_conn,utl_raw.cast_to_raw(lv_mail_content));utl_smtp.close_data(smtp_conn);utl_smtp.quit(smtp_conn);
exceptionwhen others then re_out := 1;utl_smtp.quit(smtp_conn);RETURN;end;

注:

mailname@163.com 改成发送邮箱的地址
mailpass         改成发送邮箱的密码
tomail@qq.com    改成接收邮箱的地址

调用存储过程

DECLAREsubject_in varchar(500) := 'Oracle Tablespace mail';mail_content_in varchar(2000):='这是一个测试邮件,不知道是做什么用的!';re_out_out number(2);
BEGINUp_send_mail(subject_in,mail_content_in,re_out_out );IF re_out_out=0THEN DBMS_OUTPUT.put_line('发送成功');ELSEDBMS_OUTPUT.put_line('发送失败'); END IF;
END;

转载于:https://blog.51cto.com/mydbs/1746197

Oracle发送邮件存储过程相关推荐

  1. oracle发送邮件附件,oracle发送邮件存储过程:

    oracle发送邮件存储过程: create or replace procedure bsd_sendemail( p_receiver varchar2, p_sub varchar2, p_tx ...

  2. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...

    ORA-24247:网络访问被访问控制列表 (ACL) 拒绝 需要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建访问控制列表(ACL), 再使用 DBMS_NETWO ...

  3. oracle怎么调报表,集智数据平台报表如何调用Oracle数据存储过程

    需要注意的是,当在单元格中用call函数调用存储过程时,执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个 数据集的数据来自存储过程.sql语句执行的时候要先编译,然后执行.存储过 ...

  4. 用.NET调用oracle的存储过程返回记录集

    最近做一个项目,为了提高数据库安全性,客户要求所有数据库操作都要放在存储过程.象一般的更新操作,返回一个值的,都比较容易实现.而要想返回记录集就比较麻烦,我在网上搜了一下,这方面的文章并不多.在此总结 ...

  5. oracle 9I 存储过程复制,使用ADO.NET访问Oracle 9i存储过程(上)_oracle

    本文讨论了如何使用 ADO.NET 访问 oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块). 您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft ...

  6. oracle的存储过程

    用了两年Oracle还没写过存储过程,真是十分惭愧,从今天开始学习Oracle存储过程,完全零起点,争取每日一篇学习笔记,可能开始认识的不全面甚至有错误,但坚持下来一定会有收获. 1. 建立一个存储过 ...

  7. oracle数据库存储过程中NO_DATA_FOUND不起作用解决

    oracle数据库存储过程中NO_DATA_FOUND不起作用 1.首先创建一个表lengzijiantest,表中只有一个字段f_id ? 1 2 3 4 5 [cpp] CREATE TABLE ...

  8. 如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程

    http://blog.csdn.net/dutguoyi/article/details/1879416 为了减少连接Oracle数据库的数量,需要将多条数据作为变量一次传入Oracle的存储过程中 ...

  9. 编程开发之--Oracle数据库--存储过程在out参数中使用光标(3)

    在本系列学习随笔中的第2节我们留下了2个问题,我们现在讨论在out参数中使用光标. 1.要在out参数中使用光标,我们需要申明一个包的结构,包的结构分为包头和包体,包头只负责申明,包体只负责实现.包头 ...

最新文章

  1. wukong引擎源码分析之索引——part 1 倒排列表本质是有序数组存储
  2. exchange作业
  3. (转载)jsp与servlet之间页面跳转及参数传递实例
  4. 200919阶段一C++STL容器
  5. 力扣141.环形链表
  6. linux IP DNS 配置
  7. android 短信位置,浅析Android手机卫士之手机实现短信指令获取位置
  8. Xamarin开发教程如何使用Xamarin开发Android应用
  9. 用matlab实现人脸识别,Matlab实现简单的人脸识别程序
  10. windows资源管理器转圈崩溃
  11. D - Petya and Array(树状数组,二分)
  12. flyme禁止系统更新_魅族怎么关闭系统更新
  13. 加入知数堂,成为专业MySQL DBA,就是这么简单!
  14. html代码width什么意思,width:100% 啥意思呢,在什么情况下使用?
  15. 记录一次mongoDB错误 errmsg: cannot use the part () to traverse the element
  16. MSYS+MinGW64环境的搭建
  17. CCNA 初学(第一课)
  18. 详解什么是BFC和BFC能解决什么问题
  19. 摘抄整理-20161115-程序员思维修炼
  20. android多彩水果店设计,《多彩的水果王国》的教案设计

热门文章

  1. Android WebView注入js文件,判断当前HTML有没有某个js然后再注入
  2. JAVA常见的RuntimeException
  3. Python数据结构——序列总结
  4. intent Filter
  5. Youtube最佳Red5 官方视频下载指南,字幕【亲测成功】
  6. 进程函数一步步理解Linux进程(2)--进程编程进程函数
  7. .net VS Java 到底谁吃香?
  8. IBatisNet + Castle 开发相关文章
  9. 为什么微服务化、数据仓库都不是中台?
  10. 大龄程序员想转产品经理?3本书给你最靠谱的进阶攻略