AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 30.10.2005, 19:35   #1  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Join Date: 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
по которой вроде решили это - там файлик приаттачен, но уже этой страницы нет.
Сергей, не мог бы ты выложить сюда этот архив? Спасибо.

Last edited by axapta25Dev; 30.10.2005 at 19:44.
Old 31.10.2005, 14:13   #2  
mit is offline
mit
Участник
mit's Avatar
 
386 / 36 (2) +++
Join Date: 15.01.2003
Location: Moscow
Без привязки к почтовой программе:
Code:
   #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();
This post has been rated by: Player1 (1).
Old 31.10.2005, 15:31   #3  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Join Date: 10.06.2002
Location: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Если еще и attachments нужно слать, то можно попробовать использовать Dundas Mailer. Довольно вменяемая компонента.
__________________
С уважением,
glibs®
Old 31.10.2005, 18:58   #4  
axapta25Dev is offline
axapta25Dev
Участник
 
15 / 10 (1) +
Join Date: 30.10.2005
2 mit:
Ну, вообще именно через MAPI ведь и реализован класс SysInetMail
И как раз строка
m.Logon("","",#MAPI_USE_DEFAULT);
в нем - вываливает вышеуказанное сообщение.

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

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

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

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

Last edited by axapta25Dev; 31.10.2005 at 19:09.
Old 01.11.2005, 09:51   #7  
mit is offline
mit
Участник
mit's Avatar
 
386 / 36 (2) +++
Join Date: 15.01.2003
Location: Moscow
Вот два метода, оба работающие.

Code:
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 правда нужно подтверждающее нажатие во всплывающем диалоге. повторюсь, используется профиль активного пользователя. Если на клиенте настроен и работает майл, все уходит со свистом. Если нет, попробуйте с другой машины.

Last edited by mit; 01.11.2005 at 10:24.
Old 01.11.2005, 10:22   #8  
Atani is offline
Atani
Участник
 
77 / 15 (1) ++
Join Date: 25.07.2003
Location: г. Королёв М.О.
Quote:
Originally Posted by axapta25Dev

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


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

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

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

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

2AndyD:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Отправка почты через 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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 15:39.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.