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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2007, 17:32   #1  
lyolea84 is offline
lyolea84
Участник
Аватар для lyolea84
 
27 / 10 (1) +
Регистрация: 12.10.2007
E-mails из DAX4
Help, please!

Мне необходимо отправить мэил. Я написала следующий код:
X++:
   SysMailer mail;
;
    mail = new SysMailer();
    //mail.SMTPRelayServer("smtp.gmail.com");
    mail.SMTPRelayServer("smtp.gmail.com",465,"email","password",false);
    mail.fromAddress("email");
    mail.tos().clear();
    mail.tos().appendAddress("emai]");
    // Build the Message
    mail.htmlBody(strfmt("Hey"));
    mail.subject(strfmt("Test"));
    mail.sendMail();
но у меня выбивает ошибку:

Цитата:
Message (16:27:26)
Method 'send' in COM object of class 'CDO.Message' returned error code 0x80040213 (<unknown>) which means: The transport failed to connect to the server.

Последний раз редактировалось lyolea84; 05.12.2007 в 17:36.
Старый 05.12.2007, 17:49   #2  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Mozhet eto pomozhet primer
Старый 05.12.2007, 19:10   #3  
lyolea84 is offline
lyolea84
Участник
Аватар для lyolea84
 
27 / 10 (1) +
Регистрация: 12.10.2007
Цитата:
Сообщение от Link Посмотреть сообщение
Mozhet eto pomozhet primer
Всё равно выбивает таже ошибка

Последний раз редактировалось lyolea84; 05.12.2007 в 19:16.
Старый 05.12.2007, 20:49   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
проверьте
Ping smtp.gmail.com
и
telnet smtp.gmail.com 25
Старый 05.12.2007, 23:02   #5  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Цитата:
Сообщение от raz Посмотреть сообщение
telnet smtp.gmail.com 25
GMail использует защищенное соединение на 465 порту

2 lyolea84 В вашем примере нет указания использовать защищенное соединение. GMail не возьмет от вашего почтового клиента почту открыттым текстом

Вот пример как отправить почту через CDO
Код:
MailMessage mailMessage = new MailMessage();
mailMessage.To = "name@domain.com";
mailMessage.From = "name@domain.com";
mailMessage.Subject = "Message subject";
mailMessage.Body = "Message text";
SmtpMail.SmtpServer = "smtp.gmail.com";
mailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1); 
mailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
mailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password");
mailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
mailMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", true);
SmtpMail.Send(mailMessage)

И еще, InteropPermission(InteropKind::ComInterop) используете в коде?
Старый 06.12.2007, 10:48   #6  
lyolea84 is offline
lyolea84
Участник
Аватар для lyolea84
 
27 / 10 (1) +
Регистрация: 12.10.2007
Извените, но я не могу найти в Axapte MailMessage и SmtpMail классы

Цитата:
И еще, InteropPermission(InteropKind::ComInterop) используете в коде?
я использую
Старый 06.12.2007, 11:52   #7  
lyolea84 is offline
lyolea84
Участник
Аватар для lyolea84
 
27 / 10 (1) +
Регистрация: 12.10.2007
При следующем коде выбивает другая ошибка :

X++:
InteropPermission comPermission = new InteropPermission(InteropKind::ComInterop);
    SysMailer mail;
;
 
    comPermission.assert();
    mail = new SysMailer();
    mail.tos().appendAddress("[EMAIL="name@rambler.ru"]name@rambler.ru[/EMAIL]");
    mail.fromAddress("name@gmail.com");
    mail.subject(strfmt("Test"));
    mail.htmlBody(strfmt("Hey"));
    mail.SMTPRelayServer("smtp.gmail.com");
    mail.Fields().Add([URL]http://schemas.microsoft.com/cdo/configuration/smtpauthenticate[/URL], 1);
    mail.Fields().Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "user");
    mail.Fields().Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password");
    mail.Fields().Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 465);
    mail.Fields().Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", true);
    mail.sendMail();
    CodeAccessPermission::revertAssert();
Ошибка:
Цитата:
Message (10:45:47)
Method 'send' in COM object of class 'CDO.Message' returned error code 0x8004020E (<unknown>) which means: <unknown>.

Последний раз редактировалось lyolea84; 06.12.2007 в 11:54.
Старый 06.12.2007, 15:04   #8  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Мне кажется, что на Gmail закрыт relation. Поэтому отсылка почты от аккаунта gmail без предварительной аутентификации на сервере не пройдет.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 06.12.2007, 15:55   #9  
fomenka is offline
fomenka
Участник
 
97 / 14 (1) ++
Регистрация: 25.02.2003
Цитата:
Сообщение от lyolea84 Посмотреть сообщение
Извените, но я не могу найти в Axapte MailMessage и SmtpMail классы
Это классы из объектной модели CDO. Извените, что не пояснил. Поддерживает ли SysMailer, как обертка над CDO, в полной мере все возможности - не могу сейчас проверить. Но приведенный код отлично отправляет почту через gmail. Как правильно заметил KiselevSA, чтобы отправить почту через gmail нужно иметь там аккаунт. Но у вас он есть. Так что причина не в этом.

PS Стесняюсь спросить, логин и пароль вбивали вместо user и password?

PPS Вам бы server response получить, gmail довольно внятно отвечает почему он не хочет отправлять почту.

Последний раз редактировалось fomenka; 06.12.2007 в 16:08.
Старый 06.12.2007, 16:39   #10  
lyolea84 is offline
lyolea84
Участник
Аватар для lyolea84
 
27 / 10 (1) +
Регистрация: 12.10.2007
Цитата:
Сообщение от fomenka Посмотреть сообщение
PS Стесняюсь спросить, логин и пароль вбивали вместо user и password?
Конечно

Цитата:
Сообщение от fomenka Посмотреть сообщение
PPS Вам бы server response получить, gmail довольно внятно отвечает почему он не хочет отправлять почту
А как?
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Запуск AOS DAX4 в качестве консольного приложения gl00mie DAX: Администрирование 12 05.11.2021 22:10
Туплю... DAX4 debug vvk DAX: Программирование 9 16.12.2008 10:04
Отправка отчёта из DAX4 lyolea84 DAX: Программирование 4 10.03.2008 13:14
Не пускайте программистов в рабочее приложение! Или почему еще надо переходить на DAX4 gl00mie DAX: База знаний и проекты 1 12.11.2007 11:46
gl00mie: Run DAX4 AOS as a console application Blog bot DAX Blogs 0 31.10.2007 05:34

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

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

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