Ошибка при отправке электронной почты

1. sapravka 03.09.14 13:12 Сейчас в теме
Здравствуйте.
Используем УТ 10.3
При попытке отправки электронной почты выходит ошибка:

{ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1195)}: Ошибка при вызове метода контекста (Послать): Каталог не обнаружен '\v8_D694_9a_files\image000.png


Убедительно прошу, помогите решить данную проблему.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
15. Xershi 1484 10.09.14 12:42 Сейчас в теме
(1) sapravka, как уже было сказано проблема в файле или записи файла на диске, проверь права у пользователя на доступ к папкам, возможно попроси помощи у админов и проверь сам файл в базе скуля или где он у тебя хранится...
17. hanio 54 10.09.14 14:05 Сейчас в теме
(15) Xershi, права есть, даже разместил хранение временных файлов в папку c:\Temp и дал на него полный доступ этому пользователя, результат тот же. Конечно перегружали комп неоднократно, темпы 1С чистили, короче с бубном пляски продолжаются...
20. Xershi 1484 10.09.14 14:53 Сейчас в теме
(17) hanio, так вопрос стоит в чем? 1 пользователь это письмо с этим файлом может отправить, а другой не может? Не путайте вообще отправку разных писем. И что вам отладчик говорит, до сих пор ничего не написали...
2. Lenten 25 03.09.14 13:14 Сейчас в теме
ты прикалываешься?

как можно уметь писать, но не уметь читать?
3. sapravka 03.09.14 13:18 Сейчас в теме
(2) Lenten,
Каталог не обнаружен '\v8_D694_9a_files\


А где этот каталог должен быть???????????
4. Lenten 25 03.09.14 13:22 Сейчас в теме
(3) посмотрите в самом письме. скорее всего это вложение к письму. Нужно указать файл, к которому есть доступ/он существует
5. sapravka 03.09.14 13:37 Сейчас в теме
(4) Lenten,
посмотрите в самом письме. скорее всего это вложение к письму. Нужно указать файл, к которому есть доступ/он существует



