iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >怎么在ORACLE中配置邮件服务器
  • 344
分享到

怎么在ORACLE中配置邮件服务器

2024-04-02 19:04:59 344人浏览 独家记忆
摘要

怎么在oracle中配置邮件服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1 创建 ACLBEGIN  &nb

怎么在oracle中配置邮件服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1 创建 ACL

BEGIN
  dbms_network_acl_admin.create_acl(acl     => 'email.xml',
                   DESCRIPTioN => 'Enables network permissions for the e-mail server',
                   principal  => 'C##ESD_MONITOR', --表示赋予哪个用户 必须大写
                   is_grant  => TRUE,
                   PRIVILEGE  => 'resolve',
                   start_date => NULL,
                   end_date  => NULL);
END;

2 赋予权限

begin
dbms_network_acl_admin.add_privilege(acl    => 'email.xml', --同上xml名称
                     principal => 'C##ESD_MONITOR', --表示赋予哪个用户 必须大写
                     is_grant  => TRUE,
                     privilege => 'connect', --权限名
                     start_date => null,
                     end_date  => null);
end;

3 设置端口

begin
 dbms_network_acl_admin.assign_acl (    -- 该段命令意思是允许访问acl名为utl_sendmail.xml下授权的用户,使用oracle网络访问包,所允许访问的目的主机,及其端口范围。
  acl    => 'email.xml',
  host    => '*'-- ,       -- ip地址或者域名,填写Http://localhost:9000/hello与http://localhost:9000/是会报host无效的
                      -- 且建议使用ip地址或者使用域名,若用localhost,当oracle不是安装在本机上的情况下,会出现问题
  -- lower_port => 9000,           -- 允许访问的起始端口号
  -- upper_port => Null           -- 允许访问的截止端口号
 );
 end;

4 查询权限设置情况

SELECT acl,
    principal,
    privilege,
    is_grant,
    TO_CHAR(start_date, 'DD-MON-YYYY') AS start_date,
    TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date
 FROM dba_network_acl_privileges;

5 创建邮件发送存储过程

