1.首先看一下执行的时候是否有错;如果有错,把那句语句出错贴出来2.我的写法于你不同

UTL_SMTP.DATA(v_connection,'Sent From PL/SQL'); 
改为
UTL_SMTP.OPEN_DATA(v_connection); 
UTL_SMTP.WRITE_DATA( v_connection, 'Sent From PL/SQL');
UTL_SMTP.CLOSE_DATA(c_mail);
你试一试

解决方案 »

  1.   

    数据库服务器与smtp.263.sina.com网路通吗?
      

  2.   

    语句上看没有错误,因为有语句已处理。 
    和smtp.263.sina.com肯定是通的,我TELNET过。
    那我试试你的写法
      

  3.   

    c_mail应该是v_connection吧
    我试了,还是没有。
    这种没有错误又明显不对的程序真拿它没办法。
      

  4.   

    对,c_mail应该是v_connection,我写错了
    会不会有邮件服务器验证的问题,你换个smtp试试。不过我用的smtp也需要验证,但用UTL_SMTP包,没有提供密码也发出去了。
      

  5.   

    write data 部分改为:  
      --Write Sender
      UTL_SMTP.WRITE_DATA( v_connection, 'From:' || lv_mailfrom || chr(13)||chr(10));
      --Write Recipients
      UTL_SMTP.WRITE_DATA( v_connection, 'To:' || lv_mailto || chr(13)||chr(10));
      --Write Title
      UTL_SMTP.WRITE_DATA( v_connection, 'Subject:' || lv_mailtitle || chr(13)||chr(10));
      --Newline
      UTL_SMTP.WRITE_DATA( v_connection, chr(13)||chr(10) );
      --Write Content of Mail
      UTL_SMTP.WRITE_DATA( v_connection, lv_mailtext || chr(13)||chr(10));
      

  6.   

    要SMTP验证,好象只有在9I里才有这样的写法。