`
xiaomogui
  • 浏览: 239414 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle基础之发送邮件

阅读更多

1. 很早以前从网上找的,没有具体用过。

 

CREATE OR REPLACE PROCEDURE send_mail( 
     p_recipient VARCHAR2, -- 邮件接收人 
     p_subject   VARCHAR2, -- 邮件标题 
     p_message   VARCHAR2  -- 邮件正文 
) 
IS 

    --下面四个变量请根据实际邮件服务器进行赋值 
    v_mailhost  VARCHAR2(30) := '192.168.12.19';--'mail.abc.com'; --SMTP服务器地址 
    v_user      VARCHAR2(30) := 'asi.dfouzhou@163.com'; --登录SMTP服务器的用户名 
    v_pass      VARCHAR2(20) := 'mima';           --登录SMTP服务器的密码 
    v_sender    VARCHAR2(50) := 'asi.dfou@163.com'; --发送者邮箱,一般与 ps_user 对应 

    v_conn  UTL_SMTP.connection; --到邮件服务器的连接 
    v_msg varchar2(4000);  --邮件内容 

BEGIN 

    v_conn := UTL_SMTP.open_connection(v_mailhost, 25); 
    UTL_SMTP.ehlo(v_conn, v_mailhost); --是用 ehlo() 而不是 helo() 函数 
    --否则会报:ORA-29279: SMTP 永久性错误: 503 5.5.2 Send hello first. 

    UTL_SMTP.command(v_conn, 'AUTH LOGIN');   -- smtp服务器登录校验 
    UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_user)))); 
    UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_pass)))); 

    UTL_SMTP.mail(v_conn, v_sender);     --设置发件人 
    UTL_SMTP.rcpt(v_conn, p_recipient);  --设置收件人 

    -- 创建要发送的邮件内容 注意报头信息和邮件正文之间要空一行 
    v_msg :='Date:'|| TO_CHAR(SYSDATE, 'dd mon yy hh24:mi:ss') 
        || UTL_TCP.CRLF || 'From: '|| v_sender || '<' || v_sender || '>' 
        || UTL_TCP.CRLF || 'To: '  || p_recipient || '<' || p_recipient || '>' 
        || UTL_TCP.CRLF || 'Subject: ' || p_subject 
        || UTL_TCP.CRLF || UTL_TCP.CRLF  -- 这前面是报头信息 
        || p_message;    -- 这个是邮件正文 

    UTL_SMTP.open_data(v_conn); --打开流 
    UTL_SMTP.write_raw_data(v_conn, UTL_RAW.cast_to_raw(v_msg)); --这样写标题和内容都能用中文 
    UTL_SMTP.close_data(v_conn); --关闭流 
    UTL_SMTP.quit(v_conn); --关闭连接 

EXCEPTION 

    WHEN OTHERS THEN 
        DBMS_OUTPUT.put_line(DBMS_UTILITY.format_error_stack); 
        DBMS_OUTPUT.put_line(DBMS_UTILITY.format_call_stack); 

END send_mail; 

邮件测试脚本.tst 
declare 
  -- Local variables here 
  i integer; 
begin 
  -- Test statements here 
  begin 
  -- Call the procedure 
  send_mail(p_recipient => '####@163.com', 
            p_subject => '测试邮件', 
            p_message => '收到邮件请回复,真的假的啊'); 
end; 
end; 

 

分享到:
评论

相关推荐

    Oracle.9i中文版基础教程

    共分为十一章,第一章都有相关的操作文档 适合初学oracle的程员 配套PDF图书 第五章是介绍jinit11810.exe 哪附件打包一起,有点大,上传不上去, 所以就删了, 想要的可以给我发邮件,我用信箱给你传。

    博主推荐C# Winform定时发送邮箱(附源码)

    支持对oracle数据定时查询,然后把查询结果发送邮箱;2.灵活可配置,日志目录,数据库相关连接,展示的字段,展示的格式,发送的邮箱,表格的风格等; 3.可以在此基础上,支持扩展,定时查询数据(任何数据库),...

    oracle学习笔记

    oracle基础的学习笔记,希望能对想初步了解oracle 的同仁有所帮助,如果需要更多的资料可以给我发邮件yulong663@126.com

    邮件服务器Turbomail 3.9.2

    除了提供高可靠性和高效率的基础邮件服务功能外,Turbomail还提供完善的Webmail、安全防护、反垃圾邮件、反病毒、邮件列表等高级功能,完全满足用户对邮件和相关信息传输系统在易用性、安全性、效率和可管理性...

    20春学期《大学计算机基础》在线作业.23266101.docx

    A:自动退回给发件人 B:开机时对方重新发送 C:保存在服务商的E-Mail服务器上 D:该邮件丢失 答案:C 八进制数304.23转换为二进制数为( )。 A:11100.1011 B:1100100.010011 C:11000100.010011 D:11000100.01101 答案...

    万能后台管理模板javaweb

    12. 发送邮件:单发,群发邮件 13. 置二维码:生成二维码图表保存到服务器 or 解析读取二维码内信息 14. 图表报表:柱状图、饼状图、折线图、各种图表大全 15. 地图工具:打开地图, 鼠标点击地图某位置获取经纬度...

    JEECG 开发指南v2.1.0

    代码生成器:自动生成美观大方的前台页面及后台...• 常用共通封装(数据字典/邮件发送/定时任务/短信接口/Freemarker工具类等..) • 兼容IE 6、IE 8+和Google等浏览器 • 支持SQL Server、Oracle和MySQL等主流数据库

    BlackBerry开发平台配置及入门介绍(傻瓜教程)

    应该说,Blackberry与桌面PC同步堪称完美,它可以自动把你Outlook邮件转寄到Blackberry中,不过在你用Blackberry发邮件时,它会自动在邮件结尾加上“此邮件由Blackberry发出”字样。  BlackBerry.nterpriseSolution...

    数据分析系统.docx

    数据分析系统 一、项目概述 名称:轻量数据分析项目 日期:2012年1月底 目标用户:中小企业数据分析用户 二、项目背景...4.4.4 根据模板及用户数据向用户组发送邮件 数据分析系统全文共2页,当前为第2页。 数据分析系统

    JAVA WEB典型模块与项目实战大全

    第11章 javaweb邮件发送系统(jsp+servlet+javabean)  11.1 javaweb邮件发送系统原理  11.2 下载邮件相关jar包  11.3 普通方式电子邮件的发送  11.4 html方式电子邮件的发送  11.5 携带附件电子邮件的发送...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    标题:PHP基础教程 出处:风流的CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 内容: 提供给新手学习的 PHP新手教程,是一个比较有价值的PHP新手教程! 一、PHP...

    java版中国象棋源码-Resume:一份来自作者的简历

    java版中国象棋源码个人简介-JAVA 工程师 姓名:沉鸿铿 性别:男 毕业院校:广州华夏职业学院 ...邮件发送, 用户鉴权 使用MyBatis-Plus作为持久层组件, 完成数据持久化前的自动处理 利用Spring的HandlerMethodAr

    java web 视频、电子书、源码(李兴华老师出版)

    18.1.3、发送普通邮件 18.1.4、发送带附件的HTML风格邮件 18.2、操作Excel文件 18.2.1、JExcelAPI简介 18.2.2、创建一个Excel文件 18.2.3、读取Excel文件 18.2.4、格式化文本 18.3、本章摘要 附录B:...

    自己使用Swing实现的POJOGenerator(POJO代码生成器 v1.2)

    添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅...

    自己使用纯Swing写的POJOGenerator(POJO代码生成器) v1.2版

    添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅...

    MF00360-大型互联网平台后台管理源码.zip

     2、支持SQLServer、MySQL、Oracle、SQLite、Access 等多数据库类型。模块化设计,层次结构清晰。内置一系列企业信息管理的基础功能。 3、操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    18.1.3、发送普通邮件 18.1.4、发送带附件的HTML风格邮件 18.2、操作Excel文件 18.2.1、JExcelAPI简介 18.2.2、创建一个Excel文件 18.2.3、读取Excel文件 18.2.4、格式化文本 18.3、本章摘要 附录B:...

Global site tag (gtag.js) - Google Analytics