Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пытаюсь отправлять письма из Каше / 16 сообщений из 16, страница 1 из 1
08.09.2010, 15:32
    #36836223
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Одно сплошное раздражение, как будто с аксессом работаешь - вроде за тебя все решили и сделали, и остается нажать кнопочку - а начинаешь программить, и все как-то через задницу.

Суть вопроса - нужно сделать письмо с картинками, причем картинки должны быть как будто в теле письма, а как вложенные файлы видеться не должны. В целом с трудом но разобрался, в текстовом файле сделать получается, а в каше нет.

Делаю HTML-письмо, прикрепляю картинки как файлы, все пока нормально.
Потом мне нужно у этих картинок поставить Content-ID и тут затыка - метод установки Content-ID есть в классе %Net.MIMEPart, а в прикрепляются файлы как объекты класса %Net.MailMessagePart, хотя само поле Parts есть массив %Net.MIMEPart.
Причем сами %Net.MIMEPart и %Net.MailMessagePart в плане наследования друг другу и близко не родня.
Ок, хрен с тобой, золотая рыбка, делаю объект %Net.MIMEPart и пытаюсь его затолкать в массив Parts через SetAt. Низзя, говорит, <PRIVATE PROPERTY>

Что еще остается?
AttachNewMessage(), но он опять же, явно прикрепляет %Net.MailMessagePart
AttachEmail(mailmsg As %Net.MailMessage) тоже почему-то %Net.MIMEPart не прикрепил.
Издевательство какое-то.

Коротко - нужно прикрепить к письму(%Net.MailMessagePart) вложения типа %Net.MIMEPart
...
Рейтинг: 0 / 0
08.09.2010, 15:39
    #36836245
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
а что тут сложного

кодируете картинки в Base64
письмо делаете в HTML формате и вставляете картинки в HTML, по типу этого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD
UUlEQVR42lWTWUwTURSGaUtIKY5QweISTUzceDGu0Rj1xURjTNQEE+ODGn0hPhBEQdqZztahBbrA
tFih1Fprh9IBiVLLErZSU7BUoS7VqNH44ovx0S0ovdfO4Ez04cw9Ofec7/5zzr15NEnkUxSVFx8O
bZ1x7nzHN6z9nOhnzOFwWCnECcKoEFbBRrrp6iF/XRvD0BoplkdTuAiIhtt3P3Fu+jJlKlkM1WoX
LFjVeSnpXrC94gV3ciJp1X0L1K7+NtDfvXdpj1TmmUwm8QTfLa867T+ceWTSwO5r5b87XNaDEoBr
v3p2Ai+AU1Qh5OiDGS4UXi4roAisQHBiYfJS2obAVPMyELYcGxViOIaKcLaNLXzadej5nBUBPXW6
hdYW0z4RQOYUXK2tUfr8QeXL0Kn4JKEBk7QWdtrrLggJJEmoCBxVCf50qIaaa0HABFkEPZaLNnGf
wPNFGV0u05Y554bvMQoBPLbxs9t9QydJpHP/KayRbsf+pG1NdgTTgDuGXa8dbS41ZtArxaQYT1Wl
HVqYaloGOcvJIan4X2MdViTl3vExbS+GPfXlvzzutj1LPch9HrYea59t0YIRtAAO+PQuIWYwNKik
Yty41Iuk/3TvMzsCB9HcQR7msgzgjZs7Z5rLQPR6PojeJW2d3oDCoG/IlwAYqlexbp/i9eB19ziu
BoMoAlrR03YZ0G8+0JFhS8EjuhD6zWfuCTEjppcBOKYX1bwaqA5MM2oYZ4pBy7XjrAyY7sPqU01F
cNZW/jtwZeXXVpt5u1RM4JhYzHFBddqz5/28fUU2NwngtVUbZUCE79o6x67/MYiXLiSbS8D9xp1v
I7znkLvDK07A5/MiT7mzdxMMAsdMqxaiWDHkgzePigBUXy9KTfdWeVKNSjjPrvv5uKkYxszlIHX7
eDLeVfkgbt30bt5eAlOOtT9nLRrI03szrOumOtcb4SrTSj2KKfr4nuUZ7kR8HFPAYXLlYqxRl43T
GjjTWAhHCC1MNK/+lWA0cJLRgfsh95G/N1H136z7+BCSuHMuMEGVLo4a1XCKKcuO0WXZBw1FcNig
hmPWbe8jIeeJpdFiCrkHguWUyM92NBKseBut8T92bfsw66z49IyrHH2T5CvlqeCYUvL/ANIZ7+oh
XSdWAAAAAElFTkSuQmCC">
в итоге не нужно делать вложения, только текст, только нужно указать, что письмо с HTML

надеюсь с кодированием в Base64, проблем не будет? и прикрепление HTML текста
...
Рейтинг: 0 / 0
08.09.2010, 15:46
    #36836263
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
О, спасибо, не знал про такой метод. Так будет явно попроще.

Просто я знал только метод с прикреплением вложений и прописывание вложений по типу
<img src="cid:000.jpg">, но ваш метод мне уже заранее нравится (сегодня попробовать не смогу - ушел домой).
...
Рейтинг: 0 / 0
09.09.2010, 11:49
    #36837653
u78
u78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
DAiMor,