create or replace procedure send_mail(p_recipient VARCHAR2, -- 邮件接收人
           p_subject  VARCHAR2, -- 邮件标题
           p_message  VARCHAR2, -- 邮件正文
           p_type   number -- 1文本 2html
           ) as
  --下面四个变量请根据实际邮件服务器进行赋值
  v_mailhost VARCHAR2(30) := 'smtp.qq.com'; --SMTP服务器地址
  v_user   VARCHAR2(30) := '111@qq.com'; --登录SMTP服务器的用户名
  v_pass   VARCHAR2(20) := '111'; --登录SMTP服务器的密码 授权码
  v_sender  VARCHAR2(50) := '111@qq.com'; --发送者邮箱,一般与 ps_user 对应
  v_conn UTL_SMTP.connection; --到邮件服务器的连接
  v_msg varchar2(4000); --邮件内容
 BEGIN
  v_conn := UTL_SMTP.open_connection(v_mailhost, 25);
  UTL_SMTP.ehlo(v_conn, v_mailhost); --是用 ehlo() 而不是 helo() 函数
  --否则会报:ORA-29279: SMTP 永久性错误: 503 5.5.2 Send hello first.
  UTL_SMTP.command(v_conn, 'AUTH LOGIN'); -- smtp服务器登录校验
  UTL_SMTP.command(v_conn,
           UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_user))));
  UTL_SMTP.command(v_conn,
           UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(UTL_RAW.cast_to_raw(v_pass))));
  UTL_SMTP.mail(v_conn, '<' || v_sender || '>'); --设置发件人 注:网上很多资料直接写v_sender,这样写会报ORA-29279: SMTP 500 error
  UTL_SMTP.rcpt(v_conn, '<' || p_recipient || '>'); --设置收件人
  UTL_SMTP.open_data(v_conn); --打开流
  if p_type = 1 then
   -- 创建要发送的邮件内容 注意报头信息和邮件正文之间要空一行
   v_msg := 'Date:' || TO_CHAR(SYSDATE, 'dd mon yy hh34:mi:ss') ||
        UTL_tcp.CRLF || 'From: ' || '<' || v_sender || '>' ||
        UTL_TCP.CRLF || 'To: ' || '<' || p_recipient || '>' ||
        UTL_TCP.CRLF || 'Subject: ' || p_subject || UTL_TCP.CRLF ||
        UTL_TCP.CRLF -- 这前面是报头信息
        || p_message; -- 这个是邮件正文
   UTL_SMTP.write_raw_data(v_conn, UTL_RAW.cast_to_raw(v_msg)); --这样写标题和内容都能用中文
  elsif p_type = 2 then
   UTL_SMTP.write_data(v_conn,
             'From:' || '<' || v_sender || '>' || utl_tcp.CRLF);
   UTL_SMTP.write_data(v_conn,
             'To:' || '<' || p_recipient || '>' ||
             utl_tcp.crlf);
   UTL_SMTP.write_raw_data(v_conn,
               UTL_RAW.cast_to_raw(convert('Subject:' ||
                             p_subject ||
                             utl_tcp.CRLF,
                             'ZHS16GBK')));
   UTL_SMTP.write_raw_data(v_conn,
               UTL_RAW.cast_to_raw(convert('Content-Type:text/html;charset=GBK' ||
                             utl_tcp.CRLF,
                             'ZHS16GBK')));
   UTL_SMTP.write_data(v_conn, utl_tcp.CRLF);
   UTL_SMTP.write_raw_data(v_conn,
               UTL_RAW.cast_to_raw(convert(p_message,
                             'ZHS16GBK'))); --这样写标题和内容都能用中文
  end if;
  UTL_SMTP.close_data(v_conn); --关闭流
  UTL_SMTP.quit(v_conn); --关闭连接
 EXCEPTION
  WHEN OTHERS THEN
   DBMS_OUTPUT.put_line(DBMS_UTILITY.fORMat_error_stack);
   DBMS_OUTPUT.put_line(DBMS_UTILITY.format_call_stack);
 END;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网服务器频道,感谢您对编程网的支持。

--结束END--

本文标题: 怎么在ORACLE中配置邮件服务器

