使用Oracle发送邮件

CREATE OR REPLACE PROCEDURE sendemailtest
(mailmsg IN Varchar2)
IS    
   --using mail server to send email.
   mailconn         UTL_SMTP.connection;
   mailhost         VARCHAR2 (20);
   mailfrom         VARCHAR2 (30);
  
BEGIN
   --(1) open connection to mail server.
   mailhost := 'xxx.xxx.xxx.xxx';
   mailfrom := 'Test@MailAddress.com';
   mailconn := UTL_SMTP.open_connection(mailhost);
   UTL_SMTP.helo (mailconn, mailhost);
   UTL_SMTP.mail (mailconn, mailfrom);

 

   --(2) set recipients.  
   UTL_SMTP.rcpt (mailconn, 'ToMail@MailAddress.com');

 

   --(3) send content.
   UTL_SMTP.open_data (mailconn);
   UTL_SMTP.write_data(mailconn, 'Date: '||to_char(sysdate,'yyyy/mm/dd hh24:mi:ss')|| UTL_TCP.crlf);
   UTL_SMTP.write_data(mailconn, 'From: FromWho' || UTL_TCP.crlf);
   UTL_SMTP.write_data(mailconn, 'To: ToWho' || UTL_TCP.crlf);
   UTL_SMTP.write_data(mailconn, 'Subject: TestSendMail' || UTL_TCP.crlf);
   UTL_SMTP.write_data(mailconn, 'MIME-Version: 1.0' || UTL_TCP.crlf);
   UTL_SMTP.write_data(mailconn, 'Content-Type: text/html; charset=utf-8' || UTL_TCP.crlf );
   UTL_SMTP.write_data(mailconn, 'Content-Transfer-Encoding: "8Bit"' || UTL_TCP.crlf);
  
   UTL_SMTP.write_data (mailconn, UTL_TCP.crlf || mailmsg);
   UTL_SMTP.close_data (mailconn);
  
   --(4) close connection.
   UTL_SMTP.quit (mailconn);
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line (SUBSTR (SQLERRM, 1, 100));
END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值