powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Передача письма с вложением. Готовое решение
25 сообщений из 274, страница 7 из 11
Передача письма с вложением. Готовое решение
    #38372660
chameleon82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
May12процедура отрабатывает, но количества писем не возвращает, в dbms_output лога общения с сервером не выводит. уже близко. помогите, молю.
Забыл уточнить:
Код: plsql
1.
  MAIL_PKG.DEBUG_LEVEL := MAIL_PKG.DEBUG_ALL;


Скорее всего проблема тут:
Код: plsql
1.
   MAIL_PKG.SET_AUTH ('maya@company.ua','pass');


надо:
Код: plsql
1.
  MAIL_PKG.SET_AUTH ('maya','pass');
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38372813
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chameleon82, уже совсем близко =)), но пока результат таков:

Код: plaintext
1.
2.
+OK The Microsoft Exchange POP3 service is ready.
DEBUG:-ERR Command is not valid in this state.
DEBUG:+OK Microsoft Exchange Server 2010 POP3 server signing off.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38372824
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может проблема в ssl?
Код: plaintext
For exchange 2010, by default, the server would need the client use ssl for pop3.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38373062
chameleon82
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
May12может проблема в ssl?
Код: plaintext
For exchange 2010, by default, the server would need the client use ssl for pop3.


Возможно. Обновил немного пакет, попробуйте еще раз с новой версией вывести лог
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38373096
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chameleon82, заработало. Ошибка в моем случае была в домене и доступности порта.

Для будущих пользователей пакета перед получением почты по протоколу pop3:
Проверьте из cmd по телнету доступность 110 порта почтового сервера:
Код: plaintext
telnet exchange_server_addr 110
Если порт закрыт, то побеспокойте администратора почтового сервера, чтобы он открыл порт. Также важно чтобы SSL шифрование по этому порту отсутствовало (в интернете пишут, что оно иногда может стоять по умолчанию).

chameleon82, спасибо и добра Вам.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38373433
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12Также важно чтобы SSL шифрование по этому порту отсутствовалоSSL-шифрования на 110 порту не может быть по определению. Или STARTTLS или 995-й порт.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38373718
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
да, не может. не поспоришь.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38418602
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребят, не подскажите с чем связано странное поведение пакета =)) или не пакета.

