powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Создание сообщения в Lotus на C#
6 сообщений из 6, страница 1 из 1
Создание сообщения в Lotus на C#
    #38186290
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вопрос следующий
создаю письмо на C#

Код: c#
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.
 static private void SendMessage(string SendTo, string name, string Subj, string Text)
        {
            Domino.NotesSession session = new Domino.NotesSession();
            
            session.Initialize(Password)

            var db = session.GetDatabase("", "mail/yachik");

            if (!db.IsOpen)
            {
                db.Open();
            }
            var cd = db.AllDocuments;
            var doc = db.CreateDocument();
            doc.AppendItemValue("Form", "Memo");

            SendTo = name + "<" + SendTo + ">";

            doc.ReplaceItemValue("SendTo", SendTo);
                            
            doc.AppendItemValue("Subject", Subj);

            NotesRichTextItem _richTextItem = doc.CreateRichTextItem("Body");

            _richTextItem.AppendText(Text);

            var oItemValue = doc.GetItemValue("SendTo");
            
            doc.SaveMessageOnSend = true;
            
            doc.Send(false, ref oItemValue);
        }



все устраивает кроме одного
если делать так
Код: c#
1.
session.Initialize(Password)


то нужно передавать пароль но пока не передал пароль, не видно к какой учетной записи нужно передать пароль.
если сделать так
Код: c#
1.
session.Initialize()

вроде все проходит но нужно пароль набирать каждый раз при отправке письма.

До этого все делал VBA там все это без особых замороче если почта закрыта открывается запрос на ввод пароля и все

Код: vbnet
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.
Public Sub sendEmail(EMailSendTo As String, EmailSubject As String, EMailBody As String)

    Dim objNotesSession As Object
    Dim objNotesMailFile As Object
    Dim objNotesDocument As Object
    Dim objNotesField As Object
    Dim sendmail As Boolean

    Dim dbString As String

 
On Error GoTo SendMailError
    Set objNotesSession = CreateObject("Notes.NotesSession")
On Error Resume Next
    
    dbString = objNotesSession.GetEnvironmentString("MailFile", True)
    Set objNotesMailFile = objNotesSession.GETDATABASE(MailServer, dbString)
    'Open Mail
    objNotesMailFile.OPENMAIL
  On Error GoTo 0

    'Create New Memo
    Set objNotesDocument = objNotesMailFile.createdocument

    Dim oWorkSpace As Object, oUIdoc As Object
    Set oWorkSpace = CreateObject("Notes.NotesUIWorkspace")
    Set oUIdoc = oWorkSpace.CurrentDocument
    
    'Create 'Subject Field'
    Set objNotesField = objNotesDocument.APPENDITEMVALUE("Subject", EmailSubject)

    'Create 'Send To' Field
    Set objNotesField = objNotesDocument.APPENDITEMVALUE("SendTo", EMailSendTo)


    'Create 'Blind Copy To' Field
    Set objNotesField = objNotesDocument.APPENDITEMVALUE("Subject", EmailSubject)

    'Create 'Body' of memo
    Set objNotesField = objNotesDocument.CREATERICHTEXTITEM("Body")

    With objNotesField
        .APPENDTEXT EMailBody
        .ADDNEWLINE 1
    End With

    'Send the e-mail

    Call objNotesDocument.Save(True, False, False)
    objNotesDocument.SaveMessageOnSend = True
    'objNotesDocument.Save
    objNotesDocument.Send (0)

    'Release storage
    Set objNotesSession = Nothing
    Set objNotesMailFile = Nothing
    Set objNotesDocument = Nothing
    Set objNotesField = Nothing

    'Set return code
    sendmail = True

    Exit Sub

SendMailError:
    Dim Msg
    Msg = "Error # " & Str(Err.Number) & " was generated by " _
                & Err.Source & Chr(13) & Err.Description
    MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
    sendmail = False
End Sub




есть у когонибудь идеи на этот счет.
...
Рейтинг: 0 / 0
Создание сообщения в Lotus на C#
    #38188731
Chumakov_JA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам докопался до истинны
может комуто понадобиться
следующие строки

Chumakov_JA
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            
            session.Initialize(Password)

            var db = session.GetDatabase("", "mail/yachik");

            if (!db.IsOpen)
            {
                db.Open();
            }
            var cd = db.AllDocuments;
            var doc = db.CreateDocument();
 




нужно заменить
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
             session.Initialize();
            NotesDbDirectory dir = session.GetDbDirectory("Local");
            NotesDatabase db = dir.OpenMailDatabase();

            if (!db.IsOpen)
            {
                db.Open();
            }
            var cd = db.AllDocuments;
            var doc = db.CreateDocument();



после этого при открытой Lotus уже повторно пароль не запрашивается.
...
Рейтинг: 0 / 0
Создание сообщения в Lotus на C#
    #38188738
susinmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Вы по UserID сможете определить пароль, то получайте notes.ini, и пробуйте смотреть переменные, например:
KeyFileName_Owner=CN=Maxim N Susin/OU=.../O=...
MailFile=mail\MaximSusin.nsf
анализировать и передавать нужный пароль.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Создание сообщения в Lotus на C#
    #38600000
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
susinmn,

Доброго дня господа !
Наткнулся на аналогичную проблему - отсылка сообщений по Лотусу

1.Как НЕ визуализировать приложение в момент отправки сообщения
2.Как закрыть сессию после отправки сообщения ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
MsgBox "Create"
Set objLotusApp = CreateObject("notes.notesSession")
objLotusApp.Visible = False !!!!!!!!!
Set objDb       = objLotusApp.getDatabase(objLotusApp.GetEnvironmentString("mailserver", True), objLotusApp.GetEnvironmentString("MailFile", True))
MsgBox "Close"
objDb.Close
objLotusApp.Close !!!!!!!!!
MsgBox "Nothing"
Set objDb       = Nothing
Set objLotusApp = Nothing                                                                              
MsgBox "Quit "



Подскажите пожалуйста
...
Рейтинг: 0 / 0
Создание сообщения в Lotus на C#
    #38600546
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Господа - никто не знает ?
...
Рейтинг: 0 / 0
Создание сообщения в Lotus на C#
    #38616065
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

1. В вашем коде не видно вызова функции или процедуры отправки e-mail.
2. Непонятно в какой момент у вас визуализируется Lotus Notes. Указали бы на строку в коде.
3. Что бы просто отправить e-mail Lotus Notes вообще необязателен. Для этого достаточно воспользоваться протоколом SMTP.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Создание сообщения в Lotus на C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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