otyxkopustym
|
||||||
1 | ||||||
Отправка писем с форматированием из базы Lotus на внешнюю почту10.11.2010, 10:23. Просмотров 19393. Ответов 5
Метки нет Все метки)
(
Коллеги доброе время суток.
возможно повторюсь и подобное обсуждение было на форуме но прочел все и не нашел проблемка вот в чем есть лотусовая база - которая предназначеня для отправки писем из лотуса на внешние ящики отлично все работает за исключением того что текст письма идет без форматирования. пропадает шрифт, разбивается таблица (вернее подставляется тире ----- и т.д.) в итоге приходящее письмо представляет из себя только текст. вот примерно такой ____________________________________________________________ ___ gdfgfdgfdgkljdfo gjoidfgijdf dfpgjkopfdopgifd |------------------------------------+------------------------------------| |jhk |hjk | |------------------------------------+------------------------------------| |hk |hjk | |------------------------------------+------------------------------------| ____________________________________________________________ ____ вот код на кнопку которая производит данную отправку может поправите чуток заранее спасибо
|
|
10.11.2010, 10:23 | |
Отправка писем на почту Не рабтает отправка писем на почту Не работает отправка писем на почту |
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
10.11.2010, 10:29 | 2 |
Есть настройка в неймс.нсф конвертации исходящих писем, там есть вариант From Notes to Plain Text. мб, это виновато?
(Server\Configuration) Configuration Settings закладка MIME - Conversion Options - Outbound Outbound Conversion Options Message content: from Notes to Plain Text
0
|
otyxkopustym
|
|
10.11.2010, 18:02 | 3 |
![]() да действительно нашел настройку MIME - Параметры преобразования - Исходящие - Содержимое сообщения: было установлено : Преобразовать из формата Notes в формат сообщений Интернета заменил на : Создать смешанный вариант включая преобразование и инкапсуляцию (ДРУГОГО НЕ БЫЛО) Отправил сообщение пришло без изменения форматирования жирный шрифт, таблица все хорошо НО присоединился файл к каждому из сообщений : encap2.ond размером 300 kb как от него избавиться не могу понять |
otyxkopustym
|
|
11.11.2010, 11:23 | 4 |
посоветовали сделать вот так
через MIME memo - документ письма, stream - объект NotesStream, содержащий html-код Set mime=memo.createMIMEEntity("Body") Call mime.setContentFromText(stream,"text/html;charset=windows-1251",ENC_IDENTITY_8BIT) Call memo.CloseMIMEEntities(True,"Body") решение вроде классное но я с mime не работал и врядли смогу сам реализовать. я понимаю что наглость, но может кто допишит код через mime, я его прикручу к базе и базу целиком выложу на сайт в библиотеку решений (зачем последователям изобретать велосипед, каждый просто под себя подкрутит) очень прошу.... |
0 / 0 / 0
Регистрация: 12.10.2007
Сообщений: 522
|
|
12.11.2010, 16:37 | 5 |
попробуй так
Код
Dim s As New NotesSession Dim db As NotesDatabase Dim mime As NotesMIMEEntity Dim memo As NotesDocument Set db=s.CurrentDatabase Set memo = db.CreateDocument Set result = memo.CreateMIMEEntity("Body") Dim hdr As NotesMIMEHeader Set hdr = result.CreateHeader("MIME-Version") Call hdr.SetHeaderValAndParams(|1.0|) Set mime = result.CreateChildEntity( ) Dim stream As NotesStream Set stream = s.CreateStream s.ConvertMIME = False Restore conversion stream.WriteText {<body>Тут пишем html-текст</body>} mime.SetContentFromText stream, "text/html; charset=Windows-1251", ENC_IDENTITY_8BIT приаттачивание файлов Set rtdoc=doc.GetFirstItem("Files") If ( rtdoc.Type = RICHTEXT ) Then If Not Isempty(rtdoc.EmbeddedObjects) Then Set mime = result.CreateChildEntity( ) Forall object In rtdoc.EmbeddedObjects If (object.Type = EMBED_ATTACHMENT ) Then filepath =Environ("Temp")+"\"+Cstr(Object.Name) Call object.ExtractFile(filepath) tmpSource=Object.Source i=i+1 NameSource: If i=0 Then Redym Preserve filenames(0) filenames(0)=Object.Source Else For j=0 To Ubound(filenames) If filenames(j)=tmpSource Then tmpSource=Strleft(Object.Source,".")+Cstr(n)+"."+Strright(Object.Source,".") n=n+1 Goto NameSource End If Next tmpSource=Strleft(Object.Source,".")+"_"+Cstr(n-1)+"."+Strright(Object.Source,".") Redym Preserve filenames(Ubound(filenames)+1) filenames(Ubound(filenames))=tmpSource End If tmp=Evaluate({@ReplaceSubstring(@URLEncode("UTF-8";"}+Cstr(tmpSource)+{");"%";"=")}) filename="=?utf-8?Q?"+tmp(0)+"?=" Set mime = result.CreateChildEntity( ) Set hdr = mime.CreateHeader("Content-Disposition") Call hdr.SetHeaderValAndParams(|attachment; filename="|+filename+|"|) Set hdr = mime.createHeader("Content-ID") Call hdr.setHeaderVal(filename) Set stream = s.CreateStream stream.Open filepath, "binary" mime.SetContentFromBytes stream, |application/octet-stream; name="|+filename+|"|, ENC_BINARY mime.EncodeContent ENC_BASE64 Kill filepath End If End Forall End If End If Call memo.CloseMIMEEntities(True, "Body") memo.SendTo ="Кому " memo.Principal="От кого" memo.INetFrom="От кого" memo.Subject = "Тема" Call memo.Send(False) s.ConvertMIME = True Restore conversion
0
|
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
|
|
14.11.2010, 15:06 | 6 |
А отправлять в HTML формате ?
0
|
14.11.2010, 15:06 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Отправка писем через Lotus Notes Отправка писем на почту через сайт Отправка писем о заказе на почту клиенту Отправка писем с вложениями на почту без "костылей" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |