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

Проблема С Отправкой E-mail

16.02.2013, 17:33. Показов 6265. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, исходные... имеется Lotus 8.5, HP Service Desk (черт его знает, какой версии) и агент, посылающий заявки из Лотуса.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Агент, формирующий и отсылающий письма</div></div><div class="sp-body"><div class="sp-content">

Code
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Option Public
Option Declare
Use "ADF_Engine"
Use "ADF_Transport"
 
Sub Initialize
On Error Goto ErrHandler
 
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim pdc As NotesDocumentCollection
Dim fdc As NotesDocumentCollection
Dim view As NotesView
Dim fview As NotesView
Dim pview As NotesView
Dim doc As NotesDocument
Dim pdoc As NotesDocument
Dim memo As NotesDocument
Dim t As String
Dim DirName As String
Dim object As NotesEmbeddedObject
Dim dbFile As NotesDatabase
Dim docFile As NotesDocument
Dim bodyRT As NotesRichTextItem
Dim findfileName As String
Dim vc As NotesDocumentCollection
Dim visaView As NotesView
Dim visadoc As NotesDocument       визы
 
Msgbox "============ Отсылка в HPSD|ToHPSD ==========="
 
Set db = s.CurrentDatabase
Set view = db.GetView("RequestForHPSD")
Set pview = db.GetView("ViewPersonById")
Set dc = view.GetAllDocumentsByKey("1")
If dc.Count = 0 Then
Exit Sub
End If
Set dbFile = New NotesDatabase(db.Server, "Referent\br_f_zayavki.nsf" )
DirName = "d:\Temp\"
Set fview = dbFile.GetView("FilesByAgrUNIDAdd")
Set visaView = db.getView("DBVisasComment")
fview.Refresh
Set doc = dc.GetFirstDocument
 
Msgbox "=" + Cstr(dc.Count)
 
Do Until doc Is Nothyng
Set pdc = pview.GetAllDocumentsByKey(doc.MainProcessID(0))
Set pdoc = pdc.GetFirstDocument
Do Until pdoc Is Nothyng
 
Msgbox " >>> " + pdoc.Executor(0)
 
Set memo = New notesdocument(db)
memo.Subject = Cstr(doc.DocNumber(0)) + "-" + Cstr(pdoc.UniversalID)
 
Set fdc = fview.GetAllDocumentsByKey(doc.MainProcessID(0), True)
прикладываем Сопутствующие
Set bodyRT = memo.GetFirstItem("Body")
If bodyRT Is Nothyng Then Set bodyRT = memo.CreateRichTextItem("Body")
If fdc.Count > 0 Then
Set docFile = fdc.GetFirstDocument()
While Not docFile Is Nothyng
findfileName = ExtractFileToDir(docFile, DirName)
Msgbox findfileName
If findfileName <> "" Then
Set object = bodyRT.EmbedObject(EMBED_ATTACHMENT, "", DirName & findfileName)
Kill DirName & findfileName
End If
Set docFile = fdc.GetNextDocument(docFile)
Wend
End If
 
Ниже формируем текстовую составляющую письма
Call bodyRT.AddNewline(1)
bodyRT.AppendText("Сервис: " + doc.DocName(0) + ";")
Call bodyRT.AddNewline(1)
 
t = "Пользователь: " + pdoc.Executor(0)
If pdoc.ExecutorPost(0) <> "" Then
t = t + ", " + pdoc.ExecutorPost(0)
End If
If pdoc.ExecutorDep(0) <> "" Then
t = t + ", " + pdoc.ExecutorDep(0)
End If
bodyRT.AppendText(t + ";")
Call bodyRT.AddNewline(1)
 
If pdoc.ExecutorEmail(0) <> "" Then
bodyRT.AppendText("e-mail: " + pdoc.ExecutorEmail(0) + ";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.ExecutorPhone(0) <> "" Then
bodyRT.AppendText("Телефон: " + pdoc.ExecutorPhone(0) + ";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.PersonFunction(0) <> "" Then
bodyRT.AppendText("Функции в системе: " + pdoc.PersonFunction(0) + ";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.PersonObject(0) <> "" Then
bodyRT.AppendText("Объекты учета: " + pdoc.PersonObject(0))
If pdoc.Comment(0) <> "" Then
bodyRT.AppendText(" (" + pdoc.Comment(0) + ")")
End If
bodyRT.AppendText(";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.PersonType(0) <> "" Then
bodyRT.AppendText("Тип подключения: " + Replace(Replace(pdoc.PersonType(0), "1", "впервые"), "2", "дополнение функций") + ";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.PersonLogin(0) <> "" Then
bodyRT.AppendText("Логин: " + pdoc.PersonLogin(0) + ";")
Call bodyRT.AddNewline(1)
End If
 
If pdoc.DateEnd(0) <> "" Then
bodyRT.AppendText("Предоставляется до: " + pdoc.DateEnd(0) + ";")
Call bodyRT.AddNewline(1)
End If
 
If doc.HasItem("DocBodyDefault") And doc.DocBodyDefault <> "" Then
bodyRT.AppendText("Комментарий: " + doc.DocBodyDefault + ";")
Call bodyRT.AddNewline(1)
End If
 
получение коллекции виз текущего документа
Set vc = visaView.GetAllDocumentsByKey(doc.MainProcessID, True)
Set visadoc = vc.GetFirstDocument
While Not visadoc Is Nothyng     Цикл по ВИЗАМ в обзоре
If visadoc.ISADD_REV(0) = "1" Then
bodyRT.AppendText("Доп. согласующий " + visadoc.REAL_REV_RUS(0) + ": " + visadoc.Comment(0) + ";")
Else
If visadoc.Comment(0) = "" Then
bodyRT.AppendText("Согласующий " + visadoc.REAL_REV_RUS(0) + "(" + visadoc.DECISION(0) + ");")
Else
bodyRT.AppendText("Согласующий " + visadoc.REAL_REV_RUS(0) + "(" + visadoc.DECISION(0) + "): " + visadoc.Comment(0) + ";")
End If
End If
Call bodyRT.AddNewline(1)
Set visadoc = vc.GetNextDocument(visadoc)
Wend
Call bodyRT.AddNewline(1)
список получателей письма
memo.ReplaceItemValue("SendTo", "Spam_PhoneMasters").IsAuthors = True
memo.ReplaceItemValue("SendTo", "sed@email.ru").IsAuthors = True
 
 
Call memo.Send(False)
 
Msgbox " >>> " + pdoc.Executor(0) + " sended"
 
doc.ToHPSD = "2"
Set pdoc = pdc.GetNextDocument(pdoc)
Loop
If doc.ToHPSD(0) = "2" Then
Call doc.save(True, False)
End If
Set doc = dc.GetNextDocument(doc)
Loop
 
done:
Msgbox "--------------- Отсылка в HPSD|ToHPSD -----------------------"
Exit Sub
ErrHandler:
Msgbox "ERROR Agent Отсылка в HPSD|ToHPSD: " & Error$ & " в строке " & Erl
Resume done
 
End Sub
в итоге письмо-отчет отсылается, но при наличии в письме текста и вложений - в HPSD чаще всего приходят только вложения (без текста).
Как исправить (или хотя бы с чьей стороны проблема)?
Пробовал отсылку на Outlook - приходит и текст, и вложение (собссна, он и используется пока в качестве "костыля").
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2013, 17:33
Ответы с готовыми решениями:

Проблема с before New Mail Arrives агентом
Суть проблемы, есть mail-in Db, в которой есть агент &quot;before new mail arrives&quot; который из письма создает документ. Все работало отлично,...

Определение E-mail для Mail-in базы
Здравствуйте, уважаемые коллеги! Такой вопрос: как лучше определять e-mail текущей базы данных - лезть каждый раз в адресную книжку или...

Mail-in Agent - After New Mail Arrives
Создал mail-in БД на основе почтового шаблона. Создал в ней агента - After new mail arrives, Simple Action - Send newsletter summary. Агент...

3
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
17.02.2013, 11:25
очень не нравится мне эта конструкция doc.DocBodyDefault <> "" - по идее, это рт-поле, и там надо проверять, например, getUnformattedText или хотя б doc.DocBodyDefault(0) - может, на этой строке вылетает Type mismatch - посмотрите лог сервера.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
17.02.2013, 18:28
Форум есть, теперь не нужно платить денег разработчикам. ЗдОрово!
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
18.02.2013, 10:19
Ха! И вас такая же фигня работает :D
У нас были проблемы с кодировками писем в HPSD, поэтому сразу сделали в Lotus Notes формирование письма через MIME, никаких проблем с аттачами обнаружено не было.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2013, 10:19
Помогаю со студенческими работами здесь

Форма с отправкой на E-Mail - PHP
Здравствуйте, кому не сложно помогите сделать форму. Мне нужно простая форма в которой нужно указать &quot;Имя&quot; &quot;E-mail&quot; и...

Формуляр с отправкой e-mail на PHP
Здравствуйте профессионалы PHP, Я начинающий разработчик интернет сайтов и пока владею только базами HTML и CSS. В PHP полный ноль но...

Проблемы с отправкой e-mail с ASP формы
При попытки отправить письмо с ASP формы отправителю приходит сообщение от postmastera - Undeliverable message Код ASP формы стандартный,...

Проблема с отправкой почты
Не могу передать почту в общем,в инете масса тем по этому поводу,но не получается все равно string...

Проблема с отправкой нулей.
Все прекрасно работает, только не отправляет нулевые байты. Помогите чайнику,пожааалуйста!)) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru