| 
| 
 | Вопрос # 2 973/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Может вопрос такой и поднимался, но я не смог его найти ... Задача банальная ... Отправка письма по email (CodeGear 2007) ...
 SysLocale.PriLangID := LANG_UKRAINIAN;
 IdMessage1.CharSet := 'Windows-1251';
 IdMessage1.ContentType:= 'text/plain; charset=windows-1251';
 IdMessage1.ContentTransferEncoding:='quoted-printable';
 IdMessage1.Subject:='Тут тема письма'
 IdMessage1.Recipients.EMailAddresses:='мыло@получателя';
 IdMessage1.From.Address:='мыло@отправителя';
 IdMessage1.Body.Add('Тело сообщения');
 
 Всё хорошо ... всё уходит, кодировку понимает как в теме так и в сообщении ... Но стоит мне прикрепить файл
 TIdAttachmentFile.Create(IdMessage1.MessageParts,ADOTableFindFile.Fields[1].AsString);
 В письме получается куча мусора, а самого файла нет ... Если комментирую строку - "IdMessage1.ContentType:=...", то файл приходит нормально, но тело без кодировки :(
 Чего я ещё недопонял в этом деле? Подскажите ...
 
|  |   Вопрос задал: Ice-Breaker (статус: Посетитель)Вопрос отправлен: 7 июля 2009, 09:21
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 16; последнее сообщение — 7 июля 2009, 12:23; участников в обсуждении: 4. 
|   | Ученый (статус: 8-ой класс), 7 июля 2009, 09:40 [#1]:вообще странно...должно быть все норм.....можно попробывать так: создать временный файл (допустим в тойже папке что и ехе), сохранить в него нужные данные, а потом этот файл забить в аттач и отправить, после отправки удалить... хотя не совсем уверен что поможет, но думаю попробывать стоит.
 |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 09:54 [#2]:Не совсем понял этот вариант ... Я то отправляю не текстовые фалы ... мне pdf отправлять надо ... |  
|   | Ученый (статус: 8-ой класс), 7 июля 2009, 09:56 [#3]:ADOTableFindFile.Fields[1].AsString - это что за файл? из базы сразу отправляете? |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 09:58 [#4]:нееее, там ссылка на файл ... ну типа 'E:\2009\07\02\BOF_Daily_Report_2009_07_02.pdf'
 |  
|   | Ученый (статус: 8-ой класс), 7 июля 2009, 10:02 [#5]:хм.....попробуй напрямую ссылку вставить на файл: тоесть TIdAttachmentFile.Create(IdMessage1.MessageParts,'E:\2009\07\02\BOF_Daily_Report_2009_07_02.pdf'); если будет все норм то уже будет ясно где искать ошибку   |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 10:04 [#6]:пробывал ... тот же самый результат ...   |  
|   | Ученый (статус: 8-ой класс), 7 июля 2009, 10:05 [#7]:очень странно...значит не видит вообще файл? чем открывали письмо? Батом? |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 10:12 [#8]:Открываю его потом Оутлуком Да я так думаю что проблема в этой строке
 IdMessage1.ContentType:= 'text/plain; charset=windows-1251';
 Без неё то фал прикрепляется, а с ней, такое ощущение что его просто в тело письма вливают ...
 вид письма становиться такой:
 
 This is a multi-part message in MIME format
 
 --57xnwCuHGlNhX7O=_rxV1i4FZ3tjAPEj3j
 Content-Type: text/plain
 Content-Transfer-Encoding: 8bit
 
 Тело сообщения
 
 --57xnwCuHGlNhX7O=_rxV1i4FZ3tjAPEj3j
 Content-Type: application/octet-stream;
 name="BOF_Daily_Report_2009_07_01.pdf"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
 filename="BOF_Daily_Report_2009_07_01.pdf"
 
 JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29k
 ZT4+CnN0cmVhbQp4nO1dC7BdVXmWJOTe3AgEIaTEBweE8Vzs2Xe9H5lOLQkEgggBgpkhISUNEKHc
 0ABakEcrxZFSsXaktWWwCtWKU8D6gKEWaqGljtYqQ6fjMNoqhQqS1g7OANpY6b/22WuvtfZZ5z/7
 3HtD4wyTmZs96/zrX8//+/5/Pfbe3SEF7RD3r/p/x+zUzFm6s/OKqd1TipvC8g4XjBdWd2Z9gmCK
 FkR0Lp3SlBWWikyKz3Tp1LumNnd2TZVldM46uXq4fCfop/3n6r8ds521m6Bw09EF14SYzqaLQJp2
 eq5mmhRSirIyBQe9m2anup3pTZdABhtnYFANShjk2HTBVPeAA/oiiU5bECqI6ots6bLpHi2UZZp3
 e+Uj5YyDbqbNeZtObeo38LumttK/aPGSAxcvncgUwnVBFZOV3LCaEuVrunRy2ZJJJ3XSpqkz4V/7
 /qK0owrCddpfRhWcCtNhTBeWyLK/6s4I8qLgSjJeVWJNXyDRSJkslKrbO6jCFIRRoxsqeCTR48xA
 b2iomSpo2XzX8QeUvQddbgh0Fu8unZhcMt3vcirjOopCk7qORaYAVSgoglYSy7buWl4JxWooLSSx
 iBYGU5gI7efFaxcvd7XjzNrCyO7Wyw
 ..........................
 ну и так далее в том же духе
 |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 11:10 [#9]:Может у кого-нить есть ещё идеи??? |  
|   | Пупкин В В (статус: 2-ой класс), 7 июля 2009, 11:28 [#10]:то есть вложение не возможно сохранить? или что по виду вроде все нормально вложение в base64.
 |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 11:30 [#11]:получается что его как вложения нет ... оно всё я так думаю в теле письма лежит текстом, ну и соответсвенно сохранить его нельзя ... |  
|   | Пупкин В В (статус: 2-ой класс), 7 июля 2009, 11:35 [#12]:ContentType multipart/mixed |  
|   | Ice-Breaker (статус: Посетитель), 7 июля 2009, 11:39 [#13]:пробывал (IdMessage1.ContentType:= 'multipart/mixed; charset=windows-1251'  .... файл приходит вложеным, всё вроде нормально ... но кодировка слетает ... Вместо "Тело сообщения" приходит "рЕКН ЯННАЫЕМХЪ"
 
 А если закомментировать отправку файла
 TIdAttachmentFile.Create(IdMessage1.MessageParts,ADOTableNeOtpravleno.Fields[0].AsString);
 
 то с кодировкой сразу всё нормально становиться ...
 |  
|   | Вадим К (статус: Академик), 7 июля 2009, 12:03 [#14]:Напишу ещё раз. Сколько не эксперементировал в "детстве" с инди - не умеют они корректно отправлять почту. А с вложениями вообще проблемы. Исследования кода показало, что там всё очень запущено... В свое время нашел synapse, мало того, что размером меньше, так ещё и работают лучше. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ученый (статус: 8-ой класс), 7 июля 2009, 12:12 [#15]:to Вадим К.  synapse конечно вещь хорошая, только мануалов на нее толковых днем с огнем не найти, особенно по отправке почты. я в свое время перечитал все что было написано на официальном сайте synapse, но так и не смог отправить писмо, хотя вроде делал все как там сказано   |  
|   | Пупкин В В (статус: 2-ой класс), 7 июля 2009, 12:23 [#16]:иногда лучше один раз разобратся с инди правильно ContentType:= 'multipart/mixed;...
 а проблема с кодировкой стара как мир
 смотрите в сторону IdMessage1InitializeISO
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |