Oracle 存储过程发送邮件实例学习建站知识
导读:1建站知识接下来将介绍下如何使用存储过程发送邮件这一案例实现,感兴趣的你可以参考下本文或许对你有所帮助建设网站公司公司网站建设。
复制代码 代码如下:
CREATE OR REPLACE PROCEDURE PROCSENDEMAIL(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHAR2, P_RECEIVER VARCHAR2, P_SERVER VARCHAR2, P_PORT NUMBER DEFAULT 25, P_NEED_SMTP INT DEFAULT 0, P_USER VARCHAR2 DEFAULT NULL, P_PASS VARCHAR2 DEFAULT NULL, P_FILENAME VARCHAR2 DEFAULT NULL, P_ENCODE VARCHAR2 DEFAULT 'bit 7') AUTHID CURRENT_USER IS
复制代码 代码如下:
/* 作用:用oracle发送邮件 主要功能:1、支持多收件人。 2、支持中文 3、支持抄送人 4、支持大于32K的附件 5、支持多行正文 6、支持多附件 7、支持文本附件和二进制附件 8、支持HTML格式 8、支持 作者:suk 参数说明: p_txt :邮件正文 p_sub: 邮件标题 p_SendorAddress : 发送人邮件地址 p_ReceiverAddress : 接收地址,可以同时发送到多个地址上,地址之间用","或者";"隔开 p_EmailServer : 邮件服务器地址,可以是域名或者IP p_Port :邮件服务器端口 p_need_smtp:是否需要smtp认证,0表示不需要,1表示需要 p_user:smtp验证需要的用户名 p_pass:smtp验证需要的密码 p_filename:附件名称,必须包含完整的路径,如"d:tempa.txt"。 可以有多个附件,附件名称只见用逗号或者分号分隔 p_encode:附件编码转换格式,其中 p_encode='bit 7' 表示文本类型附件 p_encode='base64' 表示二进制类型附件 注意: 1、对于文本类型的附件,不能用base64的方式发送,否则出错 2、对于多个附件只能用同一种格式发送 */ L_CRLF VARCHAR2(2) := UTL_TCP.CRLF; L_SENDORADDRESS VARCHAR2(4000); L_SPLITE VARCHAR2(10) := '++'; BOUNDARY CONSTANT VARCHAR2(256) := '-----BYSUK'; FIRST_BOUNDARY CONSTANT VARCHAR2(256) := '--' || BOUNDARY || L_CRLF; LAST_BOUNDARY CONSTANT VARCHAR2(256) := '--' || BOUNDARY || '--' || L_CRLF; MULTIPART_MIME_TYPE CONSTANT VARCHAR2(256) := 'multipart/mixed; boundary="' || BOUNDARY || '"'; /* 以下部分是发送大二进制附件时用到的变量 */ L_FIL BFILE; L_FILE_LEN NUMBER; L_MODULO NUMBER; L_PIECES NUMBER; L_FILE_HANDLE UTL_FILE.FILE_TYPE; L_AMT BINARY_INTEGER := 672 * 3; /* ensures proper format; 2016 */ L_FILEPOS PLS_INTEGER := 1; /* pointer for the file */ L_CHUNKS NUMBER; L_BUF RAW(2100); L_DATA RAW(2100); L_MAX_LINE_WIDTH NUMBER := 54; L_DIRECTORY_BASE_NAME VARCHAR2(100) := 'DIR_FOR_SEND_MAIL'; L_LINE VARCHAR2(1000); L_MESG VARCHAR2(32767); /* 以上部分是发送大二进制附件时用到的变量 */ TYPE ADDRESS_LIST IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER; MY_ADDRESS_LIST ADDRESS_LIST; TYPE ACCT_LIST IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER; MY_ACCT_LIST ACCT_LIST;
-------------------------------------返回附件源文件所在目录或者名称--------------------------------------声明: 本文由我的SEOUC技术文章主页发布于:2023-05-24 ,文章Oracle 存储过程发送邮件实例学习建站知识主要讲述发送邮件,存储过程,Oracle 存储过程发送邮件实例网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_6523.html