本文链接: https://www.lsjlt.com/news/55550.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在ORACLE中配置邮件服务器
    怎么在ORACLE中配置邮件服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1 创建 ACLBEGIN  &nb...
    99+
    2024-04-02
  • 在Debian上怎么配置邮件服务器
    这篇文章主要介绍“在Debian上怎么配置邮件服务器”,在日常操作中,相信很多人在在Debian上怎么配置邮件服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Debian上怎么配置邮件服务器”的疑惑有所...
    99+
    2023-06-13
  • 邮件SMTP服务器怎么配置
    这篇文章主要介绍“邮件SMTP服务器怎么配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“邮件SMTP服务器怎么配置”文章能帮助大家解决问题。系统的用户注册、找回密码等功能有可能需要给用户发送电子邮...
    99+
    2023-06-26
  • CentOS 8中怎么配置Postfix邮件服务器
    本篇文章给大家分享的是有关CentOS 8中怎么配置Postfix邮件服务器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。步骤 1)更新系统第一步是确保系统软件包是最新的。为此...
    99+
    2023-06-16
  • Linux怎么配置Postfix邮件服务器
    这篇文章主要介绍了Linux怎么配置Postfix邮件服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux怎么配置Postfix邮件服务器文章都会有所收获,下面我们一起来看看吧。步骤 1)更新系统第一...
    99+
    2023-06-28
  • Ubuntu中怎么安装和配置邮件服务器
    在Ubuntu中安装和配置邮件服务器可以通过以下步骤完成: 安装邮件服务器软件 首先,需要安装邮件服务器软件,通常可以选择使用P...
    99+
    2024-04-09
    Ubuntu 服务器
  • Nginx作为邮件服务器怎么配置
    Nginx本身并不是一个邮件服务器,而是一个Web服务器和反向代理服务器。如果想要使用Nginx作为邮件服务器的话,需要结合其他的邮...
    99+
    2024-04-03
    Nginx 服务器
  • 阿里云服务器邮件配置怎么看
    1. 简介 阿里云服务器是一款强大的云计算服务,可以为个人和企业提供稳定可靠的计算资源。在使用阿里云服务器时,有时候我们需要对服务器进行一些配置,例如邮件配置。本文将介绍如何查看阿里云服务器的邮件配置,并解答一些常见的问题。2. 查看邮件配...
    99+
    2023-12-27
    阿里 怎么看 邮件
  • Linux服务器中怎样进行邮件服务器openwebmail配置
    这篇文章将为大家详细讲解有关Linux服务器中怎样进行邮件服务器openwebmail配置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。配置openwebmail 通过修改配置文件...
    99+
    2023-06-05
  • 如何在CentOS中安装和配置Postfix邮件服务器
    要在CentOS中安装和配置Postfix邮件服务器,请按照以下步骤进行: 安装Postfix: 在终端中运行以下命令来安装Pos...
    99+
    2024-04-02
  • cdn邮件服务器租用怎么选择配置
    CDN邮件服务器租用的配置选择应该根据以下几个方面来考虑:1. 邮件流量:根据预计的邮件流量来选择服务器配置,邮件流量越大,需要更高...
    99+
    2023-05-23
    cdn邮件服务器 cdn 服务器
  • php中间件怎么在服务器配置
    要在服务器中配置PHP中间件,你需要按照以下步骤进行操作: 打开服务器上的PHP配置文件,通常位于php.ini文件中。可以使用以...
    99+
    2023-10-22
    php 服务器
  • 在Linux中怎么配置Sendmail防范垃圾邮件
    本篇内容介绍了“在Linux中怎么配置Sendmail防范垃圾邮件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!垃圾邮件问题已经极大地消耗了...
    99+
    2023-06-17
  • 怎么在Linux中安装配置Postfix来搭建邮件发送服务
    这篇文章主要介绍“怎么在Linux中安装配置Postfix来搭建邮件发送服务”,在日常操作中,相信很多人在怎么在Linux中安装配置Postfix来搭建邮件发送服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-12
  • SpringBoot Mail邮件任务怎么配置
    本篇内容介绍了“SpringBoot Mail邮件任务怎么配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、引言发送邮件应该是...
    99+
    2023-06-30
  • WordPress 该怎么配置 SMTP 邮件发送服务
    默认情况下,WordPress 使用本地的PHP邮件功能,并且所发出的电子邮件经常会被邮件服务商标记为垃圾邮件,而且国内服务器商都是屏蔽了25端口的,导致无法使用PHP邮件功能。使用SMTP服务器是确保WordPress电子邮件可传递性。 ...
    99+
    2023-09-20
    服务器 php 运维
  • 发邮件服务器怎么设置
    要设置发邮件服务器,您需要遵循以下步骤:1.选择您想要使用的邮件服务器,例如Gmail或Outlook。2.打开您的邮件客户端(例如...
    99+
    2023-06-12
    发邮件服务器 服务器
  • Fedora中如何配置和管理邮件服务器
    在Fedora上配置和管理邮件服务器通常涉及以下步骤: 安装邮件服务器软件:Fedora默认提供了一些邮件服务器软件,比如Post...
    99+
    2024-04-02
  • openSUSE中如何安装和配置邮件服务器
    要在openSUSE中安装和配置邮件服务器,您可以按照以下步骤进行操作: 安装邮件服务器软件: 在终端中输入以下命令来安装邮件服务...
    99+
    2024-04-02
  • Gitlab配置邮件发送服务
      上次在自己的服务器上面安装了一个Gitlab服务,折腾半天终于可以正常访问并使用了,但是遇到重置密码的时候突然发现发不出去邮件,气死我了😤。于是便想着把邮件发送服务给修复一下,这样以后用起来也更方便不是。好了,下面我们开...
    99+
    2023-08-20
    gitlab 服务器 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作