Если отправлять письмо с вложением, то оно не отправляется, не приходит на почту. Если закомментировать функцию MAIL_PKG.ADD_ATTACHMENT и снова выполнить, то приходит письмо с аттачментами!!! В письме столько аттачментов сколько раз была выполнена ранее процедура с незакомментированной MAIL_PKG.ADD_ATTACHMENT. Т.е. складывается впечатление, что в письмо набиваются файлы и потом отправляются.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38418613
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А воооот и ошибка:
Код: plaintext
1.
2.
ORA-06502: PL/SQL: : буфер символьных строк слишком маленький ошибка числа или значения
ORA-06512: на  "MAYA.MAIL_PKG", line 163
ORA-06512: на  line 9
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38418649
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но как её пофиксить не пойму =(( вот на этой строке пакета:
Код: plsql
1.
LAST_ATTACHMENT_ID := GENERATE_CONTENT_ID(MAIL_PKG.attachments.count);



chameleon82, need your help!
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38418849
Фотография maddistortion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12,

если я правильно понял функция
Код: plsql
1.
2.
3.
4.
 FUNCTION GENERATE_CONTENT_ID(n number) RETURN VARCHAR2 IS
 BEGIN
   RETURN 'mailpkg'||n||'_'||TO_CHAR(sysdate,'YYMMDD')||'.'||TO_CHAR(dbms_utility.get_time);
 END;


возвращает значение большей длины чем
Код: plsql
1.
LAST_ATTACHMENT_ID VARCHAR2(25) := NULL;
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38419028
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maddistortion, спасибо за отклик.
Увеличила до 500
Код: plsql
1.
 LAST_ATTACHMENT_ID VARCHAR2(500) := NULL;


ошибка:
Код: plaintext
1.
2.
ORA-06502: PL/SQL: : буфер символьных строк слишком маленький ошибка числа или значения
ORA-06512: на  "MAYA.MAIL_PKG", line 164
ORA-06512: на  line 11
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38419055
Фотография maddistortion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 type attach_row is record ( dirname varchar2(30)
                           , filename  varchar2(30)
                           , name  varchar2(30)
                           , mimetype varchar2(30)
                           , blobloc blob
                           , clobloc clob
                           , attachtype varchar2(30)
                           , contentid varchar2(25)
                           , disposition varchar2(25) default 'attachment'
                           );



contentid тоже попробуйте увеличить
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38419075
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maddistortion,

Вы - чудо. Добра Вам.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429275
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я извиняюсь, вопрос уже поднимался, в том числе мной, но в других ветках и безрезультатно.
Сейчас хочу отправить таблицу в теле письма с помощью замечательного пакета mail_pkg. Наставьте на путь истинный? Что делать?

Мои потуги вот:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
DECLARE
   
   tables_in_clob clob;
   cursor cur_tab_1
   is 
   select '<TD>'||'Помоги'||'</TD>' ||
          '<TD>'||'тупой'||'</TD>'||
          '<TD>'||'учиться!!!'||' </TD>'||
           chr(10)  as STR
      FROM DUAL CONNECT BY LEVEL < 5;
      
   
    STRING_TO_BODY VARCHAR2(1000); 
    
    v_id varchar2(50); 

BEGIN
   
DBMS_LOB.createtemporary (tables_in_clob, TRUE); 
DBMS_LOB.OPEN (tables_in_clob, DBMS_LOB.lob_readwrite); 


DBMS_OUTPUT.PUT_LINE('Формируем CLOB для вставки в почтовое сообщение.');
  
open cur_tab_1; --- курсор с таблицей
 
        LOOP 
            
            Fetch cur_tab_1 INTO STRING_TO_BODY;
            
            EXIT WHEN cur_tab_1%NOTFOUND;
            
            DBMS_LOB.writeappend (tables_in_clob, length(STRING_TO_BODY), STRING_TO_BODY);
             
            DBMS_OUTPUT.PUT_LINE(DBMS_LOB.GETLENGTH(tables_in_clob));
            
        END LOOP; 

DBMS_OUTPUT.PUT_LINE('CLOB для отправки сформирован.');


DBMS_OUTPUT.PUT_LINE('Отправляем CLOB.');

                           MAIL_PKG.ADD_ATTACHMENT(tables_in_clob -- дата
                             ,'logo.gif' -- имя файла в письме
                             ,'text/html' -- mime тип
                             , disposition => MAIL_PKG.DISPOSITION_INLINE
                            );
    
    v_id := MAIL_PKG.LAST_ATTACHMENT_ID;
    
    MAIL_PKG.SEND( mailto =>   'maya_vetrova@почта.ru'
                  , subject => 'Письмо с таблицей'
                  , message => 'Вот Вам таблица  <img src="cid:'|| v_id || '">'                  
                  , mailfrom =>'Уведомление <no-reply@yourcompany.ru>;'
                  , mimetype =>'text/html'
                  );

DBMS_OUTPUT.PUT_LINE('Отправка CLOB в качестве тела письма завершена.');

close cur_tab_1;

DBMS_LOB.CLOSE (tables_in_clob); 
DBMS_LOB.freetemporary (tables_in_clob);


EXCEPTION
   WHEN NO_DATA_FOUND THEN
      NULL;
   WHEN OTHERS THEN
      NULL;
END;
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429318
andreiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chameleon82,
интересно, у меня другая задача - читать письма с exchange 7, сохранять тело как "чистый" текст в CLOB, ну и как BLOB, сохрранять все аттачки как BLOB. делаю на яве в банке, больше всего трудностей с коонвертированием тела в "чистый" текст. у кого есть опыт поделитесь.
заранее спасибо.
всего.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429338
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12
Код: plsql
1.
2.
3.
4.
5.
6.
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      NULL;
   WHEN OTHERS THEN
      NULL;
END;

интересно, как ты поймёшь, где и когда произошла ошибка?
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429390
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreiz, если я правильно поняла смотрите тут https://forums.oracle.com/thread/2398323
там создаются две таблички, java-класс в базе и обертка , в результате из ящика данные загружаются в две таблицы - боди и атачменты.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429401
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx, упс, забыла удалить. но мне кажется я концептуально что-то не то делаю. в принципе не пойму как таблицу засунуть в тело письма.
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429529
andreiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12,
да всё примерно так, одна беда
"// -- Body is also multipart (both plain text and html)."
начиная с "exchange server 2007" он не шлёт больше "multipart и даже plain text" только html плюс всякие там encoding...
а так очень похоже
спасибо
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429553
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chameleon82, без Вас не справлюсь. Помогите отправить таблицу
Код: plsql
1.
2.
3.
4.
5.
 select '<TD>'||'Помоги'||'</TD>' ||
          '<TD>'||'тупой'||'</TD>'||
          '<TD>'||'учиться!!!'||' </TD>'||
           chr(10)  as STR
      FROM DUAL CONNECT BY LEVEL < 5;



в теле письма? Молю...
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429672
andreiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12,

попробуй заменить '<' на '<' и '>'на '>'


select '<TD>'||'Помогу'||'</TD>' ||
... FROM DUAL CONNECT BY LEVEL < 5;
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429686
andreiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сайт не пропустил, пробую ещё раз
'<' на '&'||'lt;' и '>'на '&'||'gt;'

select '&'||'lt;'||'Помогу'||'&'||'gt;'||
... FROM DUAL CONNECT BY LEVEL < 5;
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429860
Фотография May12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreiz, =((
...
Рейтинг: 0 / 0
Передача письма с вложением. Готовое решение
    #38429926
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
May12,

mb
Код: plsql
1.
2.
3.
4.
FOR I IN (select owner, object_name  from all_objects)
  LOOP
     v_message:=v_message||'<tr><td>'||i.owner||'</td><td>'||i.object_name ||'</td></tr>'||utl_tcp.CRLF;
  END LOOP;
...
Рейтинг: 0 / 0
25 сообщений из 274, страница 7 из 11
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Передача письма с вложением. Готовое решение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]