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的程员 配套PDF图书 第五章是介绍jinit11810.exe 哪附件打包一起,有点大,上传不上去, 所以就删了, 想要的可以给我发邮件,我用信箱给你传。
支持对oracle数据定时查询,然后把查询结果发送邮箱;2.灵活可配置,日志目录,数据库相关连接,展示的字段,展示的格式,发送的邮箱,表格的风格等; 3.可以在此基础上,支持扩展,定时查询数据(任何数据库),...
oracle基础的学习笔记,希望能对想初步了解oracle 的同仁有所帮助,如果需要更多的资料可以给我发邮件yulong663@126.com
除了提供高可靠性和高效率的基础邮件服务功能外,Turbomail还提供完善的Webmail、安全防护、反垃圾邮件、反病毒、邮件列表等高级功能,完全满足用户对邮件和相关信息传输系统在易用性、安全性、效率和可管理性...
A:自动退回给发件人 B:开机时对方重新发送 C:保存在服务商的E-Mail服务器上 D:该邮件丢失 答案:C 八进制数304.23转换为二进制数为( )。 A:11100.1011 B:1100100.010011 C:11000100.010011 D:11000100.01101 答案...
12. 发送邮件:单发,群发邮件 13. 置二维码:生成二维码图表保存到服务器 or 解析读取二维码内信息 14. 图表报表:柱状图、饼状图、折线图、各种图表大全 15. 地图工具:打开地图, 鼠标点击地图某位置获取经纬度...
代码生成器:自动生成美观大方的前台页面及后台...• 常用共通封装(数据字典/邮件发送/定时任务/短信接口/Freemarker工具类等..) • 兼容IE 6、IE 8+和Google等浏览器 • 支持SQL Server、Oracle和MySQL等主流数据库
应该说,Blackberry与桌面PC同步堪称完美,它可以自动把你Outlook邮件转寄到Blackberry中,不过在你用Blackberry发邮件时,它会自动在邮件结尾加上“此邮件由Blackberry发出”字样。 BlackBerry.nterpriseSolution...
数据分析系统 一、项目概述 名称:轻量数据分析项目 日期:2012年1月底 目标用户:中小企业数据分析用户 二、项目背景...4.4.4 根据模板及用户数据向用户组发送邮件 数据分析系统全文共2页,当前为第2页。 数据分析系统
第11章 javaweb邮件发送系统(jsp+servlet+javabean) 11.1 javaweb邮件发送系统原理 11.2 下载邮件相关jar包 11.3 普通方式电子邮件的发送 11.4 html方式电子邮件的发送 11.5 携带附件电子邮件的发送...
标题:PHP基础教程 出处:风流的CG网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 内容: 提供给新手学习的 PHP新手教程,是一个比较有价值的PHP新手教程! 一、PHP...
java版中国象棋源码个人简介-JAVA 工程师 姓名:沉鸿铿 性别:男 毕业院校:广州华夏职业学院 ...邮件发送, 用户鉴权 使用MyBatis-Plus作为持久层组件, 完成数据持久化前的自动处理 利用Spring的HandlerMethodAr
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:...
添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅...
添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅...
2、支持SQLServer、MySQL、Oracle、SQLite、Access 等多数据库类型。模块化设计,层次结构清晰。内置一系列企业信息管理的基础功能。 3、操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、...
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:...