Будьте любезны, подскажите как это возможно сделать?
6. Lenten 25 03.09.14 14:59 Сейчас в теме
(5)посмотрите, где у вас написан путь \v8_D694_9a_files\image000.png или для вас это совсем незнакомый путь?
7. hanio 54 10.09.14 07:46 Сейчас в теме
Lenten если вы не понимаете что для спросившего это является проблемой то мне жаль вас... Так вот у меня точно такая же проблема вылезла вчера вот что пишет: {ОбщийМодуль.УправлениеЭлектроннойПочтой.Модуль(1195)}: Ошибка при вызове метода контекста (Послать): Каталог не обнаружен 'v8_A94C_57_files\image000.png'. И читать я умею и искать также нахожу но на пустом возникшей ошибке не могу понять в чем дело. Кто встречал такую ошибку помогите
8. hanio 54 10.09.14 07:48 Сейчас в теме
sapravka этот каталог находится в пользовательском катологе AppData\Temp давайте пробовать чистить темпы
9. hanio 54 10.09.14 09:11 Сейчас в теме
чистка темпов не помогла, еще есть варианты? тут явно что-то случилось с пользователем 1С попытаться удалить его и снова добавить?
10. byuf_in 10.09.14 09:24 Сейчас в теме
могут быть варианты, когда каталог создается на клиенте, а .Послать() выполняется на сервере и если это не одна и та же машина, то будет ошибка. Проверяйте где генерируете вложение (на чьей стороне)
11. hanio 54 10.09.14 10:08 Сейчас в теме
так не менялось ничего но вчера с обеда перестала работать отправка у одного оператора у других с полностью аналогичными правами работает. Попытка делать на другом компе этому оператору отправку выводит такую же ошибку. Вывод напрашивается сам - в 1С что-то по этому пользователю косячнуло, попробую грохнуть пользователя и снова его ввести
12. KotorVB 10.09.14 11:14 Сейчас в теме
А что мешает поставить точку останова на строке 1195 и посмотреть параметры сообщения? Наверняка всё сразу станет ясно... А удалять пользователя это полная жесть. А вообще, если это типовой механизм, то все вложения он берёт из справочника Вложения электронных писем. Сами вложения лежат в хранилище значений. У меня такое было, в момент когда происходила запись в таблицу (reference 29 если память не изменяет) его сглючило. Лично мне пришлось таблицу чистить из копии восстанавливать вложения.
13. hanio 54 10.09.14 11:48 Сейчас в теме
Я понимаю где лежат вложения а вот какую таблицу мне почистить и как это сделать не понял, просвети подробнее пожалуйста
14. KotorVB 10.09.14 11:58 Сейчас в теме
(13) hanio, есть метод ПолучитьСтруктуруХраненияБазыДанных() с помощью него можно узнать в какой таблице и в каком поле лежит информация. А дальше работа с sql. Лично я не смог вычислить какая запись оказалась битой и по этому пришлось очистить всю таблицу, да и времени небыло - так оказалось быстрее. Предполагаю что можно просто пройтись по последним письмам (документ Электронное письмо) и на вкладке Вложения попробовать открыть их в ручную. В том письме где он не сможет открыть и есть ошибка. Пометить на удаление и удалить))) (но это всё теоретически, сам не пробовал)
16. hanio 54 10.09.14 14:01 Сейчас в теме
(14) KotorVB, так если бы в том письме где не может открыть то все было бы просто, но я и новые создавал под этим пользователем и прав уже ей практически полные дал а толку никакого. Причем пользователь с аналогичными правами (везде аналогичные) может отправлять и на компе если войти под ней также уходит все а под этим пользователем полный облом ((
18. Salavat 13 10.09.14 14:06 Сейчас в теме
(16) hanio,
только в отладчике смотреть - на чём останавливается. и - что с чем происходит.
19. KotorVB 10.09.14 14:15 Сейчас в теме
(16) hanio, Гы гы, а если без вложений письмо своять, отправит? А вообще да, сделайте точку останова наконец, посмотрите полностью все свойства почтового сообщения, и на всякий случай самой настройки подключения. Цель: Поиск подозрительных значений)))
Обновлено: А и хочу ещё раз обратить внимание на то что в типовой схеме не идет работа с диском и файлами в конечной стадии. Перед самой отправкой все вложения уже берутся из соответствующего справочника в реквизите Хранилище с типом Хранилище значений. Т.е. всё то что отправляет 1с хранится в базе. А само вложение идет как двоичные данные, т.е. обращений к файлу нет. Другое дело что эти двоичные данные на уровне уже sql где то там хранятся...
Чем этот пользователь ещё отличается от того у кого всё хорошо. Посмотрите какие роли назначены уже в 1с.
21. hanio 54 10.09.14 15:00 Сейчас в теме
(19) KotorVB, так все понимаю что в Хранилище, что в двоичном виде тут все ровно но почему тогда ошибка звучит так : Каталог не обнаружен 'v8_A94C_57_files\image000.png'? Ладно пойду отладчиком уговорили, видимо все только там выяснится
(20) Xershi, Отправка одного и того же документа, ну понятно что там создаются разные записи в справочнике и хранилище.
22. Xershi 1484 10.09.14 15:38 Сейчас в теме
(21) hanio, пройдите отладчиком, будет большее понимание этого глюка. Проблема может быть если при отправке был глюк записи файла на диск и файл не удалился, а его перезаписать не может 1С. Скорее всего проблема темповой папки куда 1С пишет файл, чтобы его прикрепить к письму. Т.к. сначала файл из скуля пишется на диск, а затем он крепится к письму.
24. KotorVB 10.09.14 16:50 Сейчас в теме
(21) hanio, Если например у вас Postrges то он свою базу данных хранит как раз по папкам и файлам на сколько я знаю..
Кстати да,(22) Xershi, вполне может быть что простая перезагрузка сервера спасет вас.
23. Xershi 1484 10.09.14 15:44 Сейчас в теме
Тутговорят о преобразовании html может это ваш случай.
25. hanio 54 15.09.14 10:51 Сейчас в теме
Все оказалось банально и непросто дело в том что вносились изменения в печатную форму возврата и там все даже навскидку сделано верно так вот именно на компиляции печатной формы вылезала вот такая ошибка. Пришлось помудрить со вставленным текстом а именно сделать объединение и весь текст туда запихать. Всем спасибо тему можно считать закрытой.
26. KotorVB 15.09.14 11:04 Сейчас в теме
(25) hanio, Отладчик творит чудеса, да?))) Итог: Сначала ковыряем отладчик, а потом спрашиваем народ :)
З.ы: Ваши предложения ток с 5ого раза осилил...
27. g1uk 01.06.15 22:25 Сейчас в теме
Все дело в HTML. У меня такая ошибка возникала когда я в текст письма запихивал таблицу с картинками (типа прайса), предварительно сохраненную в файл HTML. Дело в том что в тексте указывается относительный путь к картинкам:
IMG SRC = "v8_54E6_b2_files\image001.png"

меняем путь на абсолютный кому как нравится, привожу свой пример:

ИмяВременногоФайлаHTML = ПолучитьИмяВременногоФайла(".htm");
		ТабДок2.Записать(ИмяВременногоФайлаHTML, ТипФайлаТабличногоДокумента.HTML3);
	
		ДокHTML = Новый ТекстовыйДокумент;
		ДокHTML.Прочитать(ИмяВременногоФайлаHTML, КодировкаТекста.UTF8);
		
		ТекстHTML = ДокHTML.ПолучитьТекст();

		Позиция1 = Найти(ТекстHTML, "<TABLE");
		Позиция2 = Найти(ТекстHTML, "</TABLE>");
		
		Если Позиция1>0
			И Позиция2>0 Тогда
		      ТекстTABLE = Сред(ТекстHTML, Позиция1, Позиция2 + СтрДлина("</TABLE>")-Позиция1);
		КонецЕсли;
		
		ФайлHTML = Новый Файл(ИмяВременногоФайлаHTML);
		
		ТекущийКаталогВременныхФайловКартинок = ФайлHTML.Путь + ФайлHTML.ИмяБезРасширения + "_files";
		ТекстTABLE = СтрЗаменить(ТекстTABLE, ФайлHTML.ИмяБезРасширения + "_files", ТекущийКаталогВременныхФайловКартинок);
Показать


и все работает!

не забываем потом почистить папку временных файлов "v8_54E6_b2_files"
FilippSerg; +1 Ответить
38. user958974 18.09.19 15:36 Сейчас в теме
(27)
ИмяВременногоФайлаHTML = ПолучитьИмяВременногоФайла(".htm");
ТабДок2.Записать(ИмяВременногоФайлаHTML, ТипФайлаТабличногоДокумента.HTML3);

ДокHTML = Новый ТекстовыйДокумент;
ДокHTML.Прочитать(ИмяВременногоФайлаHTML, КодировкаТекста.UTF8);

ТекстHTML = ДокHTML.ПолучитьТекст();

Позиция1 = Найти(ТекстHTML, "");

Если Позиция1>0
И Позиция2>0 Тогда
ТекстTABLE = Сред(ТекстHTML, Позиция1, Позиция2 + СтрДлина("")-Позиция1);
КонецЕсли;

ФайлHTML = Новый Файл(ИмяВременногоФайлаHTML);

ТекущийКаталогВременныхФайловКартинок = ФайлHTML.Путь + ФайлHTML.ИмяБезРасширения + "_files";
ТекстTABLE = СтрЗаменить(ТекстTABLE, ФайлHTML.ИмяБезРасширения + "_files", ТекущийКаталогВременныхФайловКартинок);
Показать



Что сдесь ТабДок2?
28. murz44 4 05.07.16 03:05 Сейчас в теме
В ОбщиеФормы.НастройкаОтправкиОтчета

Функция
Процедура ОсновныеДействияФормыOK(Кнопка)


После строки
ХТМЛТекст = ТекстПисьма.ПолучитьТекст();


Добавляем

                ////////////////
		СтрП = "IMG SRC = """;
		СтрЗам = "IMG SRC = """+КаталогВременныхФайлов();
		ХТМЛТекст = СтрЗаменить(ХТМЛТекст,СтрП,СтрЗам);
		////////////////


Не знаю глюк это или так надо, но пути картинок пишутся относительно временного фала. Этот код испраляет ситуацию.
KVIKS; orexov; gragden; anti-teamen; e.kogan; lexxmaster; Stivi2014; gero; ketr; user777957; Teut_Vlad; Yimaida; ol_2004_; AloneWolf; improg; EugeneMIPT; Prohhor; Stanforeva; houpl; dkonakov; VladimirMelnychenko; arteast; Alex_IT; Масянечка; lefthander; Enziger; evn-zorin; wuff; atroxa; johny1987; Xershi; +31 Ответить
29. Xershi 1484 05.07.16 18:35 Сейчас в теме
(28) murz44, вот тоже думал как обойти. А тут готовый код. Плюсую!
30. evn-zorin 32 07.10.16 08:49 Сейчас в теме
(28) murz44, большое человеческое спасибо!
37. improg 574 19.08.19 21:00 Сейчас в теме
(28)Спасибо выручил код, а то бы долго искал решение)
44. KVIKS 400 28.12.22 13:17 Сейчас в теме
(28)
////////////////
СтрП = "IMG SRC = """;
СтрЗам = "IMG SRC = """+КаталогВременныхФайлов();
ХТМЛТекст = СтрЗаменить(ХТМЛТекст,СтрП,СтрЗам);
////////////////


и через 6 лет все еще актуально ))). Работает
31. 338050247 7 14.12.16 12:06 Сейчас в теме
УПП 1.3
В модуль общей формы НастройкаОтправкиОтчета в процедуре ОсновныеДействияФормыOK добавил строки
...
		ТегТела = НовыйHTMLДокумент.all.tags("BODY");
		Для а = 0 По ТегТела.length - 1 Цикл
			ТегТела.item(а).innerHTML = "
			|<P>
			|<HR>
			|</P>
			|<P></P>" + ТегТела.item(а).innerHTML;
		КонецЦикла;
		
