powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание файла в памяти и отправка его по email
5 сообщений из 5, страница 1 из 1
Создание файла в памяти и отправка его по email
    #37357086
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно создать файл в памяти и отправить его на почтовый ящик, прикрепив к сообщению. На С# реализовал через System.IO.MemoryStream, в Каше пока не могу разобраться как это сделать. Это вообще возможно?
...
Рейтинг: 0 / 0
Создание файла в памяти и отправка его по email
    #37357154
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отправлять можно через %Net.SMTP
хотя там прикрепить можно только файл, но вы можете генерировать временный файл
...
Рейтинг: 0 / 0
Создание файла в памяти и отправка его по email
    #37359269
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerНужно создать файл в памяти и отправить его на почтовый ящик, прикрепив к сообщению. На С# реализовал через System.IO.MemoryStream, в Каше пока не могу разобраться как это сделать. Это вообще возможно?Конечно, возможно:
Пример
 #include %occStatus
 n
 #dim m As %Net.MailMessage
 #dim part As %Net.MailMessagePart
 #dim ex As %Exception.SystemException
 try{
   set smtp=##class(%Net.SMTP).%New()
   set smtp.smtpserver="192.168.1.2"

   set m=##class(%Net.MailMessage).%New()
   set m.From="from@test.md"
   do m.To.Insert("to@test.md")
   set m.Subject="TEST MAIL"
   set m.Charset="utf-8"
   set m.IsHTML=1
   set m.IsMultiPart=1
   set m.MultiPartType="related" 
   d m.TextData.Write("<html>")
   d m.TextData.Write("<body>")
   d m.TextData.Write("<ul><li>asd<li>asd<li>zxc</ul><br><a href='http://intersystems.ru/'>http://intersystems.ru/</a><br>")
   d m.TextData.Write("<img src=""cid:einstein.jpg"">")
   d m.TextData.Write("<br><span style='color:red;font-weight:bold'>B</span>un<span style='color:green;font-weight:bold'>ă</span> ziua!")
   d m.TextData.Write("<br><table border=1 cellpadding=2 cellspacing=2><tr BGCOLOR=#22ffdd><td>Столбец №1</td><td>Столбец №2</td></tr><tr><td>Row (1,1)</td><td BGCOLOR=#ddff22>Row (1,2)</td></tr><tr><td>Row (2,1)</td><td>Row (2,2)</td></tr></table>")
   d m.TextData.Write("</body>")
   d m.TextData.Write("</html>")
   
   #; вариант 1
   set stream=##class(%GlobalBinaryStream).%New()
   d stream.Write($system.Encryption.Base64Decode(
  "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIf"_$c(13,10)_
  "IiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7"_$c(13,10)_
  "Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAB1AFQDASIA"_$c(13,10)_
  "AhEBAxEB/8QAGwAAAQUBAQAAAAAAAAAAAAAABQACAwQGBwH/xAA5EAACAQMCAwUFBwMEAwAAAAAB"_$c(13,10)_
  "AgMABBEFIRIxQQYTUWFxIjKBkbEUI2KhwdHwM0JSBxU0Q6Lh8f/EABQBAQAAAAAAAAAAAAAAAAAA"_$c(13,10)_
  "AAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDEtI2TipI3Oxx13ppUsSBzNX7a"_$c(13,10)_
  "G2hOXcysOaoNh8aC3agx2KqCQJmPeMBuFG2Pr86ntrQOqzM3CmcInQ+dTwoskKLEoVeWAN8ZztWt"_$c(13,10)_
  "0K0RLf71eMBdgw2oAFnYzT3CQcXdY3L53A5k+gFH5LZHKwl2htLUe0qD2pDzznxNEVsWEhYKgWTb"_$c(13,10)_
  "AGNqT6W0rZfPPO3U0AVrSebC2NkohK5CqcE+p2z8abd6TfvCqytaMw/61uzxf+RIotdW9xHwqjgo"_$c(13,10)_
  "vNT1pySxTJwMI4iOYYZ+tBhtVs70yEXFuVc+7KR7/r0J6Z+vOs87MrFW2I6V1WZIRAYLq3VoX/vj"_$c(13,10)_
  "Xl8uVYntNozW04kUcSOpaNxycfvQZ8THoaVQ4PjSoJYLaafLhTweQ51oNIsIIUWa94gmfZjj3LH9"_$c(13,10)_
  "zVmN47heK1tgLdTwoGHvnxI6fWrV1GRd2kOEA7viC4wM7DP5mgMaRpsV7KZmUA8gqe6g8M9f1rU2"_$c(13,10)_
  "+nxQ8o+XPlvQLQdT0oOIkvIC5HIyZJ8tth6Vrl4SgbIIxQQLbAZK8YHhgU/uduvyqYcOMnGKk4lC"_$c(13,10)_
  "43+ZoB8tsHBUgEeXShGoaerqM9PTFHpdznIOOXQ/Oqsi8eSd8+X83oM9DaBHMMisBj/Ll+1V9XsZ"_$c(13,10)_
  "JdKubKUBnjQzQPw8yN/njOfGjNxEQ6kZIG2DTtSiZLYTR81GcHr4j+eVBxJhhzsOdKj13pFtNdyt"_$c(13,10)_
  "DOIVDFSjdDSoC2nhIrS0gizkoGYY8SP2oi+mpq3aNbeMngitSJDnccRx+9CrWZLXUBG0oJhjjUjw"_$c(13,10)_
  "OP3NEtHuJFOp30LqDISEkfYAKMA/n+dAasNB0fTJzHCiByMEE5LVp7bgkiUIelYl5pba7sY7OO4v"_$c(13,10)_
  "WuF45rhiCoOcEYA2A57mj+n3Up1hUUjgMJMmOWeLAI9aA5JEOEAtgUJn0l2mE1peTQsGyTxEg/Dl"_$c(13,10)_
  "V27uW4SUUtjc78hWc1q/fTljuLyRoIpc8CrI3eMBzOBsB6mgOW0NzDxfaLt5/DjUZB9RUie2Qwxj"_$c(13,10)_
  "z8aoaXfPPEyu5cDdWdcMPI/MetT2snApD5BVqCQpxTIGAHhilfyxoncznKMMHFSoRKNs4DHaodUs"_$c(13,10)_
  "4Jo+JubciWxvQc01TRJpNQlcccgJ2eEZDefkaVGbiNRMyzIrspxlm4Wx5jxpUHPDfTNLNOW4ndlJ"_$c(13,10)_
  "Pnt+1dE7MaU1zpNlMVBQDLA8jkc65gGALAdeddp7KTovZuyTA4zGKCzDpdvp8LMsSrGAWdyTt8Kg"_$c(13,10)_
  "7Pd+8E9/chjJctxIG6IPdqXXrmKCC1tJnx38q8S55ICMk/kPjRsQxLajGMY2FBVC/aFIGxI50PvN"_$c(13,10)_
  "ChvQqXEQkWI5VHHEo8x4Gr9qXhkCSf03JCnqDRMLkbkHzoAkMLQNw+/1JYY29amcqrsOeeeDRKSJ"_$c(13,10)_
  "N8gb0IuXVZyo2JGD50EkMojiyzYAPhVOfVSG7mbgw/uq52b+YqKCSW5uZII1VlUADO25/Sotc0wx"_$c(13,10)_
  "6TGBH3wRWc5GSDjG3zz8KCnc23ezFlRJB+NgCPLz9aVVbW2uzGY5XUyRNwMWk4SeoPnsRvSoOXyz"_$c(13,10)_
  "llxhFAPJRXWOz1xFa/ZVZsxraoR6nauQn3j13rpXZtDqVjaRFuEy2/DG/g6H+fKg197p9trcbC7X"_$c(13,10)_
  "IAyrDYpv0I/m1WYLFoY4oe/mnCjGXYcvPA3rJxaxrGm3zadPaiV+jZ2IHX6UUHaC9Lr3lg4VlJ9g"_$c(13,10)_
  "g/8AygPCBFIbDBUOeHiJBPjvViC4AcpglT+XlWdm1/7MVNypjUjJ54FX7K+hvl76GTiU4OxFAVZm"_$c(13,10)_
  "bIGPLNBb3/nsQp9lPqaLF+Ekk42oG0nHc3Mrk4XAPhQWNHibvbibj4RGPXJxmp/tonucgqyxZVot"_$c(13,10)_
  "ssMbkeYrIy9t7LTbS5tGidrjjPDw8nyPHpjlQOw7VwtK/fgwY/plPzBPX5Cg1ep6e+oahLNDxKBh"_$c(13,10)_
  "W4epAG/yxSrPy/6gSWj91ZIJIwN3Lbsf5ilQYq+uYN0toFiUdRuT8a0fYbVSnHZsd4mFxF8PeHxG"_$c(13,10)_
  "ax0hPG2fGptOvpNPvorlOcbZI8RyI+WaDsd6I27X26EEo1ixXccw/wD7qSZ+6PCB7WAAazcmsFpd"_$c(13,10)_
  "G1lJAY0Btpj4BsYPzH5ijk833hnXLjjPCoHvtyAA9aCrqcC6nqC2D5aGIqGUD325kelaOGxitUgW"_$c(13,10)_
  "FeFRzAO23Kq+maUbVeOXHfPu5B65q7dSLDAIlOOL2R+HxNB6bgRWjzvywW+FYPtV2jGnW5022YNd"_$c(13,10)_
  "M3HORuEJ3x9NvKoO1vbUtKtjpE33cOxmXqfw+njWEeRnYliSTuSTnNA6R2dizHJJ3J600E9aaN6d"_$c(13,10)_
  "QPGSKVJeVKgqSe+fWm17IPvDjlmrenWDXkhJ2jQZY0F7Q9SWJH0+7Y/ZbgYb8J/TkPlXROzg02zR"_$c(13,10)_
  "ZjdzXTqPY7xgQnoB18zWIiOj6XaSrd2Avri5UFELlRCvQ8Q34jzwOmPGh66lFbQN3KrJJJxe8GBi"_$c(13,10)_
  "HT2gRxbeI+dB1rVO1Ol6ZB9onmHER7ManLN6CubdoO199rUrICbe2OwiVuY/Eev0rOPKztlmLHxO"_$c(13,10)_
  "9NzmgeXzTdq8517igcDVm2tpbuURxKSevlUdrbPdTrFGMk9egHjW002xh06zDDdife5lqCOz0O0j"_$c(13,10)_
  "twsqh3HMkClTi+WJDqAT1HOlQYhYhLdd3nAZsUavz/t+nLbQ8nAJbxzSpUAaed5HJY5JOSfGoRzp"_$c(13,10)_
  "UqD2kOdKlQO6U4DJpUqDYaNpcMNsJc8TNzOKsXcpSIqP7dv0pUqAVcTMkpT/AB2pUqVB/9k="))
   d m.AttachStream(stream,"einstein.jpg")
   
   /*
   или вариант 2
   set stream=##class(%FileBinaryStream).%New()
   set stream.Filename="c:\einstein.jpg"
   d m.AttachStream(stream,"einstein.jpg")
   */
   
   #; или вариант 3 $$$ThrowOnError(m.AttachFile("C:","einstein.jpg"))
   
   s part=m.Parts.GetAt(1)
   s part.ContentType="image/jpeg"
   $$$ThrowOnError(part.Headers.SetAt("einstein.jpeg","Content-ID"))
   
   $$$ThrowOnError(smtp.Send(m))
   }catch ex {
   w $system.Status.GetErrorText(ex.AsStatus(),"ru")
 }
По мотивам Блок А.Н.
...
Рейтинг: 0 / 0
Создание файла в памяти и отправка его по email
    #37360346
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял. У класса %Net.MailMessage нет метода AttachStream!
http://docs.intersystems.com/cache20081/csp/documatic/%25CSP.Documatic.cls
...
Рейтинг: 0 / 0
Создание файла в памяти и отправка его по email
    #37360493
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerНе понял. У класса %Net.MailMessage нет метода AttachStream!
http://docs.intersystems.com/cache20081/csp/documatic/%25CSP.Documatic.cls Метод AttachStream появился в версии 2011.1.
Для предыдущих версий нужно будет написать свой метод по аналогии с AttachFile или как заметил DAiMor использовать временный файл .
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Создание файла в памяти и отправка его по email
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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