01.06.2009, 08:33 | #21 |
Участник
|
Помоему в приведенном выше коде как раз CDO и используется, разве нет? Только этот код, насколько я понял, для работы с почтой по SMTP-протоколу. А как изменить его для работы по протоколу MAPI я пока не могу найти. Так что мой вопрос в силе. Правда админы мне обещали для рассылки почты с сервера настроить на его IP, чтобы и по SMTP посылать можно было.
|
|
02.06.2009, 12:58 | #22 |
Участник
|
Извините, но про протокол MAPI я не слышал. Есть IMAP.
Цитата:
MAPI (Messaging Application Programming Interface)
A messaging architecture and a client interface component. As a messaging architecture, MAPI enables multiple applications to interact with multiple messaging systems across a variety of hardware platforms. As a client interface component, MAPI is the complete set of functions and object-oriented interfaces that forms the foundation for the MAPI subsystem's client application and service provider interfaces. In comparison with Simple MAPI, Common Messaging Calls (CMC), and the Active Messaging Library (CDO), MAPI provides the highest performance and greatest degree of control to messaging-based applications and service providers. CDO Microsoft® Collaboration Data Objects A technology for building messaging or collaboration applications. Also called OLE Messaging; in version 1.1 it was called Active Messaging. It is designed to simplify the creation of applications with messaging functionality, or to add messaging functionality to existing applications. CDO is MAPI shell, or in other word, CDO does not represent a new messaging model, but rather an additional scripting interface to the Messaging Application Programming Interface (MAPI) model. |
|
02.06.2009, 16:01 | #23 |
Участник
|
Согласен, я неправильно выразился. Поясню на примере The Bat!
[attachment=1015:Bat_protocols.JPG] Но даже The Bat не может подключатсья к Exchange'у пока не установишь Outlook. Правда потом Outlook можно удалить. Кстати, насчет JMail.dll. В 5 версии Navision появилась собственная dll. Вот цитата: Цитата:
This procedure explains how to run SMTP component from NAV 5.0 in older versions. This was tested in Navision 4.0 SP3. Not all countries had NAV 5.0 a localized release.
If you don’t want this manual procedure of registering components you could also install NAV 5.0 client in same computer you are running NAV 4.0 SP3. Manual Procedure: 1 – Copy ”Microsoft.Navision.Mail.dll” and ”Microsoft.Navision.Mail.tlb” from NAV 5.0 installation CD to NAV 4.0 client folder. 2 – You need to run regasmexe. This tool is located in ”C:\Program Files\Tools;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”. When you run this tool you could add it to windows path or insert full path when running. 3 – In Navision client folder execute regasm Microsoft.Navision.Mail.dll /tlb:Microsoft.Navision.Mail.tlb 4 – Export fowling objects from NAV 5.0 to NAV 4.0 Form – 409 SMTP Mail Setup Codeunit – 400 - SMTP Mail Table – 409 - SMTP Mail Setup Now you can use codeunit SMTP Mail to send e-mails instead of using 3rd party components or writing new one in .NET Кто-нибудь пользовался этим 400СU? Я с помощью гугля не смог пока найти руководства по использованию. |
|
02.06.2009, 16:40 | #24 |
MCTS
|
Цитата:
Сообщение от VasVovec
У нас используется 5 клиент, но на базу изменения из 5 не накатывали еще. Поэтому я взял из демонстрационной базы от 5 Navision'а 3 перечисленных объекта и импортировал их в свою базу.
Кто-нибудь пользовался этим 400СU? Я с помощью гугля не смог пока найти руководства по использованию. Developer toolkit по NAV5. Отправка на мыло |
|
02.06.2009, 16:45 | #25 |
Участник
|
Вариант конечно. Сделать еще одну базу из объектов демонстрационной базы 5 версии и поглядеть, где используется этот 400CU? Я просто думал что где-то есть официальный мануал пусть и на английском где описывается использование этой dll-ки.
|
|
02.06.2009, 16:49 | #26 |
MCTS
|
Цитата:
Заполняем настройки - smtp сервер (это таблица/форма). Далее пишем такой код в нужном месте: cumail.CreateMessage('Ivanov Ivan','ivanov@domen.ru','receiver@email.ru','Hello - тема','Body - тело письма',FALSE); cumail.Send; |
|
03.06.2009, 14:28 | #27 |
Участник
|
Цитата:
cumail.CreateMessage('Ivanov Ivan','ivanov@domen.ru','receiver@email.ru','Hello - тема','Body - тело письма',FALSE);
cumail.Send; Вот кстати нашел хорошую статью, с описанием параметров: Объектная модель CDO Там сначала описывается Microsoft CDO for Exchange 2000 Library, а потом идет такой текст (кстати к дискуссии о протоколах): Цитата:
К сожалению, эта библиотека работает только с протоколом SMTP и каталогом Pickup на диске. Она не умеет работать ни с протоколом POP3, ни с IMAP4, ни с MAPI, а, значит, подключиться к почтовому серверу и проверить на нем появление новых сообщений (как в нашем примере с Outlook) мы не сможем. Придется использовать другую библиотеку из набора CDO — Microsoft CDO 1.21 Library. Она умеет работать только с MAPI (читайте — Exchange Server), зато она умеет выполнять различные операции в почтовом ящике на Exchange Server без всяких предупреждающих сообщений.
|
|
04.08.2011, 22:20 | #28 |
Участник
|
Доброго времени суток. Подниму темку. Во время прошлых обсуждений отправку почты я реализовал через jmail.dll. Разобрался с кодировками в теме письма и в теле письма (Mail.Charset := 'windows-1251' к слову). Но теперь возникла необходимость прикладывать к письму атачменты. Прикладываться то они прикладываются, но в названии файла вместо русских букв кракозябры. С помощью просмотра кода письма (The Bat, клавиша F9) и http://2cyr.com/decode/?lang=ru я выяснил, что получается так:
1. Я передаю при вызове метода AddCustomAttachment название файла (оно передается в кодировке CP1251), 2. но код в этой библиотеке воспринимает этот текст, думая что он в кодировке CP1252 (в ней русских букв нету) 3. этот текст он преобразовывает в utf8 и пишет закодировав в Base64 в заголовки, отвечающие за атач. Погуглив, я выяснил что в Windows у некоторых программ такое встречается. Даже в Navision если скопировать пару строк из таблицы при включенной англиской раскладке и потом попытаться их вставить в Excel или блокнот, то вместо русских букв получим кракозябры. Это лечится изменением ключа реестра HKEY_LOCAL_MACHINE -> system -> CurrentControlSet -> Control -> Nls -> CodePage -> 1252 c с_1252.nls на с_1251.nls и перезагрузкой. Но копирование из навижена стало теперь всегда работать правильно, а проблема с русскими буквами в атаче так и не решилась. Кому-нибудь удалось это побороть? |
|