Проблема с пересылкой Mime

Тема в разделе "Lotus - Программирование", создана пользователем 1KIA, 17 сен 2010.

  1. 1KIA

    1KIA Гость

    Есть кнопка, при нажатии на которую, письмо отправляется на эл. почту
    кнопка
    Код (Text):
        Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim collection As NotesDocumentCollection
    Dim workspace As New NotesUIWorkspace

    Set db = session.CurrentDatabase
    Set collection = db.UnprocessedDocuments
    Set doc = collection.GetFirstDocument

    Do Until doc Is Nothing
    Call doc.Send(True,"почта@ua")
    Call doc.RemoveFromFolder("($InBox)")
    Set doc = collection.GetNextDocument(doc)
    Loop
    Call collection.UpdateAll
    Call workspace.ViewRefresh
    Все работает нормально, но есть проблема
    При пересылки писем MIME, выдает сообщение "your current ID does not contain an internet certificate... "
    Нашла undefined
    но хотелось бы знать, можно ли как-то избежать этих сообщений возможно в самом коде?
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    ну наверное в форме, кот. тоже (зачем-то) отправлется, есть подпися...
    д.б.
    Call doc.Send(False,"почта@ua")
    что и написано черным по англицки:
    т.е. ссылку нашли, а прочитать забыли? :)
     
  3. 1KIA

    1KIA Гость

    :)
    спасибо Вам!
     
  4. 1KIA

    1KIA Гость

    не подскажете, необходимо, чтобы не удалялось полностью из базы, а отправлялось в корзину. Если делаю:
    Код (Text):
      Do Until doc Is Nothing
    Call doc.Send()
    Call doc.Remove(True)
    Set doc = collection.GetNextDocument(doc)
    Loop
    Call collection.UpdateAll
    Call workspace.ViewRefresh
    пишет после каждого документа, что он был удален
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    есть Sof Deletation (хэлп)
     
  6. leiba

    leiba Lotus team
    Lotus team

    Регистрация:
    18 июн 2010
    Сообщения:
    47
    Симпатии:
    0
    Вы сначала удаляете документ, а потом по нему получаете следующий.
    Сделайте наоборот
    Код (LotusScript):
    Dim doc1 as NotesDocument
    Do Until doc Is Nothing
    Set doc1 = collection.GetNextDocument(doc)
    Call doc.Send()
    Call doc.Remove(True)
    Set doc = doc1
    Loop
     
  7. 1KIA

    1KIA Гость

    надо чтобы отправлялись письма с урезанной темой письма
    мне не надо первая часть письма
    Код (Text):
    s2="*** "
    s1=doc.GetItemValue("Subject")(0)
    v1 = Strright( s1, s2 )
    Call doc.ReplaceItemValue("Subject", v1)
    но есть проблема, что в оставшейся части письма могут быть "," ; "." ; " "" " и другие знаки
    При наличии каких-либо из перечисленных знаков, письма не отправляются по необходимому адресу
    Помогите, пожалуйста
    если правильно понимаю, то надо
    Код (Text):
    Strleft(Strright(s1, s2), ",")
    но как вместо одной ", " указать несколько знаков?
     
  8. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    v=Evaluate({@SubSet(@Explode(@ReplaceSubstring("} & s1 & {";",":".":"\"";";");";");1)})
    проверьте формулу (предварительно, я мог ошибиться с кол-вом скобок и прочая)
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    можно привести к виду
    Const LEFTFROM={",":".":"\""}
    v=Evaluate({@SubSet(@Explode(@ReplaceSubstring("} & s1 & {";} & LEFTFROM & {;";");";");1)})
     
  10. 1KIA

    1KIA Гость

    lmike
    спасибо
    но вот я тут начала мучаться, чтобы s2 удалять ту часть, а Const LEFTFROM={",":".":"\""}
    заменять на пробел
     
  11. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    ничего не понял...
    надо расширить пробелом - добавьте его в константу
    Const LEFTFROM={",":".":"\"":" "}
     
  12. 1KIA

    1KIA Гость

    не, я хочу, чтобы определенная часть s2 удалялась, а если во второй части письма есть например запятая, то она заменялась пробелом
     
  13. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    ничего не понял про части...
    кто там превая, по какому принципу...
    для замена символов или их наборов - действуте по аналогии с выше-написанным
     
  14. 1KIA

    1KIA Гость

    делаю так:
    Код (Text):
    Do Until doc Is Nothing
    Set doc1 = collection.GetNextDocument(doc)
    s2="*** "
    s1=doc.GetItemValue("Subject")(0)
    v1=Strright( s1, s2 )
    Const LEFTFROM={",":".":"\""}
    v=Evaluate({@SubSet(@Explode(@ReplaceSubstring("} & v1 & {";} & LEFTFROM & {;";");";");1)})
    Call doc.ReplaceItemValue("Subject", v)
    Call doc.Send(False,"поста")
    Set doc = doc1
    Loop
    Call collection.UpdateAll
    Call workspace.ViewRefresh
    письмо вообще никуда не доходит!


    убираю Call doc.ReplaceItemValue("Subject", v)
    отправляется нормально, но с полной темой письма
     
  15. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    вопрос - а куда оно должно доходить? :)
    поля from sendto не указано, и как параметр не передается "кому", может доку прочесть ;):
    константа в цикле - это выглядит (архитектурно) некрасиво
    не отправляется - значит некуда или по ошибке вываливается - отлаживать надо
     
  16. 1KIA

    1KIA Гость

    Код (Text):
        Const LEFTFROM={",":".":"\""}
    Do Until doc Is Nothing
    Set doc1 = collection.GetNextDocument(doc)
    s2="*** "
    s1=doc.GetItemValue("Subject")(0)
    v=Evaluate({@SubSet(@ReplaceSubstring("} & v1 & {";} & LEFTFROM & {;" ");1)})
    Call doc.ReplaceItemValue( "Subject", v )

    doc.SendTo = "эл.адрес" ' указываю адрес куда отправить
    Call doc.Send( False )

    ' или так '   Call doc.Send(False,"эл.адрес") '
    Set doc = doc1
    Loop
    Call collection.UpdateAll
    Call workspace.ViewRefresh
    Не отправляются письма вообще :)
     
  17. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Не забывайте об отладчике и обработчиках ошибок, много пота и крови сэкономите. Какая-нибудь ошибка возвращается?
     
  18. 1KIA

    1KIA Гость

    поменяла адрес на другой интернет адрес - заработало!
     
  19. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Тему помещаем в s1, далее обрабатываем v1:
    Код (LotusScript):
            s1=doc.GetItemValue("Subject")(0)
    v=Evaluate({@SubSet(@ReplaceSubstring("} & v1 & {";} & LEFTFROM & {;" ");1)})
    Так и должно быть?
     
  20. 1KIA

    1KIA Гость

    Код (Text):
            s1=doc.GetItemValue("Subject")(0)
    v1=Strright( s1, s2 )
    просто не нужный кусок удаляеися из письма
     
Загрузка...
Похожие Темы - Проблема пересылкой Mime
  1. Oksana
    Ответов:
    16
    Просмотров:
    7.460
  2. AgniXRudra
    Ответов:
    2
    Просмотров:
    49
  3. Zloikaktus
    Ответов:
    0
    Просмотров:
    27
  4. c0de3r
    Ответов:
    5
    Просмотров:
    151
  5. DobermannTT
    Ответов:
    10
    Просмотров:
    157

Поделиться этой страницей