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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.07.2009, 12:48   #1  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Метод "SendMail" в COM-объекте класса "Dundas.mailer" возвратил код ошибки 0x80004005 (E_FAIL), который означает: The RCPT command failed. The specified account does not exist.
Цитата:
"Метод "SendMail" в COM-объекте класса "Dundas.mailer" возвратил код ошибки 0x80004005 (E_FAIL), который означает: The RCPT command failed. The specified account does not exsist."
- именно так ругается SMTP протокол , когда я пытаюсь выслать письмо на несуществующий адрес мыла.

письма я рассылаю в цикле на разные адреса
как мне избежать остановки рассылки остальных писем при вылете этой ошибки?

+ желательно по вылету этой ошибки выводить юзеру сообщение , что "на такой то адрес письмо не отправилось" - нормальным юзерским языком.

Спасибо
Старый 10.07.2009, 13:02   #2  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
X++:
    try
    {
        mailer.sendMail();
    }
    catch (Exception::Error)
    {
        warning(strFmt("Письмо по адресу '%1' не отправлено!", Email));
    }
    catch (Exception::Internal)
    {
    }
а так?
__________________
Становись лучше
Старый 10.07.2009, 13:16   #3  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
спасибо, все верно. я сам напортачил )
после исправления кое-каких своих косяков ошибка стала ловиться
подскажите, как мне идентифицировать вылетающую ошибку, чтоб сообщение на юзерском языке выводилось только при возникновении именно этой ошибки
Цитата:
"Метод "SendMail" в COM-объекте класса "Dundas.mailer" возвратил код ошибки 0x80004005 (E_FAIL), который означает: The RCPT command failed. The specified account does not exsist."
я так понял, текст этой ошибки нельзя как-то изменить , не ковыряясь в InfoLog ?
Старый 10.07.2009, 16:08   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Андрей К. Посмотреть сообщение
я так понял, текст этой ошибки нельзя как-то изменить , не ковыряясь в InfoLog ?
Нет, нельзя, но можно просто "выкусить" сообщение и написать свое:
X++:
int line;
;
// ...
try
{
    line = infolog.line();  // запоминаем, сколько было сообщений до отправки почты
    mailer.sendMail();
}
catch (Exception::Error)
{
    infolog.cut(line + 1);  // удаляем сообщения, возникшие внутри кода sendMail()
    warning(strFmt("Письмо по адресу '%1' не отправлено!", Email));
}
Теги
com-объект

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dundas.mailer-код ошибки 0x80020009 donMigel DAX: Прочие вопросы 4 06.10.2010 10:28
Метод 'SendMail' в COM-объекте класса 'Dundas.mailer' возвратил код ошибки 0x80004005 (E_FAIL), который означает: The HELLO command failed. Andrew Akhmetov DAX: Программирование 4 09.04.2008 13:24
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

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