// Добавленный код
		ТегКартинки = НовыйHTMLДокумент.all.tags("IMG");
		Для а = 0 По ТегКартинки.length - 1 Цикл
			ТегКартинки.item(а).src = СтрЗаменить(ТегКартинки.item(а).src, "about:", КаталогВременныхФайлов());
		КонецЦикла;
// Конец добаввленного кода
Показать
Andy_R; sergio199; Buхter; Yimaida; be-may; +5 Ответить
32. be-may 17.03.17 00:20 Сейчас в теме
(31) спасибо добрый человек. Очень мне твой код помог.
36. harisov_r 26 07.05.19 14:56 Сейчас в теме
(31)
НастройкаОтправкиОтчета

Код уже не актуален. 1С-цы в моем релизе 10.3.50.2. Внесли почти такой же код.
"ТегКартинки.item(а).src = КаталогВременныхФайлов() + Прав(Источник, СтрДлина(Источник) - 6);"
НО! Ошибка у меня стала возникать. Ошибку нашел в другой строке.
" Если Лев(Источник, 6) = "about:" И Найти(Источник, "files\image") > 0 Тогда"
Ошибка был в обратном слэше. Поменял его так:
" Если Лев(Источник, 6) = "about:" И Найти(Источник, "files/image") > 0 Тогда"
И ВСЕ ЗАРАБОТАЛО!
JoeQPublic; ankr; viking88; Teut_Vlad; wau8824ru; Yimaida; ol_2004_; +7 Ответить
39. ol_2004_ 11.11.19 04:25 Сейчас в теме
40. wau8824ru 22 19.11.19 09:56 Сейчас в теме
(36)
" Если Лев(Источник, 6) = "about:" И Найти(Источник, "files\image") > 0 Тогда"
Ошибка был в обратном слэше. Поменял его так:
" Если Лев(Источник, 6) = "about:" И Найти(Источник, "files/image") > 0 Тогда"
И ВСЕ ЗАРАБОТАЛО!

Спасибо!
10.3.56.1
Заработало
ОбщиеФормы.НастройкаОтправкиОтчета(Стр 93)
43. JoeQPublic 15 05.09.22 14:56 Сейчас в теме
41. serko8547 110 12.03.21 16:34 Сейчас в теме
(40)
Огромная благодарность! слеш помог!

Ошибка был в обратном слэше. Поменял его так:
 Если Лев(Источник, 6) = "about:" И Найти(Источник, "files/image") > 0 Тогда

И ВСЕ ЗАРАБОТАЛО!
33. igorek_zh 6 21.06.17 00:47 Сейчас в теме
Спасибо огромное. Для УТ 10.3 так же помогло.
34. wolder 131 10.10.18 10:08 Сейчас в теме
Да, а если не хотите исправлять код, просто в настройках нового эл.сообщения поставьте формат текста сообщения письма "Поместить в сообщение отчет в текстовом формате".
А вложения будут вложениями.

Прикрепленные файлы:
user970589; Aleksandr_prof; armon; JohnConnor; tsg70; dr2c; +6 Ответить
35. dr2c 44 29.04.19 13:14 Сейчас в теме
(34) Все гениальное- просто!
Пометьте пожалуйста этот совет как решение
42. user970589 10 22.06.22 08:34 Сейчас в теме
(34)(1) делал копию базы, потом возвращал обратно, вылезло такое же при отправке из счета. при внимательном рассмотрении обнаружил, что вообще галка не стояла. поставил в первое положение - все ушло. )
45. MaCCapAkIII 20.12.23 17:04 Сейчас в теме
Приветствую. Сейчас столкнулся с проблемой, что не отправляются письма с похожей формулировкой
{ОбщийМодуль.РаботаСПочтовымиСообщениямиСлужебный.Модуль(479)}: Ошибка при вызове метода контекста (Послать): Файл не обнаружен '/tmp/image001'
Только подстановка пути ко временному каталогу не помогает, нет там этих картинок. Видимо картинки необходимо либо предварительно выгружать во временный каталог и потом использовать абсолютный путь, либо передавать как вложения к письму. Ведь если тело письма в виде html содержит это:
<body>
 <p style="font-size: 11pt;">"><im height=</p>
 <p style="font-size: 11pt;"></p>
 <p style="font-size: 11pt;">"><im height=</p>
 </body>
тогда картинки должны быть во вложении к письму?

Не получается прикрепить нормальный текст в коде. Вместо белиберды в параграфах "src="image001"" и "src="image002"", то есть в теле письма есть относительные ссылки на картинки, которые были форматированном документе перед его выгрузкой в HTML
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот