Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/181: Рейтинг темы: голосов - 181, средняя оценка - 4.71
1

Отправить письмо в Html виде Lotus

24.08.2009, 15:18. Показов 34196. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу агента - контроль исполнения
который должен отвечать на входящую почту.
подскажите как отправить письмо в html виде???
ответ пишу так


Код
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim tema As String
Set session = New NotesSession
Set db = session.CurrentDatabase
Set docs = db.UnprocessedDocuments
Count = docs.Count
If docs.Count > 0 Then
For n = 1 To docs.Count
Set memo = docs.GetNthDocument(n)
If Not( memo.SentByAgent ) Then
Set reply = memo.CreateReplyMessage( False )
tema = memo.Subject( 0 )
tema = tema + "Hfpyfz ntrcnjde["
reply.Subject = "RE:" & memo.Subject( 0 )
reply.Body = "КАК сюда вставить HTML код"
Call reply.Send( False )
End If
Call session.UpdateProcessedDoc(memo)
Next
End If
End Sub
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2009, 15:18
Ответы с готовыми решениями:

Вставить массив данных в письмо Lotus Script
Есть поле документа Reviewers, которая содержит несколько Фио через запятую Reviewers: Иванов иван...

Отправить письмо скрытому получателю
Вроде правильно объяснил , в теме. Подскажите, пожалуйста.. Составляю письмо. With docMemo...

Отправить письмо нескольким получателям через Com интерфейс
Здравствуйте, пишу небольшой клиентик для лотуса на Дельфи используя COM интерфейс Lotus Notes....

Отправить письмо с приложенным файлом через Ole
Сделал Агента, который отправляет письмо: Dim session As New NotesSession Dim db As NotesDatabase...

11
0 / 0 / 0
Регистрация: 13.03.2008
Сообщений: 234
24.08.2009, 15:24 2
См. в хелпе NotesMIMEEntity
0
25.08.2009, 15:10 3
Агент получился следующий


Код
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim reply As NotesDocument
Dim body As NotesMimeEntity
Dim stream As NotesStream
Dim s1 As String
Dim s2 As String
session.ConvertMime = False  We do want Notes to convert MIME to Rich Text

Set session = New NotesSession
Set db = session.CurrentDatabase
Set docs = db.UnprocessedDocuments

Count = docs.Count

If docs.Count > 0 Then
For n = 1 To docs.Count
Set memo = docs.GetNthDocument(n)
If Not( memo.SentByAgent ) Then
Set reply = memo.CreateReplyMessage( False )
reply.Subject = "Re: e-mail bot " & memo.Subject( 0 )
Call reply.RemoveItem( "Body" )
Set body = reply.CreateMIMEEntity("Body")

Set stream = session.CreateStream

s1 =Chr$(123)
s2 =Chr$(125)

