Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 utl_smtp - письмо приходит, но появляются символы ! вместе с переводом каретки - что за x.  [new]
Воронёнок
Guest
Друзья, привет!
Может кто сталкивался(я ответа поиском не нашел) с такой проблеммой - отправляю письмо оно приходит в нужной кодировки, все отлично, но через каждые 989 символов появляется символ "!" вместе с символом переводом каретки...
не пойму в чем дело...

  utl_smtp.mail(c, strMail);
...
c        	utl_smtp.connection;
  rText    	raw(2048);
  strHelo 	VARCHAR2(100);
  strSMTP 	VARCHAR2(100);
  strMail 	VARCHAR2(100);
  strFrom   VARCHAR2(100);

....
--
    utl_smtp.rcpt(c, a_strRcp);
    utl_smtp.open_data(c);
    utl_smtp.write_data(c, 'From' || ': ' || strFrom || utl_tcp.CRLF);
    utl_smtp.write_data(c, 'To' || ': ' || a_strRcp || utl_tcp.CRLF);
--
    utl_smtp.write_data(c, 'Subject' || ': ');
    rText := utl_raw.cast_to_raw(a_strSubj);
    utl_smtp.write_raw_data(c,rText);
--
    utl_smtp.write_data(c, utl_tcp.CRLF);
--
    utl_smtp.write_data(c, 'MIME-Version: 1.0' || utl_tcp.CRLF);
    utl_smtp.write_data(c, 'Content-Type: text/plain;' || utl_tcp.CRLF);
    utl_smtp.write_data(c, '    charset="windows-1251"' || utl_tcp.CRLF);
    utl_smtp.write_data(c, 'Content-Transfer-Encoding: 8bit' || utl_tcp.CRLF);
--
    utl_smtp.write_data(c, utl_tcp.CRLF);
    rText := utl_raw.cast_to_raw(a_strText);
    utl_smtp.write_raw_data(c,rText);
    utl_smtp.close_data(c);
    utl_smtp.quit(c);
...

вот пытаюсь отправить строку 2000 символов('1') - появляются разрывы строки и !
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111!
 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111!
 111111111111111111111111
30 янв 07, 13:34    [3712856]     Ответить | Цитировать Сообщить модератору
 Re: utl_smtp - письмо приходит, но появляются символы ! вместе с переводом каретки - что за x.  [new]
Goldminer
Member

Откуда:
Сообщений: 553
Видимо, это делает отправляющий сервер. Строго говоря, строка длиной 2000 символов нарушает спецификацию SMTP.
30 янв 07, 15:34    [3714075]     Ответить | Цитировать Сообщить модератору
 Re: utl_smtp - письмо приходит, но появляются символы ! вместе с переводом каретки - что за x.  [new]
Alex from SPb
Member

Откуда:
Сообщений: 448
что-то не видно
- фильтрации unprintable символов
- цикла записи по 1900 байт (ошибка скорее всего здесь)
-- Send the email in 1900 byte chunks to UTL_SMTP
возьми текст Кайта за основу
    l_offset  := 1;
    l_ammount := 1900;
    utl_smtp.open_data(l_connection);
    while l_offset < dbms_lob.getlength(l_body_html) loop
        utl_smtp.write_raw_data(l_connection,
          utl_raw.cast_to_raw(dbms_lob.substr(l_body_html,l_ammount,l_offset)));
        l_offset  := l_offset + l_ammount ;
        l_ammount := least(1900,dbms_lob.getlength(l_body_html) - l_ammount);
    end loop;
    utl_smtp.close_data(l_connection);
    utl_smtp.quit( l_connection );
    dbms_lob.freetemporary(l_body_html);
30 янв 07, 15:41    [3714144]     Ответить | Цитировать Сообщить модератору
 Re: utl_smtp - письмо приходит, но появляются символы ! вместе с переводом каретки - что за x.  [new]
Воронёнок
Guest
2Alex from SPb
спасибо, попробую
31 янв 07, 08:54    [3716956]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить