PL/SQL SMTP: 501 Ошибка: attribute оцените too long

Я появилась ошибка в момент создания автоматической почты из-за базы данных, я создаю body и у меня выходит это сообщение ошибки:

ORA-29279: постоянная ошибка SMTP: 501 Ошибка: attribute оцените too long

ORA-06512: в "SYS.UTL_SMTP", линия 17

ORA-06512: в "SYS.UTL_SMTP", линия 98

ORA-06512: в "SYS.UTL_SMTP", линия 317

ORA-06512: интерактивно 2

Какова проблема? Как я могу решать это? Это мой код:

  inicioColTitulo               VARCHAR(3000) :='<td align="center"><font face="Arial" color="FFFFFF" size="2">';
  finColTitulo                  VARCHAR(3000) :='</font></td>';
  tituloTabla                   VARCHAR(3000) :='Vencimiento Importaciones Temporales a Corto Plazo';
  inicioCol                     VARCHAR(3000) :='<td bgcolor="#e9f3fc" align="center"><font face="Arial" color="#000000" size="1" style="vertical-align: bottom">';
  finCol                        VARCHAR(3000) :='</font></td>';

BEGIN

 OPEN nit_cursor 

    FOR select distinct(v.ID_CLIENTE)
          from V_CONTROL_22 v;

   LOOP FETCH nit_cursor

    INTO id_nit;
    EXIT WHEN nit_cursor%NOTFOUND;  

    mesg_body :=              '<html>';
    mesg_body := mesg_body ||   '<head>';
    mesg_body := mesg_body ||       '<title>Email</title>';
    mesg_body := mesg_body ||   '</head>';
    mesg_body := mesg_body ||   '<script>';
    mesg_body := mesg_body ||       'resizeTo(300,300);';
    mesg_body := mesg_body ||   '</script>';
    mesg_body := mesg_body ||   '<body bgcolor="#FFFFFF" link="#000080">';

    SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI:SS') INTO mi_fecha FROM DUAL;
    mi_cadena := trim(            '<center>');
    mi_cadena := trim(mi_cadena ||  '<table border="0">');
    mi_cadena := trim(mi_cadena ||    '<tr>');
    mi_cadena := trim(mi_cadena ||      '<td>');
    mi_cadena := trim(mi_cadena ||        '<table border="1">');
    mi_cadena := trim(mi_cadena ||          '<tr bgcolor="000080">');
    mi_cadena := trim(mi_cadena ||            '<td colspan="10" align="center">');
    mi_cadena := trim(mi_cadena ||              '<b>');
    mi_cadena := trim(mi_cadena ||               '<font face="Arial" color="FFFFFF" size="3">');
    mi_cadena := trim(mi_cadena ||                 tituloTabla || '<br>');
    mi_cadena := trim(mi_cadena ||                 '*** Fecha Ejecución: ' || mi_fecha || ' *** ');
    mi_cadena := trim(mi_cadena ||               '</font>');
    mi_cadena := trim(mi_cadena ||              '</b>');
    mi_cadena := trim(mi_cadena ||             '</td>');
    mi_cadena := trim(mi_cadena ||            '</tr>');
    mi_cadena := trim(mi_cadena ||          '<tr bgcolor="000080">');
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);
    mi_cadena := trim(mi_cadena || inicioColTitulo || 'Columna No. 1' || finColTitulo);     
    mi_cadena := trim(mi_cadena ||'</tr>');


    OPEN correo_cursor 
     FOR SELECT GCT.CA_CORREO_ELECTRONICO
         FROM GEN_CONTACTOS GCT
         WHERE GCT.ID_IDENTIFICACION = id_nit
         AND GCT.DO_CARGO_FUNCIONAL = 'RL'; 

     LOOP FETCH correo_cursor

         INTO emailCliente;
         EXIT WHEN correo_cursor%NOTFOUND;

         IF(correosCliente IS NULL) THEN

             correosCliente := emailCliente;

         ELSE

             correosCliente := correosCliente || ';' || emailCliente;

         END IF;

     END LOOP;

     CLOSE correo_cursor; 

     if (correosCliente IS NOT NULL) THEN

     conn:= utl_smtp.open_connection( EmailServer, Port );   
     utl_smtp.helo( conn, EmailServer );
     utl_smtp.mail( conn, 'marco@domino.com.co');            




     FOR otrosCorreos IN(SELECT AUS.CA_DIRECCION_CORREO empl
                           FROM ADM_USUARIOS AUS, GEN_FICHA_TECNICA GFTD
                         WHERE GFTD.ID_IDENTIFICACION_FUN = AUS.ID_IDENTIFICACION
                           AND GFTD.ID_CONSECUTIVO_FICHA = 22
                           AND SYSDATE BETWEEN GFTD.FE_INICIAL AND GFTD.FE_FINAL)

       LOOP

             utl_smtp.rcpt(conn,otrosCorreos.empl);

           IF(correosDir IS NULL) THEN

               correosDir := otrosCorreos.empl;

           ELSE

               correosDir := correosDir || ';' || otrosCorreos.empl;

           END IF;

       END LOOP; 


     correos := correosDir;

     mesg:= 'Date: '||TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' )|| crlf ||
            'From: '||'marco@domino.com.co'|| crlf ||
            'Subject: Vencimiento Documentos' || crlf ||
            'To:   '||correos|| crlf ||
            '' || crlf ||mesg_body||'';

     utl_smtp.OPEN_DATA(conn);
     utl_smtp.WRITE_DATA(conn,'MIME-Version: 1.0' ||crlf||'Content-type: text/html' ||crlf||mesg);
     UTL_SMTP.WRITE_DATA(conn,mi_cadena);

     FOR datos IN(SELECT NU_DO,
                         ID_CLIENTE,
                         NO_CLIENTE,
                         NO_PEDIDO,
                         NO_FAC,
                         MODALIDAD,
                         ACEPTACION_DIM,
                         FE_DIM,
                         FE_LEVANTE_INICIAL,
                         FE_VENCIMIENTO,
                         ID_DOCUMENTO_DO,
                         ID_DOCUMENTO_DEC
                    FROM V_CONTROL_22 V
                   WHERE V.ID_CLIENTE = id_nit )
     LOOP

      mi_cadena := trim('<tr bgcolor="#e9f3fc">');
      mi_cadena := trim(mi_cadena || inicioCol || datos.NU_DO              || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.ID_CLIENTE         || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.NO_CLIENTE         || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.NO_PEDIDO          || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.NO_FAC             || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.MODALIDAD          || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.ACEPTACION_DIM     || finCol);          
      mi_cadena := trim(mi_cadena || inicioCol || datos.FE_DIM             || finCol);
      mi_cadena := trim(mi_cadena || inicioCol || datos.FE_LEVANTE_INICIAL || finCol);            
      mi_cadena := trim(mi_cadena || inicioCol || datos.FE_VENCIMIENTO     || finCol);                      
      mi_cadena := trim(mi_cadena || '</tr>');                        
      UTL_SMTP.WRITE_DATA(conn,mi_cadena);

     END LOOP;

     mi_cadena  := trim('</table></td></tr></table></center>');                       
     UTL_SMTP.WRITE_DATA(conn,mi_cadena);

     mi_cadena := mi_cadena || trim( '<div style="font-family:verdana; text-align:justify;">'); 
     mi_cadena := mi_cadena || trim(     '<div>');
     mi_cadena := mi_cadena || trim(         '... Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(         '<ol>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? . ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(         '</ol>');
     mi_cadena := mi_cadena || trim(         ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(         '<ol type="a">');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(             '<li>');
     mi_cadena := mi_cadena || trim(                 ' Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ');
     mi_cadena := mi_cadena || trim(             '</li>');
     mi_cadena := mi_cadena || trim(         '</ol>');
     mi_cadena := mi_cadena || trim(         '<p><strong>loren loren 1</strong>  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? . </p>');
     mi_cadena := mi_cadena || trim(         '<p><strong>loren loren 1</strong>  Lorem ipsum dolor sit amet, consectetur adipisicing elit. Incidunt nesciunt doloremque velit laboriosam laborum, earum labore odit reprehenderit temporibus hic totam quam, ad officia voluptates mollitia. At, officia minus expedita? ...');
     mi_cadena := mi_cadena || trim(         '</p>');
     mi_cadena := mi_cadena || trim(     '</div>');
     mi_cadena := mi_cadena || trim( '</div></body></html>');
     UTL_SMTP.WRITE_DATA(conn,mi_cadena);      

     utl_smtp.CLOSE_DATA(conn);
     utl_smtp.quit(conn);
     correosDir:= NULL;
     correosCliente := NULL;
     mi_cadena := NULL;
     END IF;

 END LOOP;

 CLOSE nit_cursor;       

END pr_Consulta;
2
задан 10.11.2016, 06:46
3 ответа

Твой сервер не выносит какой-либо из признаков, так как он слишком длинный, ты используешь loops, чтобы сохранять данные в mi_cadena, tambiГ©n я ощущаюсь, что ты используешь для данных multilГ-nea:

UTL_SMTP.WRITE_DATA(conn,mi_cadena);

, Что правильно.

, Но помни, что она restricciГіn для UTL_SMTP.WRITE_DATA () состоит в том, что не должен быть больше в 32K (VARCHAR2).

Ошибка 501 обычно случается из-за неправильных данных Гі malformados посланные серверу.

1
ответ дан 24.11.2019, 14:53
  • 1
    Quiz и # 225; s podr и # 237; схвати присоединять EXCEPTION и видеть, что ошибка бросает тебе решение. – Eduardo Munizaga 12.02.2016, 00:10
  • 2
    @Eduardo Munizaga смотрит уже я это попробовал и exception - следующий: Error:-29279 ORA-29279: error permanente de SMTP: 501 Error: attribute value too long @Elenasys я suguieres, что распределил переменную для каждого типа информации, и porterior я это добавил? – Gdaimon 12.02.2016, 01:01

Ошибка 29279 соответствует ошибке в отправлении и 501 главным образом он синтаксиса:

Команда была правильна и признана, но параметры (например, аргументы электронной почты адреса) они не являются действительными

Возможно быть должным в несколько причин включая какие-то, такие простые как не отделять mails с запятыми, в которые домен электронной почты был бы неправильным, не размещать опоры углов <nombre@dominio.com> или какой-то очень длинный почтовый адрес и т.д.

Он был бы интересным, что ты сделал консультацию в DB гранича в только почту, что ты знал, что он правилен, чтобы отказываться от этих теорий и уходить с другой стороны.

Я оставляю тебе документ, где появляются все SMTP Статус Codes, он ищет 501, так как появляются несколько возможностей, от которых ты будешь должен отказываться: [https://dl.dropboxusercontent.com/u/44676047/Network__3-SMTP_Server_Status_Codes_and_SMTP_Error_Codes.pdf], Давайте Надеяться, что он этому помогает в чем-то.

1
ответ дан 24.11.2019, 14:53
  • 1
    уже также он agrege этикетки < и > и также я не функционирую, пожалуйста иметь в виду что, если comentareo таблица, которая вооружает вид, функционирует, или comentareo с информацией также функционирует ли div, но если я оставляю их двум, там он, где он не удается. – Gdaimon 15.02.2016, 15:08

Может быть, будь должен revizar tamaГ±o, который ты распределяешь в это поле VARCHAR2. В случае, если максимума ты не будет достаточным и все же ты хочешь сохранять цепь ты был бы должен сохранять текст как договоренность таких байт как BLOB или какой-то тип сходной информации и после захватывать этот и обращать это в текст снова. Я это реализовал раньше чтобы хранить структуры начитанных XML файла .xml и я было полезным сохранять это как договоренность байт с типом информации BLOB.

Восток состоит tamaГ±o в байт в том, что он выносит BLOB:2,147,483,647 Байт (2GB), если не определяется один tamaГ±o в создании колонны

0
ответ дан 24.11.2019, 14:53
  • 1
    Спасибо за ответ, посмотри уже я это попробовал, это Varchar2 32000, я это изменил в CLOB и за мной следует произведенный та же ошибка, когда я выполняю его debug, я прибываю прибываю даже 'utl_smtp. CLOSE_DATA (conn); utl_smtp.quit (conn)' и он, когда выходит ошибка, comentareo таблица и без какой-либо проблемы пошли почту, также, когда comentareo текстовый блок и он также это посылает без какой-либо проблемы – Gdaimon 12.02.2016, 15:51