• Oracle学习笔记:利用utl_mail包发送email


    utl_mail介绍

      utl_mail实用包为oracle10g中新增的用于发送email的工具。使用简单。

    utl_mail安装、配置

      默认,oracle10g并不会安装该包。可以在sqlplus下通过运行以下脚本安装:

      step1: 通过sqlplus运行下面两个脚本文件

          {ORACLE_HOME}/RDBMS/Admin/utlmail.sql

          {ORACLE_HOME}/RDBMS/Admin/prvtmail.plb

      step2: 配置动态初始化参数 smtp_out_server=smtpserver:port[,smtpserver:port,.....]

          注意:该smtp服务器必须是普通的方式——发送邮件不需要认证账户信息,不是esmtp!这是很多人遇到的问题。

             而且可以配置多个smtp服务器,多么实用的功能。

      step3:非常重要的技巧,配置smtp服务器的邮件转发,可以使你的局域网smtp服务器发送internet邮件

      step4:记住需要对普通用户赋予可执行utl_mail包的权限

          例如:grant execute on utl_mail to public;

    utl_mail使用

      utl_mail.send(sender => :sender,
                    recipients => :recipients,
                    cc => :cc,
                    bcc => :bcc,
                    subject => :subject,
                    message => :message,
                    mime_type => :mime_type,
                    priority => :priority);

       注意:可以通过设置mime_type来解决中文乱码的问题:mime_type='text/plain;charset=UTF-8'

      utl_mail.send_attach_raw    

      和

      utl_mail.send_attach_varchar2(sender => :sender,
                                    recipients => :recipients,
                                    cc => :cc,
                                    bcc => :bcc,
                                    subject => :subject,
                                    message => :message,
                                    mime_type => :mime_type,
                                    priority => :priority,
                                    attachment => :attachment,
                                    att_inline => att_inline,
                                    att_mime_type => :att_mime_type,
                                    att_filename => :att_filename);

        用法和utl_mail.send类似的。只是指示 attachment 的内容以附件的形式发送。

        可以给这个附件内容指定一个 att_filename,其实必须要给一个文件名,否则在邮件客户端里就和正文消息混在一起了!

      注意点:sender、recipients、subject 、[attachment ]是必须字段!

  • 相关阅读:
    freebsd安装mysql
    freebsd安装ports
    分布式拒绝服务攻击
    如何用命令获知当前是一年中的第多少周和今天是周几
    freebsd软件包下载地址
    mod_wsgi的两种模式
    freebsd中/etc/rc.conf配置文件导致不能启动的问题
    进程ID[PID(Process ID)]与端口号[(Port ID)]的联系
    Java EE之HttpServletRequest
    Chrome之控制台使用【转载】
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1384756.html
Copyright © 2020-2023  润新知