Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何解决发送邮件:ORA-29279 SMTP问题_Sql_Database_Oracle_Smtp - Fatal编程技术网

Sql 如何解决发送邮件:ORA-29279 SMTP问题

Sql 如何解决发送邮件:ORA-29279 SMTP问题,sql,database,oracle,smtp,Sql,Database,Oracle,Smtp,我在运行下面的截图时遇到ORA-29279错误。建议我,如果在这个问题上 CREATE OR REPLACE PROCEDURE CPO.fsc_temp_MAIL (l_from IN VARCHAR2, l_to IN VARCHAR2, Subject IN VARCHAR2, Mesg IN VARCHAR2, Cc IN VARCHAR

我在运行下面的截图时遇到ORA-29279错误。建议我,如果在这个问题上

    CREATE OR REPLACE PROCEDURE CPO.fsc_temp_MAIL (l_from  IN VARCHAR2,
               l_to    IN VARCHAR2,
               Subject IN VARCHAR2,
               Mesg    IN VARCHAR2,
               Cc      IN VARCHAR2 default null,
               P_Html  BOOLEAN := FALSE) IS
  l_to1       VARCHAR2(32000) := l_to;
  Mhost  VARCHAR2(64) := '192.168.0.6';
  crlf        varchar2(2) := CHR(13) || CHR(10);
  conn UTL_SMTP.connection;
  Address   varchar2(32700);
BEGIN
  conn := UTL_SMTP.open_connection(Mhost,25);
     UTL_SMTP.helo(conn, Mhost);
 UTL_SMTP.mail(conn, l_from);
  GET_TEMP_INFO_MAIL(conn,l_to1);
  If Cc is not null then
    GET_TEMP_INFO_MAIL(conn,Cc);
  end if;
  IF P_Html THEN
   Address := 'Date: ' || TO_CHAR(SYSDATE, 'DD MON RRRR HH24:MI:SS') ||
   crlf ||'From: ' || l_from ||
   crlf ||'To: ' || l_to ||
   crlf ||'Cc: ' || Cc ||
   crlf ||'Subject: ' || Subject || crlf

      || 'Content-Type: text/html; charset=us-ascii' || crlf
      || 'Content-Transfer-Encoding: 7bit' || crlf
      || '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' || crlf
      || '<html>'  || crlf
      || '<head>'  || crlf
      || '<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">' || crlf
      || '<title>' || subject || '</title>' || crlf
      || '</head>' || crlf
      || '<body>'  || crlf|| utl_tcp.crlf
      || mesg || crlf
      || '</body></html>';
  ELSE
   Address := 'Date: ' || TO_CHAR(SYSDATE, 'DD MON RRRR HH24:MI:SS') ||
   crlf ||'From: ' || l_from ||
   crlf ||'To: ' || l_to ||
   crlf ||'Cc: ' || Cc ||
   crlf ||'Subject: ' || Subject ||
   crlf || utl_tcp.crlf || mesg;
  END IF;
  UTL_SMTP.data(conn, Address);
  UTL_SMTP.quit(conn);
  EXCEPTION
 WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then
   raise_application_error(-20000, 'Unable to send mail: '||sqlerrm);

END;
ORA-29279:SMTP永久错误:530 5.7.1客户端未通过身份验证

我不知道该怎么处理 这是某种smtp设置所有电子邮件地址均有效


如果有人有更好的解决方案,请告诉我我在plsql中创建了这些程序。SMTP服务器的结果代码:530 5.7.1客户端未通过身份验证,它告诉您需要使用服务器进行身份验证。具体而言,结果代码530表示您“必须发出STARTTLS命令。请求的身份验证机制需要加密”

STARTTLS
命令还要求您使用扩展形式的调用
OPEN\u CONNECTION
传入Oracle钱包的详细信息,以便在保护连接时使用。您可能还需要调用
AUTH
函数或过程来完全验证您的连接


请查看文档以了解更多信息。

检查您的主机。这就是主机问题。 使用查询


从dual中选择UTL\u INADDR.get\u host\u name、UTL\u INADDR.get\u host\u address('your-server-address')

Is与您发送到的电子邮件地址无关。您的SMTP服务器需要身份验证。阅读“执行测试”电子邮件('usmanafb@ctm.com.pk','mshakeel@ctm.com.pk','mshakeel@ctm.com.pk’、‘测试主题’、‘测试消息’、‘消息状态’)您能告诉我消息状态是什么以及我传递给消息状态的值吗?这与消息状态无关。您的电子邮件服务器正在请求用户名/密码,以便客户端登录。您的示例代码没有提供这一点,这就是为什么会出现错误。请阅读我发布的文档链接。我阅读了您提供的链接,我谈论的是该链接中的过程。我使用了oracle 11 g数据库,我认为它与我的代码不兼容,对吗?oracle 11g中添加了对SSL/TLS安全连接的支持,或者至少在
execute fsc_temp_MAIL('usmanafb@ctm.com.pk','abc@ctm.com.pk','test for subject  ','sdf','xyz@ctm.com.pk',True);