Call stream.WriteText({<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">})
Call stream.WriteText({<html xmlns="http://www.w3.org/1999/xhtml">})
Call stream.WriteText({<head>})
Call stream.WriteText({<title>Отчет запроса - Управление архитектуры и градостроительства.</title>})
Call stream.WriteText({<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />})
Call stream.WriteText({</head>})
css
Call stream.WriteText({<style type="text/css">})
Call stream.WriteText({*}&Chr$(123)&{margin: 0;padding: 0;}&Chr$(125))
Call stream.WriteText({body}&Chr$(123)&{background: #e0f3fa;font-family: Arial, Helvetica, sans-serif;font-size: 12px;line-height: 17px;color: #222;}&Chr$(125))
Call stream.WriteText({#wrap}&Chr$(123)&{margin: 20px auto;width: 700px;}&Chr$(125))
Call stream.WriteText({#header}&Chr$(123)&{height: 70px;background: #99FF33;}&Chr$(125))
Call stream.WriteText({</style>})

Call stream.WriteText({<body>})
Call stream.WriteText({<div id="wrap">})
Call stream.WriteText({<div id="header">})
Call stream.WriteText({<h1>Сервис - Контроль исполнения заявки</h1>})
Call stream.WriteText({<h2>Управление архитектуры и градостроительства мэрии г. Череповца</h2>})
Call stream.WriteText({</div>})
Call stream.WriteText({<div id="content">})
Call stream.WriteText({<div class="right"> })
Call stream.WriteText({<h2><a href="#">Общие данные запроса</a></h2>})
Call stream.WriteText({<div class="articles">})
Call stream.WriteText({<ul>Заявитель:</ul>})
Call stream.WriteText({<ul>Номер заявки:</ul>})
Call stream.WriteText({<ul>Дата заявки:</ul>})
Call stream.WriteText({<ul>Содержание заявки:</ul>})
Call stream.WriteText({</div>})
Call stream.WriteText({<h2><a href="#">Ход исполнения заявки</a></h2>})
Call stream.WriteText({<div class="articles">})
Call stream.WriteText({<ul>Статус документа:</ul>})
Call stream.WriteText({<ul>Дата окончания срока:</ul>})
Call stream.WriteText({<ul>ФИО начальника отдела:</ul>})
Call stream.WriteText({<ul>Контактная информация:</ul>})
Call stream.WriteText({</div>})
Call stream.WriteText({</div>})
Call stream.WriteText({</div>})
Call stream.WriteText({<div id="footer">})
Call stream.WriteText({<a href="http://www.cherinfo.ru/">Lomaet text Управление архитектуры и градостроительства мэрии г. Череповца</a>})
Call stream.WriteText({</div>})
Call stream.WriteText({</div>})
Call stream.WriteText({</body>})
Call stream.WriteText({</html>})
Call body.SetContentFromText _
(stream, "text/html;", ENC_NONE)
Call stream.Truncate

Call reply.Send( False )
End If
Call session.UpdateProcessedDoc(memo)
Next
End If
session.ConvertMime = True   Reset the value
End Sub
Но теперь проблема ломает русский шрифт и не применяет CSS
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
25.08.2009, 15:24 4
Настоятельно рекомендуется (в т.ч. и IBM) вместо конструкций вида

For n = 1 To docs.Count
Set memo = docs.GetNthDocument(n)
...
Next

употр*цензура*ть

Set memo = docs.GetFirstDocument
Do Until memo Is Nothyng
...
set memo = docs.GetNextDocument(memo)
Loop

типа работает быстрее

P.S. Call stream.WriteText({<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />}) - это правильно?
Из справки:
To create a NotesStream object, use the CreateStream method in NotesSession.
When a stream is created, property values are:
...
* Charset is Unicode.
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
25.08.2009, 15:29 5
А конвертация сообщений в MIME самим роутером не подходит?



Цитата Сообщение от НаумовичНиколай
Но теперь проблема ломает русский шрифт и не применяет CSS
Что-то я сомневаюсь что получится сохранить все стили
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
25.08.2009, 15:41 6
Цитата Сообщение от nvy
типа работает быстрее
Не типа, а точно ;)
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
25.08.2009, 15:45 7
Почему быстрее?
0
Tyo
25.08.2009, 15:55 8
НаумовичНиколай
Попробуйте
mime.SetContentFromText stream, "text/html; charset=Windows-1251", ENC_NONE

и неплохо бы добавить

reply.Closemimeentities True
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
25.08.2009, 16:12 9
Цитата Сообщение от NickProstoNick
Почему быстрее?
Потому что методы вида GetNth... реализованы перебором.
Т.е. каждый раз, когда ты просишь в цикле взять i-тый документ из коллекции, указатель бежит по коллекции до i-того документа.
Получается тяжёлый цикл в цикле.
0
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
25.08.2009, 16:34 10
Omh


Т.е. каждый раз, когда ты просишь в цикле взять i-тый документ из коллекции, указатель бежит по коллекции до i-того документа.
не "бежит" а долго в непонятке чешит репу, где-же этот i-тый документ вообще живет ;)
разница в скорости в 10-100 раз :P
не позволяйте указателю думать ;)
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
25.08.2009, 16:45 11
да
0
25.08.2009, 16:54 12
Убрал строчку


Call stream.WriteText({<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />})
и добавил


charset=Windows-1251
и все заработало как надо кроме CSS
Возможно ли вообще использовать CSS ???
25.08.2009, 16:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2009, 16:54
Помогаю со студенческими работами здесь

Представление Lotus-БД в виде диаграмм.
Напишите, пожалуйста, в каком виде можно представить базы данных Lotus, в виде каких диаграмм?...

Создать письмо в Html формтате
Здравствуйте, задача в том чтоб из asp скрипта отправить письмо, как оправить нашёл Set nDoc...

Письмо как Html + аттачмент (MIME)
Здравствуйте All! Немного затупил с отправкой письма. Надо формировать письмо в бэке агентом...

Как Сформировать Письмо С Html И Вложениями Из Другого Документа
Добрый день! Как сформировать в LS письмо, чтобы в теле письма был HTML, а в аттачах - вложения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru