|  08.04.2008, 20:18 | #1 | 
| Участник | Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed. X++: static void Job59(Args _args) { SysMailer mailer = new SysMailer(); ; mailer.SMTPRelayServers().add("post",25, "post", "a.akhmetov", "pass"); mailer.fromAddress("[EMAIL="zbg1@somehost.ru"]zbg1@somehost.ru[/EMAIL]"); mailer.fromName("name"); mailer.subject("test"); mailer.tos().add([EMAIL="zbg@mail.ru"]zbg@mail.ru[/EMAIL]); mailer.htmlbody("1111111"); mailer.sendMail(); } Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed. на форуме уже пытались решать проблему но так видимо и не решили. Заранее спасибо | 
|  | 
|  08.04.2008, 22:50 | #2 | 
| Участник | 
			
			На каком именно форуме? при чем тут вообще Аксапта? Указанная ошибка говорит о том, что TCP-соединение успешно устанавливается, но возникает ошибка на уровне протокола SMTP. С командной HELLO (точнее, HELO) SMTP-клиент передает свое DNS-имя. Некоторые SMTP-сервера настроены так, что они через RDNS проверяют, соответствует ли указанное имя IP-адресу, с которого соединяется клиент, и если не соответствует, - завершают соединение. Чтобы убедиться в этом, поставьте какой-нить Network Monitor, получите сетевой трафик, отфильтруйте по 25-му порту и посмотрите, что именно отвечает SMTP-сервер - уверен, его ответ будет куда информативнее, чем приведенное сообщение об ошибке. Заодно узнаете, как именно "представляется" SMTP-серверу ваш Dundas.mailer.
		 Последний раз редактировалось gl00mie; 08.04.2008 в 22:52. | 
|  | 
|  09.04.2008, 11:49 | #3 | 
| Участник | 
			
			Спасибо
		 | 
|  | 
|  09.04.2008, 12:57 | #4 | 
| Участник | Цитата: 
		
			Сообщение от Andrew Akhmetov
			   X++: static void Job59(Args _args) { SysMailer mailer = new SysMailer(); ; mailer.SMTPRelayServers().add("post",25, "post", "a.akhmetov", "pass"); mailer.fromAddress("[EMAIL="zbg1@somehost.ru"]zbg1@somehost.ru[/EMAIL]"); mailer.fromName("name"); mailer.subject("test"); mailer.tos().add([EMAIL="zbg@mail.ru"]zbg@mail.ru[/EMAIL]); mailer.htmlbody("1111111"); mailer.sendMail(); } Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed. на форуме уже пытались решать проблему но так видимо и не решили. Заранее спасибо | 
|  | 
|  09.04.2008, 13:24 | #5 | 
| Участник | 
			
			SysMailer вроде создает экземпляр COM-объекта класса 'Dundas.mailer' в методе new(). Если бы dll-ка была незарегистрирована, ошибка вылезла бы в самом начале job'а, а не при попытке вызова метода sendMail()
		 | 
|  |