среда, 25 декабря 2013 г.

Отправка сообщений через telnet

Команда для входа на почтовый сервер:
telnet mail.domain.ru 25
 Trying aaa.bbb.ccc.ddd…
 Connected to mail.domain.ru (aaa.bbb.ccc.ddd).
 Escape character is ‘^]’.
 220 mail.domain.ru ESMTP Sendmail x.y.z/x.y.z; Jan, 10 Jan 2013 10:09:22 +0200
Введите команду приветствия: helo eee.fff.ggg.hhh
 (где eee.fff.ggg.hhh ваш IP-адрес с которого вы запустили telnet)
 250 mail.domain.ru Hello mail.domain.ru [aaa.bbb.ccc.ddd] pleased to meet you
Укажите адрес отправителя (должен быть в том же домене, что и почтовый сервер: domain.ru)
mail from: khlebalin@domain.ru
 250 2.1.0 khlebalin@domain.ru… Sender ok
Укажите адресата (user@gmail.com):
rcpt to: user@gmail.com
 250 2.1.5 khlebalin… Recipient ok
Введите команду data
 354 Enter mail, end with «.» on a line by itself
Subject: тема тестового письма
Текст письма,
 а в конце письма одну точку в строке, чтобы закончить
.
250 2.0.0 x2789MjQ008048 Message accepted for delivery
Введите для выхода
quit

вторник, 3 декабря 2013 г.

Создание письма в агенте на сервере и прикрепление к нему аттача

    Dim memo As NotesDocument
    Set memo = mdb.CreateDocument  
    Set result = memo.CreateMIMEEntity("Body")
    Dim hdr As NotesMIMEHeader
    Set hdr = result.CreateHeader("Subject")
    Call hdr.SetHeaderValAndParams("SUBJ")
    Set hdr = result.CreateHeader("MIME-Version")
    Call hdr.SetHeaderValAndParams(|1.0|)

    Dim tmp1 As NotesMIMEEntity
    Set tmp1 = result.CreateChildEntity( )
    ' text entity, encoding type ENC_NONE
    Dim stream As NotesStream

   Set stream = session.CreateStream
   stream.WriteText {<body>
       <br>
    Уважаемый коллега,
    <br>
       <br>
    Dear colleague,
   
    <br>

    </body>}
   tmp1.SetContentFromText stream, "text/html", ENC_NONE

   Set tmp1 = result.CreateChildEntity( )
   Set hdr = tmp1.CreateHeader("Content-Disposition")
   Call hdr.SetHeaderValAndParams(|attachment; filename=|+ filename$)
   Set stream = session.CreateStream
   stream.Open pathName$+ filename$, "binary"
   Call mime.SetContentFromText(stream,"text/html;charset=windows-1251",ENC_IDENTITY_8BIT)
   tmp1.EncodeContent ENC_BASE64
   Call memo.CloseMIMEEntities(True, "Body")
   
    '===============  
   
   
    memo.Form = "Memo"
    memo.From = "рассылка"  
    memo.SendTo = "123@rambler.com"
    memo.Recipients = "123@rambler.com"
       
    Call memo.Save(True, True)


Ссылка на оригинальную тему форума

понедельник, 25 марта 2013 г.

Рекурсивный перебор документов ответов на родительский документ

'curDoc - Текущий документ
'mainResolution - родительский документ самого верхнего уровня
'Изначально curDoc=mainresolution. Позже при рекурсивных вызовах curDoc меняется на 'дочерний документ. Так как процедура создавалась для резолюций, то и переменные 'называются соответственно childResolution, collResponseResolution и т.д.. Их можно изменить на 'другие названия

Sub SearchChildResolution(curDoc As NotesDocument, mainResolution As NotesDocument)
Dim childResolution As NotesDocument
Dim collResponseResolution As NotesDocumentCollection

Set collResponseResolution = curDoc.Responses
If collResponseResolution.Count=0 Then Exit Sub

Set childResolution = collResponseResolution.GetFirstDocument()

While Not childResolution Is Nothing
If childResolution.Responses.Count<>0 Then SearchChildResolution childResolution, mainResolution

  ' Здесь что-нибудь делаем с дочерним документом childResolution

Set childResolution = collResponseResolution.GetNextDocument(childResolution)
Wend
End Sub