|
|
#1 |
|
Участник
|
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. |
|
|
|
|
#2 |
|
Британский учённый
|
Mozhet eto pomozhet primer
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от Link
Mozhet eto pomozhet primer
Последний раз редактировалось lyolea84; 05.12.2007 в 19:16. |
|
|
|
|
#4 |
|
NavAx
|
проверьте
Ping smtp.gmail.com и telnet smtp.gmail.com 25 |
|
|
|
|
#5 |
|
Участник
|
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) используете в коде? |
|
|
|
|
#6 |
|
Участник
|
Извените, но я не могу найти в Axapte MailMessage и SmtpMail классы
Цитата:
И еще, InteropPermission(InteropKind::ComInterop) используете в коде?
|
|
|
|
|
#7 |
|
Участник
|
При следующем коде выбивает другая ошибка :
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. |
|
|
|
|
#8 |
|
Злыдни
|
Мне кажется, что на Gmail закрыт relation. Поэтому отсылка почты от аккаунта gmail без предварительной аутентификации на сервере не пройдет.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
|
|
|
#9 |
|
Участник
|
Это классы из объектной модели CDO. Извените, что не пояснил. Поддерживает ли SysMailer, как обертка над CDO, в полной мере все возможности - не могу сейчас проверить. Но приведенный код отлично отправляет почту через gmail. Как правильно заметил KiselevSA, чтобы отправить почту через gmail нужно иметь там аккаунт. Но у вас он есть. Так что причина не в этом.
PS Стесняюсь спросить, логин и пароль вбивали вместо user и password? PPS Вам бы server response получить, gmail довольно внятно отвечает почему он не хочет отправлять почту. Последний раз редактировалось fomenka; 06.12.2007 в 16:08. |
|
|
|
|
#10 |
|
Участник
|
|
|
|