01.
CREATE
OR
REPLACE
PROCEDURE
send_mail(
02.
p_recipient VARCHAR2,
03.
p_subject VARCHAR2,
04.
p_message VARCHAR2
05.
)
06.
IS
07.
08.
09.
v_mailhost VARCHAR2(30) :=
'mail.xxx.com'
;
10.
v_user VARCHAR2(30) :=
'user'
;
11.
v_pass VARCHAR2(20) :=
'pass'
;
12.
v_sender VARCHAR2(50) :=
'user@xxx.com'
;
13.
14.
v_conn UTL_SMTP.
connection
;
15.
v_msg varchar2(4000);
16.
17.
BEGIN
18.
19.
v_conn := UTL_SMTP.open_connection(v_mailhost, 25);
20.
UTL_SMTP.ehlo(v_conn, v_mailhost);
21.
22.
23.
UTL_SMTP.command(v_conn,
'AUTH LOGIN'
);
24.
UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_user))));
25.
UTL_SMTP.command(v_conn,UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_pass))));
26.
27.
UTL_SMTP.mail(v_conn, v_sender);
28.
UTL_SMTP.rcpt(v_conn, p_recipient);
29.
30.
31.
v_msg :=
'Date:'
|| TO_CHAR(SYSDATE,
'dd mon yy hh24:mi:ss'
)
32.
|| UTL_TCP.CRLF ||
'From: '
|| v_sender ||
'<'
|| v_sender ||
'>'
33.
|| UTL_TCP.CRLF ||
'To: '
|| p_recipient ||
'<'
|| p_recipient ||
'>'
34.
|| UTL_TCP.CRLF ||
'Subject: '
|| p_subject
35.
|| UTL_TCP.CRLF || UTL_TCP.CRLF
36.
|| p_message;
37.
38.
UTL_SMTP.open_data(v_conn);
39.
UTL_SMTP.write_raw_data(v_conn, UTL_RAW.cast_to_raw(v_msg));
40.
UTL_SMTP.close_data(v_conn);
41.
UTL_SMTP.quit(v_conn);
42.
43.
EXCEPTION
44.
45.
WHEN
OTHERS
THEN
46.
DBMS_OUTPUT.put_line(DBMS_UTILITY.format_error_stack);
47.
DBMS_OUTPUT.put_line(DBMS_UTILITY.format_call_stack);
48.
49.
END
send_mail;
相关推荐
Oracle 发送邮件实现方法是指在 Oracle 数据库中使用 PL/SQL 语言编写的存储过程来发送电子邮件的实现方法。该方法可以实现多种功能,包括支持多收件人、支持中文、支持抄送人、支持大于 32K 的附件、支持多行正文、...
总结来说,这个Oracle存储过程`PROCSENDEMAIL`是一个功能强大的工具,能够帮助数据库管理员和开发者在Oracle环境中方便地发送邮件。通过理解和使用这个存储过程,你可以创建自己的通知系统,自动发送报告或触发事件...
【标题】"使用JSP和Oracle开发的站内邮件收发系统"是一个基于Web的通信应用,它结合了JavaServer Pages(JSP)技术和Oracle数据库,以实现用户在网站内部发送和接收邮件的功能。这样的系统通常包括用户界面、邮件...
UTL_SMTP是Oracle提供的一个实用程序包,它包含了一系列过程和函数,用于建立与SMTP服务器的连接,发送邮件头和邮件内容,以及关闭连接。在这个例子中,我们主要使用了`Open_Connection`、`Ehlo`、`Command`、`Mail...
1. **邮箱验证码的代码被屏蔽**:这表明源码中原本包含的邮箱验证功能可能已被禁用或注释掉,可能是出于安全考虑或者避免实际发送邮件。在实际应用中,邮箱验证码通常用于账户注册、密码找回等场景,以验证用户身份...
4. 创建用户和表空间:为不同角色的用户分配权限,并设置相应的存储空间。 5. 创建表:根据物理模型设计,创建各实体对应的表。 最后,为了提高数据库的效率和安全性,我们还需要创建视图、存储过程和触发器: 1. ...
7. **数据库管理**:邮件系统需要存储用户的账号信息、邮件内容等数据,因此很可能涉及到数据库的设计和使用,如MySQL、Oracle等。这部分可能涉及SQL查询、事务处理和安全性考虑。 8. **安全性**:邮件系统的安全性...
首先,我们需要定义一个名为`bsd_sendemail`的存储过程,它接受三个参数:`p_receiver`(收件人地址),`p_sub`(邮件标题)和`p_txt`(邮件内容,支持HTML)。下面是一段创建这个过程的PL/SQL代码: ```sql create...
文件名"mailtest"可能指的是项目的邮件测试部分,可能包含了一个测试邮件发送的功能,这可能涉及到Spring的邮件服务模块,用于发送验证邮件或其他通知。 总的来说,这个项目是一个很好的学习平台,涵盖了从前端展示...
【标题】"CBD-root-邮箱证书.rar"指出的主题是关于邮箱证书,这通常涉及到电子邮件的安全性和身份验证。邮箱证书,也称为SSL/TLS证书,是用来验证电子邮件服务器身份的数字证书,确保邮件传输过程中的信息安全。 在...
- **Delivery Content标签**:输入标题,选择发送的内容。 通过以上步骤,不仅能够有效地配置Oracle BI Scheduler,还能创建并配置iBot以实现自动化报表分发等功能。这些操作对于企业中的业务智能(BI)系统来说至关...
【标题】"CSDN.rar_csdn" 涉及的是CSDN网站的用户注册系统的源代码,这通常包括后端逻辑处理、前端界面展示以及数据存储等相关技术。CSDN(China Software Developer Network)是中国知名的IT技术交流平台,提供博客...
- 数据库操作:Coldfusion提供了丰富的数据库操作函数,如cfquery用于执行SQL查询,cfstoredproc调用存储过程,方便与MySQL、Oracle等数据库交互,实现用户信息、帖子数据的存取。 - 用户认证与会话管理:...
在JSP中,可以使用JavaMail API来实现邮件的发送和接收,同时数据库可以用来存储邮件模板、收件人列表等信息。 【标签】"java jsp MyEcLipse" 提示了开发环境是MyEclipse,这是一个集成开发环境(IDE),专为Java和...
本项目旨在设计并实现一个基于Java Web技术的新闻网站,该网站需具备良好的用户体验,支持用户注册、登录、浏览新闻等功能,并能够根据用户的操作习惯提供个性化的服务。 **1.2 系统需求** ##### 1.2.1 功能需求 ...
这通常需要集成SMTP服务,如使用JavaMail API来发送邮件。 此外,系统可能还包括了广告的发布、管理、统计等功能。广告主可以在后台上传广告,设置展示时间、频率等参数。系统可能还有广告点击统计模块,记录每个...
4. **数据库存储**:邮件数据通常会存储在数据库中,如MySQL或Oracle,以便持久化和检索。 5. **前端技术**:压缩包中的文件名如`index.html`、`toolbar.html`、`webmail.css`和`html_editor_script.js`暗示了前端...