本人想通過以下語句發送email,但未能實現。環境﹕PL/SQL Developer下運行,連接的是R11i服務器.有位各位了。
declare
  l_mail_conn  utl_smtp.connection;
  l_mailhost   varchar2(255):='172.24.60.2';
  l_sender     varchar2(255):='[email protected]';
  l_recipient  varchar2(255):='[email protected]';
  l_message    varchar2(255):='show good';
begin
  l_mail_conn:=utl_smtp.open_connection(l_mailhost,25);
  utl_smtp.helo(l_mail_conn,l_mailhost);  
  utl_smtp.mail(l_mail_conn,l_sender);     
  utl_smtp.rcpt(l_mail_conn,l_recipient);
  utl_smtp.data(l_mail_conn,l_message);
  utl_smtp.quit(l_mail_conn);  
end;

解决方案 »

  1.   

    什么错误信息呢?是不是你的smtp需要身份验证?
      

  2.   

    謝謝兩位的參與。錯誤是:
    ORA-20001:421 Service not available.第一個語句 l_mail_conn:=utl_smtp.open_connection(l_mailhost,25);都未能成功執行,我們公司的服務器能發email的。
      

  3.   

    老兄﹐什么"摄制"﹐不懂﹐那我應該怎么才行。服務器常常發Alert Mail出來給導入(Implement)小組﹐所以database和mail server之間應該不會存在問題吧﹖
      

  4.   

    你可以先telnet到该服务器的25端口,放开本地响应,再输那些命令先试试行不行:
    helo xxxx
    mail from:xxxx
    rcpt to:xxx
    data
    xxxx
    ..quit
      

  5.   

    to bzszp(SongZip)
    是呀,一直很忙,而且很久以来没怎么搞oracle了,最近今天比较闲,就来转转to Ellawu ()
    如mosaic(影子) 所言,你用telnet 172.24.60.2 25看看什么提示
    你也可以先用outlook express或者foxmail设置一下smtp,发邮件看能不能成功,再把成功设置的smtp服务器地址端口放到utl_smtp.open_connection(l_mailhost,25);里面
      

  6.   

    to bzszp&&xzou,因上周換新家﹐錯過兩位的好意。用telnet無法邊到該服務器﹐是否有防火牆的原因?
      

  7.   

    如果你连接不到这个smtp服务器,就不能这样发邮件,这个你可以问一问网管,也可以用其他发邮件的工具测试是否能用此smtp服务器发邮件