ORACLE SMTP 发送邮件

本文介绍了如何在Oracle中使用SMTP发送包含HTML内容的邮件,同时处理了ORA-29279错误,该错误通常由于尝试发送邮件的数据库IP未被SMTP服务器接受导致,解决方案是将数据库IP添加到SMTP服务器的白名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORACLE  简易版  发送邮件  识别HTML,中文

​
CREATE OR REPLACE PROCEDURE "SEND_MAIL" (
msg_to VARCHAR2,
msg_subject VARCHAR2,
msg_text VARCHAR2,
pCoCode     varchar2 default null,
msg_cc varchar2 default null,
msg_bcc varchar2 default null)

IS
c utl_smtp.connection;
rc INTEGER;
err_msg VARCHAR2(400);
msg_from VARCHAR2(50) := 'XX@qq.com';
mailhost VARCHAR2(30) ; 
msg VARCHAR2(100);
DEFAULT_SMTP_HOST VARCHAR2(30) :='12.123.12.123';
porthost     VARCHAR2(10) := '25'; -- SMTP on port 25
iCount       Number;

BEGIN

c := utl_smtp.open_connection(mailhost,porthost); 
utl_smtp.ehlo(c, mailhost);
utl_smtp.mail(c, msg_from);
utl_smtp.rcpt(c, msg_to);
If msg_cc is not null then
    utl_smtp.rcpt(c, msg_cc);
End If;
If msg_bcc is not null then
    utl_smtp.rcpt(c, msg_bcc);
End If;
UTL_SMTP.open_data (c);


UTL_SMTP.write_data(c, 'From' || ': ' || msg_from || UTL_TCP.crlf);
UTL_SMTP.write_da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值