Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 19:45:36 |
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
Сорри, предыдущее сообщение моё, необычный форум.. пока разобрался как зарегистрироваться, ляпнул в топик ошибку.
Суть вопроса такова: Пытаюсь отправить письмо и аттач в нём. Аттач ищется с томощью компоненты - поиск фала, найденное значение(имя файла)выдаётся в поток, из потока в список, из списка аттачиться в компоненту smtp В отправленном письме аттач выглядит в виде текста, а нужно отправлять в виде вложения(файла) Вот так выглядит аттач -HIASM_7209 Content-Type: application/octet-stream; name="last_rec.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="last_rec.txt" 0e/o8e7qIPTo6vHo7ePu4g0KDQoxMzoxMCAxOC4wNC4yMDEwDQoNCi0gZml4OiDn4O/w5fIg7eAg8e7n5ODt6OUg4u3l+O3l4+4g8eIt4uAg7eAg5PDz4+7l IOLt5fjt5eUg8eIt4u4NCi0gdXBnOiDu8urw+/Lo5SDx8uDt5ODw8u3u6SDx7/Dg4uroIO3gIP3r5ezl7fIg7+4g4vvn7uLzIOru7ODt5PsgaGVscA0KDQow OjUwIDE3LjA0LjIwMTANCg0KLSBmaXg6IOrw6PLo9+Xx6uD/IO746OHq4CDu8u7h8ODm5e3o/yDv7uTx6uDn6ugg6iDy7vfq5SDv7vHr5SDz5ODr5e3o/yDj 8PPv7/sg/evl7OXt8u7iICMxNDMNCg0KMTM6NTYgMTMuMDQuMjAxMA0KDQotIGFkZDog7vLx6+Xm6OLg7ejlIOLu5+zu5u3u8fLoIOLx8uDi6ugg/evl7OXt 8u7iIOjnIO/g6+jy8Psg4iDy5erz+ejpIPLo7yDq7u3y5ent5fDgDQoNCg== --HIASM_7209-- Что нужно сделать чтобы нормально отправлялся файл? |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 1 раз(а), последний 2017-03-03 19:45:36 |
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
Нормально - это когда файл приходит в виде аттача(как файл), а не в виде набора символов-текста в теле письма.
Письмо уходит из программы на hiasm(см выше), принимается на почтовый ящик - принимаю почтовым клиентом the bat Вот вы и посоветуйте, может быть что-то в самой программе не так? |
|||
карма: 0 |
|
Ответов: 273
Рейтинг: 29
|
|||
а не в виде набора символов-текста в теле письма Каких именно символов?
Содержимого вложенного текстового файла или же шестнадцатеричных кодов base64? Если первое - это не глюк, а фича слишком умной почтовой программы. Если второе - это несоответствие формату. Нужно отыскать что именно не соответствует. Если этот параметр будет относиться к компоненту - возможно компонент неисправен. Если так, выловленный глюк поможет определить неисправность и относительно быстро ее удалить. Глюк где-то выше по тексту. Сообщение не соответствует формату. Для отлова глюка сохраните принятое сообщение в файл, и откройте его блокнотом. Внимательно изучите все поля - где-то ошибка. Проверить, исправлена ли она, также легко - загрузите письмо в почтовую программу с диска, она покажет его так же, как и принятые из сети. Исправляйте ошибки, пока программа не станет открывать письмо правильно. У меня сообщение распознало ваш attach только после внесения его id в поле boundary. Больше никаких ошибок в приведенном фрагменте не было. test.eml Date: Sun, 10 May 2009 10:23:25 +0300
Subject: test From: bot <mail@mail.ru> To: mail@mail.ru Content-Type: multipart/mixed; boundary=HIASM_7209 --HIASM_7209 Content-Type: application/octet-stream; name="last_rec.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="last_rec.txt" 0e/o8e7qIPTo6vHo7ePu4g0KDQoxMzoxMCAxOC4wNC4yMDEwDQoNCi0gZml4OiDn4O/w5fIg7eAg8e7n5ODt6OUg4u3l+O3l4+4g8eIt4uAg7eAg5PDz4+7l IOLt5fjt5eUg8eIt4u4NCi0gdXBnOiDu8urw+/Lo5SDx8uDt5ODw8u3u6SDx7/Dg4uroIO3gIP3r5ezl7fIg7+4g4vvn7uLzIOru7ODt5PsgaGVscA0KDQow OjUwIDE3LjA0LjIwMTANCg0KLSBmaXg6IOrw6PLo9+Xx6uD/IO746OHq4CDu8u7h8ODm5e3o/yDv7uTx6uDn6ugg6iDy7vfq5SDv7vHr5SDz5ODr5e3o/yDj 8PPv7/sg/evl7OXt8u7iICMxNDMNCg0KMTM6NTYgMTMuMDQuMjAxMA0KDQotIGFkZDog7vLx6+Xm6OLg7ejlIOLu5+zu5u3u8fLoIOLx8uDi6ugg/evl7OXt 8u7iIOjnIO/g6+jy8Psg4iDy5erz+ejpIPLo7yDq7u3y5ent5fDgDQoNCg== --HIASM_7209-- txt Список фиксингов
13:10 18.04.2010 - fix: запрет на создание внешнего св-ва на другое внешнее св-во - upg: открытие стандартной справки на элемент по вызову команды help 0:50 17.04.2010 - fix: критическая ошибка отображения подсказки к точке после удаления группы элементов #143 13:56 13.04.2010 - add: отслеживание возможности вставки элементов из палитры в текущий тип контейнера |
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
Ошибка в моей схеме или нет, я не в курсе. Но если убрать из схемы компонент - поиск файла и кабель
Всё работает. Вот схема работающая. Но всё-таки мне надо искать файл в директории по расширению *.zip Передавать его полное имя в поток и аттачить этот файл в письмо. ВСЁ-таки отловил глюк(возможно) Если присоеденить список с Темой письма в точку smtp клмпоненты То письмо приходит в виде Content-Type: application/octet-stream; name="last_rec.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="last_rec.txt" А вложение в виде текста. Если не присоединять, а Тему задавать в самих свойствах smtp Письмо приходит нормальное |
|||
карма: 0 |
|
Ответов: 273
Рейтинг: 29
|
|||
После хаба (на первой схеме), перед smtp, поставить DoData (вкладка инструменты) - тогда на вход smtp не пойдет строка с путем к файлу.
В списке строк хранить только массив имен файлов для аттача, а остальное (from/subj) только в Memory - возможно мешает то, что список строк содержит дополнительные управляющие символы, помимо самой строки (а в Memory их нет). |
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
Немного не понял Если будет DODATA то вроде и хаб не нужен.
Не понял куда передавать из DO DATA данные для записи в поток? |
|||
карма: 0 |
|
Ответов: 273
Рейтинг: 29
|
|||
Попробуй так.
Add(SMTP,9514139,378,308)
{ Point(Attach) link(Subject,11402162:Value,[(405,296)(370,296)]) link(Body,11455520:Text,[]) link(Attach,11360052:Array,[(419,295)(468,295)]) } Add(DoData,12702675,329,308) { link(onEventData,9514139:doSend,[]) } Add(Hub,15999886,294,224) { link(onEvent1,11360052:doAdd,[]) link(onEvent2,12702675:doData,[(315,237)(315,314)]) } Add(Memory,11402162,364,252) { } Add(ListBox,11360052,448,224) { Left=445 Top=160 } Add(ListBox,11455520,406,238) { Left=445 Top=160 } |
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
Не работает, письмо вообще никуда не уходит.
Буду копать Начну по одному отключать точки кроме attach может быть тогда пойму где ошибка ------------ Дoбавленo в 21.55: Вот так работает Спасибо за инфу ------------ Дoбавленo в 23.46: последний вопрос, как считать из ini файла адрес электронной почты куда отправлять письмо и грамотно передать его в smtp? Делаю вот так судя по всему компонент МТ поток не получает значение ключа из компонента ini отправка почты не происходит |
|||
карма: 0 |
|
Ответов: 3889
Рейтинг: 362
|
|||
bayan, выглядит как путаница в голове. Вы в курсе, что в хабе события происходят сверху-вниз, начиная с первого? Вы сначала шлёте, потом пытаетесь читать (опустим пока вопрос, оттуда ли вообще читаете).
|
|||
карма: 1 |
|
Ответов: 85
Рейтинг: 0
|
|||
Хорошо, я исключил хаб из схемы. Чтение вставил перед модуkем smtp
Но все равно не функционирует |
|||
карма: 0 |
|
Ответов: 9
Рейтинг: 1
|
|||
bayan, секция в свойстве прописана так [mail] или так mail?
|
|||
карма: 0 |
|
Ответов: 85
Рейтинг: 0
|
|||
В ini секция прописана согласно всех стандартов те как [mail]
В свойствах ini компонента hiasm Filename=settings.ini Section=mail Key=mailto Type=string |
|||
карма: 0 |
|
Ответов: 8926
Рейтинг: 823
|
|||
bayan, картинки -- наглядно, но схема гораздо информативнее
Информация.jpg |
|||
карма: 19 |
| ||
файлы: 1 | Информация.jpg [67.2KB] [432] |