круто. сколько в html пишу - впервые вижу ))) в IE 6.0 почему то не работает, в лисичке и в опере работает (подкова жёлтенькая)
...
Рейтинг: 0 / 0
09.09.2010, 13:21
    #36837929
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
на то он и IE6 :)
...
Рейтинг: 0 / 0
11.09.2010, 09:48
    #36841539
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Факир был пьян и фокус не удался.
Если написать base64 текст в тело письма, то его там внутри перекодирует по второму разу в какую-то свою кодировку, в итоге все это превращается в хрен знает что и в итоге не читается.
Да и к тому же, как мне показалось, даже если письмо сгенерено правильно, то правильно разобрать его может не каждый почтовый клиент.
Тот же Оутлук экспресс 6, по-моему, такое не понимает.
...
Рейтинг: 0 / 0
14.09.2010, 10:42
    #36844930
u78
u78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Блок А.Н.,

видимо поэтому все рекламные рассылки присылают логотипы аттачем а само письмо простым html
...
Рейтинг: 0 / 0
14.09.2010, 12:35
    #36845225
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
покопал я тут код %Net.SMTP, на предмет отправки сообщений
и пришел к выводу что стандартными средствами нельзя проставить Content-ID, и применить MIMEPart, тоже нельзя
но все равно у меня в Outlook нормально отображаются картинки, как в теле письма так и во вложении, но без указания Content-ID а только с указанием имени файла картинки
ну и разумеется письмо в формате HTML

Cache for Windows (x86-32) 2008.1.1 (Build 579U) Wed Jul 2 2008 15:39:29 EDT
...
Рейтинг: 0 / 0
22.09.2010, 17:52
    #36860860
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Мдя, тут и комплексам недолго начаться.
Проблема решилась в одно действие - выставлением заголовков вложений вручную, подсказали нечаянно в WRC.

Код: plaintext
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.
 S smtp=##class(%Net.SMTP).%New()
 s smtp.smtpserver="smtp.mail.ru"
 S smtp.port= 25 
 
 S email=##class(%Net.MailMessage).%New()
 S email.Subject="picture test"
 S email.From="xxx@mail.ru"
 D email.To.Insert("xxxk@mail.ru")
 S email.Charset="windows-1251"
 s email.IsHTML= 1 
 s email.IsMultiPart= 1 
 s email.MultiPartType="related" 
 
 d email.TextData.Write("<html>")
 d email.TextData.Write("<body>")
 d email.TextData.Write("<img src=""cid:phcell.gif"">")
 d email.TextData.Write("<span style='color:red;font-weight:bold'>P</span>hone")
 d email.TextData.Write("</body>")
 d email.TextData.Write("</html>")

 S sc1=email.AttachFile("e:\temp\","phcell.gif")
 w !,##class(%Status).LogicalToOdbc(sc1)
 S part=email.Parts.GetAt( 1 )
 D part.Headers.SetAt("phcell.gif","Content-ID")
 D part.Headers.SetAt("image/gif","Content-Type")
 S sc2=smtp.Send(email)
 w !,##class(%Status).LogicalToOdbc(sc2)
 Q
...
Рейтинг: 0 / 0
05.10.2010, 16:26
    #36882942
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Блок А.Н.

Было интересно сравнить Ваш код с кодом от chameleon82 .
...
Рейтинг: 0 / 0
08.10.2010, 17:19
    #36890016
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
SQL хороший язык работы с данными (хоть и не абсолютный).
Но меня удивляет, когда из SQL делают процедурный язык - вот такие извраты и получаются.
И вроде же явно не дурак это придумывал, но ощущение какой-то нелепой и глупо проделанной работы остается и избавиться от этого я не могу.

Справедливости ради надо сказать, он делал не совсем ту работу, что я, т.е. библитеки каше делают гораздо больше, чем те "библиотеки" оракла, которые использовал он. Т.е. вроде что-то и использовал, но в итоге всю работу делал сам.
...
Рейтинг: 0 / 0
09.10.2010, 13:20
    #36890786
ывпрвап
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Блок А.Н.,

Вы недоумеваете, что разработчики IS не удосужились написать функцию WriteMessageBodyForBlockAH()?

Имейте совесть, вам дали хороший набор интерфейсов класса для обслуживания процесса создания и отправки письма, а то, что вы не знаете как работает почтовый протокол - ваши проблемы.

В доке каше этого описано быть не должно.
...
Рейтинг: 0 / 0
09.10.2010, 15:03
    #36890830
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
[quot ывпрвап]
Я конечно сам виноват, что путано изложил свою проблему.
Похоже, вы не поняли ни суть моей проблемы, ни способ ее решения.
Похоже вы не поняли даже, что проблема уже решена.
...
Рейтинг: 0 / 0
04.02.2011, 11:48
    #37097437
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
всем привет
подскажите а как несколько картинок послать(прикрепить) в письме?
...
Рейтинг: 0 / 0
04.02.2011, 11:50
    #37097450
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
отвечаю сам себе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
d m.AttachFile("C:\GEO\InterSystems\CSP\rtt\images","rtt.jpg")
 	d m.AttachFile("C:\GEO\InterSystems\CSP\rtt\images","ftr.jpg")
 	s part=m.Parts.GetAt( 1 )
 	d part.Headers.SetAt("rtt.jpg","Content-ID")
 	;d part.Headers.SetAt("ftr.jpg","Content-ID")
 	d part.Headers.SetAt("image/gif","Content-Type")
 	s part=m.Parts.GetAt( 2 )
 	;d part.Headers.SetAt("rtt.jpg","Content-ID")
 	d part.Headers.SetAt("ftr.jpg","Content-ID")
 	d part.Headers.SetAt("image/gif","Content-Type")
...
Рейтинг: 0 / 0
04.02.2011, 12:19
    #37097581
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пытаюсь отправлять письма из Каше
Да, а в теле письма
d m.TextData.Write("<img src='cid:elka.jpg' style='float:left;margin:20px;clear:none;'>")
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пытаюсь отправлять письма из Каше / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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