AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.10.2005, 19:35   #1  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
Отправка почты: ошибка с SysInetMailer
Привет всем.
Пытаюсь автоматом отправить письмо из Аксапты 2.5 с вложением.
Конфигурация у меня одна - outlook.
Но надо бы еще и для outlook express чтоб работало.

Нашел пример с SysInetMailer здесь, но у меня в методе logon вылазит ошибка. (логон постоянно unsuccessful)

Ошибка почтовой службы:
Рег. имя по умолчанию не найдено. Пользователь не может войти в Систему через диал. окно регистрации. Сообщение не послано.

Как это исправить?
Заранее спасибо.


Также нашел пример отправки через Outlook - но при отправке вылазит окошко - он хочет подтверждения отправки.
На mazzy.ru дается ссылка,
http://forum.mazzy.ru/index.php?sho...findpost&p=1666
по которой вроде решили это - там файлик приаттачен, но уже этой страницы нет.
Сергей, не мог бы ты выложить сюда этот архив? Спасибо.

Последний раз редактировалось axapta25Dev; 30.10.2005 в 19:44.
Старый 31.10.2005, 14:13   #2  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Без привязки к почтовой программе:
Код:
   #Mapi
	Mapi		  m	 = new Mapi();
	MapiMessage   msg   = new MapiMessage();
	MapiRecipDesc recip = new MapiRecipDesc();
	;
 
	recip.Name(my@email.ru);					 // Установка получателя
	recip.RecipClass(#MAPI_TO);
	msg.setRecipNo(1,recip);
	msg.subject("Axapta message");
	msg.text("text");
	m.Logon("","",#MAPI_USE_DEFAULT);   // Вход в систему, использующий заданный по умолчанию профиль
	m.SendMail(msg,#MAPI_DIALOG);	   //отправляет c диалогом, и позволяя изменять  Тема, Текст и Получатели в письме.
//	m.SendMail(msg);				  // без диалога
	m.Logoff();
За это сообщение автора поблагодарили: Player1 (1).
Старый 31.10.2005, 15:31   #3  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Если еще и attachments нужно слать, то можно попробовать использовать Dundas Mailer. Довольно вменяемая компонента.
__________________
С уважением,
glibs®
Старый 31.10.2005, 18:58   #4  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
2 mit:
Ну, вообще именно через MAPI ведь и реализован класс SysInetMail
И как раз строка
m.Logon("","",#MAPI_USE_DEFAULT);
в нем - вываливает вышеуказанное сообщение.

Я чего и спрашиваю, как это исправить? что настроить где-то может?
Но проверю именно ваш код, возможно я не прав.

2 glibs:
К сожалению, SysMailer, который использует как раз Dundas Mailer в Axapta 2.5 еще нет. А там написано много в тройке - и переписывать это не представляется возможным.
Старый 31.10.2005, 19:03   #5  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
если 3-хуровневая конфигурация то проверьте, где исполняется код, возможно если на сервере, то на сервере должен быть установлен и настроен майл-клиент
Старый 31.10.2005, 19:06   #6  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
конфигурация двухуровневая. Почтовый клиент есть - Outlook.
Конфигурация по умолчанию - Outlook
При поиске (MAPI в реестре ищет ключ - смотрит эту конфигурацию по умолчанию) находится только Outlook - то есть все Ок.
А потом на _mapi.logon вываливается ошибка.
Что ж это может быть??

P.S. Точнее default в реесте ищет SysInetMail - но не в этом суть.
А в конце, когда уже все возможные логоны он перепробовал, он как раз и пробует логонится с Defalt с пустыми конфигурацией и паролем.

А что это за пароль? Может просто его попробовать ввести?? Где его посмотреть?

Последний раз редактировалось axapta25Dev; 31.10.2005 в 19:09.
Старый 01.11.2005, 09:51   #7  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Вот два метода, оба работающие.

Код:
client void sendMailOutlook()
{
	Com Outlook = new COM("Outlook.Application");
	com Letter = Outlook.CreateItem("");
	Notes text = "Это сообщение было сформированно для тестирования.";
	;
 
	Letter.Subject("Тестовое сообщение");
	Letter.Body(text);
	Letter.To(E@mail.ru);
	Letter.Send();
}
client void sendMailMapi()
{
	#Mapi
	Mapi		 m	 = new Mapi();
	MapiMessage msg = new MapiMessage();
	MapiRecipDesc recip = new MapiRecipDesc();
	Notes text = "Это сообщение было сформированно для тестирования.";
	;
 
	recip.Name(E@mail.ru);					// Установка получатель
	recip.RecipClass(#MAPI_TO);
	msg.setRecipNo(1,recip);
	msg.subject("Тестовое сообщение");
	msg.text(text);
	m.Logon("","",#MAPI_USE_DEFAULT); // Вход в систему, использующий заданный по умолчанию профиль
//		m.SendMail(msg,#MAPI_DIALOG);	 //отправляет c диалогом, и позволяя изменять Тема, Текст и Получатели в письме.
	m.SendMail(msg);				 // без диалога
	m.logoff();
 
}
никаких параметров больше не нужно. оба метода работают на 2.5. при работе с Outlook правда нужно подтверждающее нажатие во всплывающем диалоге. повторюсь, используется профиль активного пользователя. Если на клиенте настроен и работает майл, все уходит со свистом. Если нет, попробуйте с другой машины.

Последний раз редактировалось mit; 01.11.2005 в 10:24.
Старый 01.11.2005, 10:22   #8  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Регистрация: 25.07.2003
Адрес: г. Королёв М.О.
Цитата:
Сообщение от axapta25Dev

Также нашел пример отправки через Outlook - но при отправке вылазит окошко - он хочет подтверждения отправки.
Посмотрите http://www.mapilab.com/ru/outlook/#security_outlook


В Outlook Express надо снять галочку "Предупреждать, если приложения пытаются отправить почту от моего имени" в Сервис - Параметры - Вкладка Безопасность.
В MS Outlook'е что-то не нашёл, но, кажется, тоже должана быть, только более хитро спрятанная
Старый 01.11.2005, 10:32   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от axapta25Dev
А в конце, когда уже все возможные логоны он перепробовал, он как раз и пробует логонится с Defalt с пустыми конфигурацией и паролем.

А что это за пароль? Может просто его попробовать ввести?? Где его посмотреть?
Имя профиля и пароль хранятся в таблице SysINetTable. Для этой таблицы определена форма для простора INetMailSetup, но в моей версии ее нет.
__________________
Axapta v.3.0 sp5 kr2
Старый 01.11.2005, 11:01   #10  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
2 mit: Да, это тот пример с Outlook, что я нашел. Работает и у меня.

А вот через MAPI не хочет упорно.

2 Atani: Спасибо, гляну, может получится убрать окошко.

2AndyD:

Где оно хранится в аксапте, и как его поменять, понятно.
Что я хотел спросить, так это, зачем этот пароль нужен? И что туда ввести на форме SysInetMailSetup?
Старый 01.11.2005, 13:12   #11  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Вообще, в MAPI logon-е может быть отказано, если пользователь в самой системе ущербный в смысле прав. Далее есть пароль на учетную запись, (стоит ли галка запомнить пароль?), Далее сам smtp-relay может быть закрыт пользователем/паролем, это тоже настраивается в учетной записи ("Другие настройки"), надо через все это продираться ....
А когда Вы пользуететь конфигурацией по умолчанию вручную (из-под того же пользователя) почта отсылается? пароль требуется?

С уважением, itfs.
Старый 02.11.2005, 23:41   #12  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
Angry
Наконец добрался до Аксапты, чтобы все проверить.

2Atani:
За ссылку спасибо, програмку скачал, поставил, Outlook ругаться перестал.
Но одно но.
Оказалось, что программа, которая провоцирует отправку, это

C:\WINDOWS\system32\rpcrt4.dll - Remote Procedure Call Runtime

Насколько я знаю, не очень хорошо разрешать доступ постоянный - вирусы могут залезть. Но может я и не прав.

2mit:
Попробовал таки ваш код через mapi
Не работает. Ошибок он не выдает, но и письмо не отправляет. Ошибка собственно та же.

Строка:
Код:
  
m.Logon("","",#MAPI_USE_DEFAULT); // Вход в систему, использующий заданный по умолчанию профиль
функция logon возвращает статус подключения - integer

Так вот у меня возвращается 3, а не 0, как надо.
А три, это (из макроса)
#MAPI_E_LOGON_FAILURE

То есть то сообщение, которое я писал в первом посте.

Хммм. Что же делать??

А про пользователя:
Пользотель один в системе - соответственно, правда админа. Пароля на вход в систему нет. На вход в почту - тоже. Постоянного доступа в интернет нету, dial-up.
Установлен Outlook - через com (Outlook.Application) почта создается нормально, как я уже писал выше.
В аксапте пользователь тоже админ, хотя, это здесь не важно.

2 itfs:
а что вы имеете ввиду под "пользуетесь конфигурацией по умолчанию вручную"?

Кто-то таки может объяснить смысл этого сообщения об ошибке, и как его исправить??
Старый 03.11.2005, 00:44   #13  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от axapta25Dev
...
К сожалению, SysMailer, который использует как раз Dundas Mailer в Axapta 2.5 еще нет. А там написано много в тройке - и переписывать это не представляется возможным.
...
Ну... мне пока еще тяжело судить насколько много там чего в тройке написано.

В общем, я создал проект в 3.0, затолкал в него все класссы, что на SysMailer начинаются, экспортировал проект, импортировал в 2.5. Пришлось лишний раз скомпилироваться почему-то. И почта отправляется. Без шума и пыли, без дурацких диалогов, без подтверждения доступа к адресной книге и без установки Outlook. Минуты три на все ушло (с учетом моего небольшого опыта тыкания по кнопкам в среде разработки).

Вы уже который день мучаетесь. Может попробуете?
__________________
С уважением,
glibs®
Старый 03.11.2005, 21:23   #14  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
SysInetMail проверил на WinXP SP2 в Axapta 3.0 - ошибки нет.

На этой же винде - в Axapta 2.5 - есть.
То есть это не сервис пак, и не винда. А именно версия Аксапты.

А SysMailer заимпортю сегодня, попробую. Просто не знаю SMTP сервера - точнее дома знаю, будет работать (если не учесть ошибку про "Неверный адрес from:"). А вот на клиенте как - вопрос.
Старый 03.11.2005, 21:48   #15  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от axapta25Dev
...
Просто не знаю SMTP сервера
...
Как это? А Outlook у вас как настроен? У вас MS Exchange?

SMTP в SysMailer указывать не обязательно. У меня и так отправляет. Он сам себе SMTP. Правда, долго, т.к. он не отвисает до тех пор, пока не передаст сообщение получателю.

Если вы указываете SMTP, то это сервер-ретранслятор. При использовании локального ретранслятора "зависаний" не будет.

Еще обратите внимание на форму SysEmailParameters. Рекомендую ее тоже перетащить.
Цитата:
Сообщение от axapta25Dev
...
если не учесть ошибку про "Неверный адрес from:").
...
Не должно такого быть. У меня тоже что-то похожее вылазило, но поборол. Не помню, что именно повлияло. Поэкспериментируйте.
Цитата:
Сообщение от axapta25Dev
...
А вот на клиенте как - вопрос.
...
Посмотрите форму SysEmailParameters в 3.0. Я не понимаю, в чем именно проблема. У клиента нет SMTP-сервера?
__________________
С уважением,
glibs®
Старый 06.11.2005, 22:46   #16  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
А кто-нибудь может знает, как задать для письма параметры?
А именно, важность письма и запрос ответа (Требуется ответ)!

Хотелось бы и для MAPI и для COM (Outlook.Application)

Примечание:
У Mapi класса в Аксапте есть метод flags и в макросе есть
#define.MAPI_RECEIPT_REQUESTED(0x00000002)
Но я не особо заметил, чтоб это работало (The Bat!)
А вот похожего на важность что-то нет.

Спасибо всем еще раз за участие

Последний раз редактировалось axapta25Dev; 06.11.2005 в 22:51.
Старый 07.11.2005, 00:18   #17  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Регистрация: 30.10.2005
Покопался в 3.0 - в классе SysOutlookMailItem
Нашел
Код:
//Letter  - непосредственно письмо - com
Letter.importance(2); //устанавливает высокую важность письма.
Letter.ReadReceiptRequested(true); //уведомить о прочтении
Letter.OriginatorDeliveryReportRequested(true); //уведомить о доставке
Но ничего про Запрос ответа на письмо.
И как в MAPI соответственно тоже не знаю.
help!

Последний раз редактировалось axapta25Dev; 07.11.2005 в 00:27.
Старый 10.03.2008, 12:24   #18  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Гы.
Это, кстати, я - axapta25Dev.
От роботодателей скрывался, чтоб не знали, что удаленно еще прогаю

Я уже и забыл, что у меня такой логин есть..
Старый 10.03.2008, 12:31   #19  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Гы... щас Кашперука за серый ник засерят .
__________________
С уважением,
glibs®
Старый 10.03.2008, 16:19   #20  
xenikk is offline
xenikk
Axapta Retail User
Аватар для xenikk
Axapta Retail User
 
30 / 10 (1) +
Регистрация: 20.06.2007
Адрес: Moscow
Уважаемые, а подскажите пожалуйста, если схема 3х уровневая причем клиент работает через citrix на терминальном сервере, то как отправлять почту куда-либо так, чтоб открывалась почтовая программа на клиенте, а не на сервере?
AX 3.0
__________________
Романтик..
Теги
ax2.5

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отправка почты через Outlook... lev DAX: Программирование 9 12.12.2008 13:27
Отправка почты miklenew DAX: Программирование 10 07.09.2008 23:07
CRM:создания действия.ошибка fialka DAX: Программирование 2 23.06.2008 09:45
CRM:отправка почты на Outlook fialka DAX: Функционал 2 17.06.2008 16:09
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:10.