Не удалось отправить сообщение на smtp сервер код ошибки транспорта 0x80040217 отклик сервера not available

I am trying to send Email But I am getting this Error. The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available any one h...

I am trying to send Email

But I am getting this Error.

The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available

any one having any idea about it please Help me

asked Feb 6, 2012 at 7:52

Smily's user avatar

3

Discovered that you can also get this error when Gmail’s security settings don’t allow messages to be sent from the address you intend to use. I had to enable access for less secure apps for my account in question by:

  1. Logging into the address you want to use for sending email from Excel.
  2. Visit the page https://www.google.com/settings/security/lesssecureapps
  3. Click Enable Less Secure Apps.
  4. Click Done.

answered Nov 4, 2014 at 3:58

Jacob Fink's user avatar

Jacob FinkJacob Fink

1911 silver badge2 bronze badges

1

It’s caused by a wrong username or password for the SMTP server and
usually means that the server has disabled your account for spamming i
you’ve sent 1500 mails

answered Feb 10, 2014 at 18:31

Someswara Siripuram's user avatar

2

Thanks for your replies, it worked! it was because I didn’t have this option enabled:
https://www.google.com/settings/security/lesssecureapps
In case somebody needs it, this is the VBScript code I’m using in Qlikview:

SUB SendMail
    Dim objEmail

    Const cdoSendUsingPort = 2  ' Send the message using SMTP
    Const cdoBasicAuth = 1      ' Clear-text authentication
    Const cdoTimeout = 60       ' Timeout for SMTP in seconds

     mailServer = "smtp.gmail.com"
     SMTPport = 465     '25 'SMTPport = 465
     mailusername = "marcos.esgu**@gmail.com"
     mailpassword = "Ki***"

     mailto = "marcos.esgu**@*****" 
     mailSubject = "my test-deleteme" 
     mailBody = "This is the email body" 

    Set objEmail = CreateObject("CDO.Message")
    Set objConf = objEmail.Configuration
    Set objFlds = objConf.Fields

    With objFlds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPport
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = cdoTimeout
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasicAuth
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailusername
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailpassword
        .Update
    End With

    objEmail.To = mailto
    objEmail.From = mailusername
    objEmail.Subject = mailSubject
    objEmail.TextBody = mailBody
    'objEmail.AddAttachment "C:report.pdf"
    objEmail.Send

    Set objFlds = Nothing
    Set objConf = Nothing
    Set objEmail = Nothing
END SUB

Markus Pscheidt's user avatar

answered Jun 2, 2016 at 2:29

Marcos's user avatar

MarcosMarcos

691 silver badge1 bronze badge

2

Had the same problem using BizTalk, where adapter default handler specified to use NTLM authentication (by default). Even though I specified to override handler on send port properties, BizTalk did not allow me to override adapter default handler. I needed to change adapter default handler in order to get it to work.

Now it works!

answered Feb 16, 2018 at 9:49

JERKER's user avatar

JERKERJERKER

8878 silver badges16 bronze badges

I am trying to send Email

But I am getting this Error.

The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available

any one having any idea about it please Help me

asked Feb 6, 2012 at 7:52

Smily's user avatar

3

Discovered that you can also get this error when Gmail’s security settings don’t allow messages to be sent from the address you intend to use. I had to enable access for less secure apps for my account in question by:

  1. Logging into the address you want to use for sending email from Excel.
  2. Visit the page https://www.google.com/settings/security/lesssecureapps
  3. Click Enable Less Secure Apps.
  4. Click Done.

answered Nov 4, 2014 at 3:58

Jacob Fink's user avatar

Jacob FinkJacob Fink

1911 silver badge2 bronze badges

1

It’s caused by a wrong username or password for the SMTP server and
usually means that the server has disabled your account for spamming i
you’ve sent 1500 mails

answered Feb 10, 2014 at 18:31

Someswara Siripuram's user avatar

2

Thanks for your replies, it worked! it was because I didn’t have this option enabled:
https://www.google.com/settings/security/lesssecureapps
In case somebody needs it, this is the VBScript code I’m using in Qlikview:

SUB SendMail
    Dim objEmail

    Const cdoSendUsingPort = 2  ' Send the message using SMTP
    Const cdoBasicAuth = 1      ' Clear-text authentication
    Const cdoTimeout = 60       ' Timeout for SMTP in seconds

     mailServer = "smtp.gmail.com"
     SMTPport = 465     '25 'SMTPport = 465
     mailusername = "marcos.esgu**@gmail.com"
     mailpassword = "Ki***"

     mailto = "marcos.esgu**@*****" 
     mailSubject = "my test-deleteme" 
     mailBody = "This is the email body" 

    Set objEmail = CreateObject("CDO.Message")
    Set objConf = objEmail.Configuration
    Set objFlds = objConf.Fields

    With objFlds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPport
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = cdoTimeout
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasicAuth
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailusername
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailpassword
        .Update
    End With

    objEmail.To = mailto
    objEmail.From = mailusername
    objEmail.Subject = mailSubject
    objEmail.TextBody = mailBody
    'objEmail.AddAttachment "C:report.pdf"
    objEmail.Send

    Set objFlds = Nothing
    Set objConf = Nothing
    Set objEmail = Nothing
END SUB

Markus Pscheidt's user avatar

answered Jun 2, 2016 at 2:29

Marcos's user avatar

MarcosMarcos

691 silver badge1 bronze badge

2

Had the same problem using BizTalk, where adapter default handler specified to use NTLM authentication (by default). Even though I specified to override handler on send port properties, BizTalk did not allow me to override adapter default handler. I needed to change adapter default handler in order to get it to work.

Now it works!

answered Feb 16, 2018 at 9:49

JERKER's user avatar

JERKERJERKER

8878 silver badges16 bronze badges

kamiru_wr

3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

1

VBS

29.05.2013, 13:11. Показов 19497. Ответов 19

Метки нет (Все метки)


Доброго времени суток.
У меня возникла проблема — скрипт не желает отправлять сообщение через SMTP. Использую сервер гугла.

Сам код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Option Explicit
 
'Содание объекта CDO
Dim objmes
Set objmes=CreateObject ("CDO.Message")
 
'От кого и кому
Dim from
Dim whom
from="email1@gmail.com" 'адрес отправителя
whom="email2@mail.ru" 'адрес получателя
 
'Тема и текст сообщения
Dim theme
Dim text
theme="temp"
text="sended!"
 
'Конфигурация
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2    
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email1.gmail.com"
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "****"
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
 
'Заполнение письма
objmes.From=from
objmes.To=whom
objmes.Subject=theme
objmes.HTMLBody=text
 
'Обновление данных и отправка письма
objmes.Configuration.Fields.Update
objmes.Send

При запуске выходит с ошибкой «Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available».
В чем может быть причина неработоспособности скрипта?

Добавлено через 1 час 49 минут
Чуть подправил скрипт, всё заработало) Спасибо всем, кто морально поддержал)

Добавлено через 22 минуты
Теперь вопрос в другом: при попытке приложить файл (.AddAttachment «D:send_mail2.vbs» ) вылетает с ошибкой «Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x800ccc6f. Отклик сервера: 554 Suspicious message». В чем причина ошибки?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Pure Free Digital Ghost

4598 / 1910 / 370

Регистрация: 06.01.2013

Сообщений: 4,564

29.05.2013, 13:37

2

Google не дает отправлять исполняемые файлы. Надо запаковать в rar, а потом этот rar в zip, т.к на один уровень архивов Гугл смотрить

Добавлено через 12 минут
*Смотрит



1



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

29.05.2013, 13:43

 [ТС]

3

FraidZZ, спасибо за совет) Тогда вопрос — остальные почтовые службы нормально пропускают файлы?



0



Pure Free Digital Ghost

4598 / 1910 / 370

Регистрация: 06.01.2013

Сообщений: 4,564

29.05.2013, 13:59

4

А вот хай их знает. Яндекс вроде нормально всегда работал



0



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

29.05.2013, 14:25

 [ТС]

5

Спасибо большое ^^



0



Эксперт WindowsАвтор FAQ

17955 / 7592 / 889

Регистрация: 25.12.2011

Сообщений: 11,323

Записей в блоге: 17

29.05.2013, 14:47

6

kamiru_wr, здесь имеет значение не только почтовая служба, которая отправляет, но и которая принимает.
Она тоже может отклонить получение письма с прикрепленным EXE-файлом.
Обратите на это внимание.
Оптимально — все паковать в архив.



1



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

29.05.2013, 14:50

 [ТС]

7

Dragokas, понял, благодарю)



0



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

31.05.2013, 09:20

 [ТС]

8

Доброго времени суток ещё раз. У меня опять возникла проблема касательно этой темы, потому другую решил не создавать.
Задание: вставить код HTML в тело письма. Делаю через .CreateMHTMLBody. Проблема в том, что только на один почтовик — hotmail.com — отправляется всё, как надо, в той форме, которая должна быть. Два другие почтовика, на которых тестировался скрипт — gmail.com и mail.ru — отображают код некорректно. Прилагаю скриншоты писем.

Собственно, вопрос: проблема на моей стороне? Или разные почтовики по разному интерпретируют код?



0



Pure Free Digital Ghost

4598 / 1910 / 370

Регистрация: 06.01.2013

Сообщений: 4,564

31.05.2013, 13:17

9

Я с этим не сталкивался, но как вариант: попробуй просмотреть не через веб-интерфейс, а приняв письмо в The Bat/Thunderbird/Outlook/The bee или еще что-нибудь.
P.S hotmail — родной почтовик мелкомягких, возможно имеется некая связь между штатными средствами винды и hotmail’ом



0



Эксперт WindowsАвтор FAQ

17955 / 7592 / 889

Регистрация: 25.12.2011

Сообщений: 11,323

Записей в блоге: 17

31.05.2013, 14:01

10

kamiru_wr, так может попробовать просто .HTMLBody



0



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

31.05.2013, 22:51

 [ТС]

11

Dragokas, через .HTMLBody то же самое показывает, к сожалению. Но всё-равно спасибо.

FraidZZ, насчёт Пы.Сы — нет, зарегался на рамблере, тот точно так же всё нормально отображает. Насчёт почтовых программ — попробую, спасибо.

Возможно, ошибка в том, что в коде сайта есть стили, которые почтовики некоторые не признают и им чистый ХТМЛ подавай?



0



0 / 0 / 0

Регистрация: 11.01.2015

Сообщений: 3

11.01.2015, 16:58

12

вопрос к автору темы. Что ты исправил в коде и он заработал?



0



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

12.01.2015, 00:19

 [ТС]

13

y_belinskiy, к сожалению, не могу ответить на вопрос. Давно работал со скриптом. И прошу простить, что не рассказал способ решения проблемы сразу — виноват ^^



1



251 / 239 / 16

Регистрация: 31.12.2009

Сообщений: 324

12.01.2015, 11:29

14

y_belinskiy, — вы необыкновенно счастливый человек, со времени последнего поста в этом треде
прошло ~1,5 года, и ваши шансы на ответ ТС были очень низки, но чудо случилось!!!

kamiru_wr, RESPECT & +1 за верность форуму!!!



1



3 / 3 / 0

Регистрация: 29.05.2013

Сообщений: 13

12.01.2015, 17:08

 [ТС]

15

buggydancer, хих, спасибо



1



buggydancer

251 / 239 / 16

Регистрация: 31.12.2009

Сообщений: 324

12.01.2015, 18:05

16

kamiru_wr, всегда пожалуйста!

y_belinskiy, скрипт из поста #1 заработал в таком варианте:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Option Explicit
 
'Содание объекта CDO
Dim objmes
Set objmes=CreateObject("CDO.Message")
 
'От кого и кому
Dim from
Dim whom
from="email1@gmail.com" 'адрес отправителя
whom="email2@mail.ru"   'адрес получателя
 
'Тема и текст сообщения
Dim theme
Dim text
theme="subj"
text="sended!"
 
'Конфигурация
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2    
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = from
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "****"
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
objmes.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
 
'Заполнение письма
objmes.From=from
objmes.To=whom
objmes.Subject=theme
objmes.TextBody=text
 
'Обновление данных и отправка письма
objmes.Configuration.Fields.Update
objmes.Send

PS: всех со «Старым Новым Годом!!!»



2



0 / 0 / 0

Регистрация: 11.01.2015

Сообщений: 3

12.01.2015, 21:24

17

Спасибо большое, очень выручили)))



0



251 / 239 / 16

Регистрация: 31.12.2009

Сообщений: 324

13.01.2015, 11:25

18

Цитата
Сообщение от y_belinskiy
Посмотреть сообщение

Спасибо большое…

и Вам спасибо, «везение — дар божий», глядишь от вашей
везучести и нам толика от «боженьки» перепадет!
PS: куда-то кнопка +1 под вашим постом пропала



0



0 / 0 / 0

Регистрация: 03.01.2016

Сообщений: 1

08.01.2016, 09:58

19

Спасибо автору) скрипт реально очень помог)



0



ur5hpl

1 / 1 / 1

Регистрация: 15.06.2016

Сообщений: 2

22.02.2019, 08:09

20

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    Function SendMail(ByRef Sender As String, ByRef Recipient As String, ByRef Header As String, ByRef Body As String, ByRef Password As String, Optional ByRef Port As Integer = 465, Optional ByRef Server As String = "smtp.gmail.com") As String
        Dim o_Mess As Object, v_Conf As String
        On Error GoTo ErrOfSend
        o_Mess = CreateObject("CDO.Message")
        v_Conf = "http://schemas.microsoft.com/cdo/configuration/"
        o_Mess.BodyPart.CharSet = "Windows-1251"
        With o_Mess
            .To = Recipient
            .From = Sender
            .Subject = Header
            .TextBody = Body ' Если надо отправить просто текст
            '.HTMLBody = TextBox1.Text ' Если надо отправить HTML
            With .Configuration.Fields
                .Item(v_Conf & "sendusing") = 2
                .Item(v_Conf & "smtpserver") = Server
                .Item(v_Conf & "smtpauthenticate") = 1
                .Item(v_Conf & "sendusername") = Sender
                .Item(v_Conf & "sendpassword") = Password
                .Item(v_Conf & "smtpserverport") = Port
                .Item(v_Conf & "smtpusessl") = True
                .Item(v_Conf & "smtpconnectiontimeout") = 60
                .Update()
            End With
            .send()
        End With
        SendMail = "good"
        Exit Function
ErrOfSend:
        SendMail = "bad"
        'MsgBox(Err.Number)
    End Function



0



   Мисти

08.09.17 — 18:13

Написано так —

    ЗагрузитьВнешнююКомпоненту(«V7Plus.dll»);

    Попытка

        Почта = СоздатьОбъект(«AddIn.V7Mail»);

        Почта.Подключиться();

Ругается так:

Ошибка подключения :

Почта.Подключиться();

{Документ.ЗаявкаПокупателя.Форма.Модуль(1460)}: Ошибка при выполнении метода объекта компоненты C:Program Files (x86)1Cv77BINV7Plus.dll

   Мисти

1 — 08.09.17 — 18:16

с запрошенным действием не связана программа электронной почты — и еще вот так!

   Генератор

2 — 08.09.17 — 18:25

CDO.Message используй, а то еще со всякими ssl проблемы вылезут

   Мисти

3 — 08.09.17 — 18:26

а как это написать? в 8 у меня совсем доугие волшебные слова!

   Генератор

4 — 08.09.17 — 18:27

(3)  в гугл, там все понятно, я даже в 8 его использую

   Злопчинский

5 — 08.09.17 — 18:41

   Мисти

6 — 08.09.17 — 19:02

(5) Спасибо!

Только там тоже много всего не хватает

Отстутствует ВК (внешняя компонента)  <FormEX>, необходимая для работы программы!

ВК <FormEX> можно скачать здесь: http://www.dorex.ru/?projects&formex&download

Отстутствует обработка <ECDO> для отсылки почты, необходимая для работы программы!

Обработку <ECDO> можно скачать здесь: http://www.infostart.ru/projects/index.php?id=266

Обработку <ECDO> можно скачать здесь: http://1c.proclub.ru/modules/mydownloads/personal.php?cid=81&lid=5747

Устраните возникшие ошибки и попытайтесь вновь!

   Генератор

7 — 08.09.17 — 19:03

написано же где можно скачать!

   Мисти

8 — 08.09.17 — 19:08

(4) А там — так

{Документ.ЗаявкаПокупателя.Форма.Модуль(1453)}: CDO.Message.1: Недопустимое значение конфигурации «SendUsing».

   Мисти

9 — 08.09.17 — 19:09

Это я всё поставлю себе, потом заказчикам…

Мне надо что-то более универсальное.

   Генератор

10 — 08.09.17 — 19:09

а главное не надо ничего скачивать, надо просто СоздатьОбъект(«CDO.Message») и найти как им пользоваться

   Злопчинский

11 — 08.09.17 — 19:12

(6) formex любой пойдёт
Взять можно на dorex.pro

   Генератор

12 — 08.09.17 — 19:13

   Злопчинский

13 — 08.09.17 — 19:14

(10) по ссылке что я привёл это и есть cdo в навороченной обертке

   Генератор

14 — 08.09.17 — 19:15

(13) но там еще куча обвязки, которую тс надо найти и зарегистрировать

   Мисти

15 — 08.09.17 — 19:16

(12) Спасибо!

   Злопчинский

16 — 08.09.17 — 21:14

(14) для клюшечника формекс де-факто стандарт.

   Злопчинский

17 — 08.09.17 — 21:15

(14) другая обвязка которая там есть — не является обязательной, и без неё работать будет

   Мисти

18 — 13.09.17 — 18:42

iMsg = CreateObject(«CDO.Message»);

  iConf =CreateObject(«CDO.Configuration»);

  iConf.Fields(«http://schemas.microsoft.com/cdo/configuration/sendusing»).Value = 2;

  iConf.Fields(«http://schemas.microsoft.com/cdo/configuration/smtpserver»).Value =»smtp.mail.ru»;

  iConf.Fields(«http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout»).Value = 10;

  iConf.Fields.Update();

  iMsg.Configuration = iConf;

  iMsg.To = «md@mail.ru»;

  iMsg.From = «md@mail.ru»;

  iMsg.Subject = «????»;

  iMsg.TextBody = «????»;

  iMsg.TextBodypart.charset=»koi8-r»;

  iMsg.Send();

   Мисти

19 — 13.09.17 — 18:43

А вот ругань —

iMsg.Send();

{Документ.ЗаявкаПокупателя.Форма.Модуль(1480)}: : Сервер отклонил один или несколько адресов получателей. Отклик сервера: 550 SMTP is available only with SSL or TLS connection enabled.

Что не так?

   VladZ

20 — 13.09.17 — 18:55

(19) Проблема вот тут указана «.. only with SSL or TLS connection». Хочу, говорит, быть владычицей морской! Упс.. Это из другого проекта. Говорит, что только SSL или TLS соединение могут быть. Читай, как соединиться по SSL.

   Мисти

21 — 13.09.17 — 19:08

{Документ.ЗаявкаПокупателя.Форма.Модуль(1534)}: : Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available — Теперь так

   Базис

22 — 13.09.17 — 19:11

Глянь свойства конфигурации почты, это где-то в панели управления. Если я не путаю под вечер. Ну и загугли правильные настройки CDO под свой почтовый сервер. И завязывай с мейлру, оно глючное.

   Мисти

23 — 13.09.17 — 19:20

А вот пароль я нигде не задала, вроде?

   Мисти

24 — 13.09.17 — 19:21

Пароль не помог

   Мисти

25 — 14.09.17 — 13:40

loConfig = CreateObject(«CDO.Configuration»);

loCdoMessage = CreateObject(«CDO.Message»);

Этот фокус заработал!

Простой вопрос остался, какое там волшебное слово, чтобы прицепить вложение?

   Мисти

26 — 14.09.17 — 17:50

ау?

   Мисти

27 — 14.09.17 — 18:06

А еще вопрос. В списке отправленных почему-то не появляется! Отправлять, что ли на свой адрес копию?

   Господин ПЖ

28 — 14.09.17 — 18:07

(6) клюшки такие клюшки…

каша из топора

   Мисти

29 — 14.09.17 — 18:08

loCdoMessage.AddAttachment (файл+ «.XLS»); — нашла.

Файл при этом приходит, нужного размера, но не открывается!

   Мисти

30 — 14.09.17 — 18:10

Файл = Путь +»»+ НаименованиеФайла;

            
            Если ФС.СуществуетФайл(Файл+».xls»)=1 Тогда

                Если Вопрос(«Такой документ уже существует, заменить его ?»,4)=6  Тогда

                    ИсхТабл.Записать(Файл,»XLS»);

                КонецЕсли;

            Иначе

                ИсхТабл.Записать(Файл,»XLS»);

                //ИмяФайла = Файл+».xls»;

                //Комментарий = Комментарий + «_Сохранен:» + ИмяФайла;

            КонецЕсли;  

        КонецЕсли;

    КонецЕсли;

    //>Федоров

    Возврат(Файл);

   Мисти

31 — 14.09.17 — 19:10

РПаЎ±б — Вот такая штука внутри пришедшего файла.

   Мисти

32 — 14.09.17 — 19:12

HTMLBody — а вот это зачем?

   Fram

33 — 14.09.17 — 19:14

(30) ИсхТабл — это ТбаличныйДокумент полагаю? что говорит синтак-помощник насчет параметров метода Записать?

   Fram

34 — 14.09.17 — 19:15

(32) а интуиция и базовые знания англ языка вам что подсказывают?

   Мисти

35 — 14.09.17 — 19:16

Во дела!

Не хватало строчки — loCdoMessage.textbody = «»;

   Мисти

36 — 14.09.17 — 19:16

Копию просто в адресе через запятую сделала (хотя было бы симпатично указать отдельно)

   Мисти

37 — 14.09.17 — 19:17

(34) Всё записывается! Теперь еще и прислалось правильно.

   Fram

38 — 14.09.17 — 19:20

(33) снимаю вопрос. это ж 7ка

   Злопчинский

39 — 14.09.17 — 19:55

(27) с списке отправленных ГДЕ?

   Злопчинский

40 — 14.09.17 — 19:55

(29) я предлагал ссылку….

   Злопчинский

41 — 14.09.17 — 19:57

(36) используй поле сс  или bcc

   Мисти

42 — 14.09.17 — 19:57

loConfig.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»;).           Value = «smtp.mail.ru»;

с почты …mail уходило.

Поменяла адрес на почту Ya

Ругается!

loCdoMessage.Send();

{Документ.ЗаявкаПокупателя.Форма.Модуль(1482)}: : Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available

   Мисти

43 — 14.09.17 — 19:58

написать там «smtp.yandex.ru»?

   Злопчинский

44 — 14.09.17 — 19:58

(28)
— Давид, тебя убили!
— Да ты шо? Насмерть?!

   Злопчинский

45 — 14.09.17 — 19:59

Клюшки пережили и 8.0 и 8.1 и 8.3 и переживут и 8.3

   Мисти

46 — 14.09.17 — 20:00

loCdoMessage.Send();

{Документ.ЗаявкаПокупателя.Форма.Модуль(1482)}: : Сервер отклонил адрес отправителя. Отклик сервера: 553 5.7.1 Sender address rejected: not owned by auth user.

   Злопчинский

47 — 14.09.17 — 20:01

(43)  открой оутлок и настрой почту там, добейся отправки из оутлука, потом перенести настройки на цдо
Можно ещё на яндекспочте посмотреть настройки для почтовых агентов и вписатьт в цдо

   Мисти

48 — 14.09.17 — 20:07

у меня ваще оутлука нет. Никогда им не пользовалась.

   Мисти

49 — 14.09.17 — 20:11

На яндекс-почте где это можно увидеть?

   Злопчинский

50 — 14.09.17 — 20:15

(49) в хелпах по настройке почты для почтовых программ

   Злопчинский

51 — 14.09.17 — 20:16

(48) да по барабану, хот ЗеБат, хоть Тандеберд

   Мисти

52 — 14.09.17 — 20:21

https://yandex.ru/support/ — Дайте уже ссылку! Не могу найти ничего подходящего.

Для майл добрый человек прислал

https://help.mail.ru/mail-help/mailer/popsmtp

   Мисти

53 — 14.09.17 — 20:25

   Fram

54 — 14.09.17 — 20:25

У автора иммунитет к пользованию поисковиками что ли?

   Мисти

55 — 14.09.17 — 20:27

ага!

   Злопчинский

56 — 14.09.17 — 20:28

(52) я далеко и инет елееле

   Лефмихалыч

57 — 14.09.17 — 21:21

(46) значит работает твоя каша из топора. ЭТо ответ от smtp-сервера. Проблема в том, что смтп требует авторизации и переданные почтовику логин-пароль не соответсвуют тому адресу, который в поле From в письме.

Надо перестать трогать внешние все эти компоненты и сосредоточиться на коде, которым отправка производится — там не те логин-пароль написаны

  

vadim777

58 — 14.09.17 — 22:12

Работающая процедура для отправки писем с вложениями:

Процедура глОтправить(АдресПолучателя,Вложения=»»,Тема=»»,Текст=»»)

    oMessage = CreateObject(«CDO.Message»);

    oMessage.To = СокрЛП(АдресПолучателя);

    oMessage.From = СокрЛП(АдресОтправителя);

    oMessage.Subject = Тема;

    oMessage.TextBody = Текст;

    Если ТипЗначения(Вложения)=2 Тогда

        Если ПустоеЗначение(Вложения)=0 Тогда

            oMessage.AddAttachment(Вложения);

        КонецЕсли;

    ИначеЕсли ТипЗначения(Вложения)=100 Тогда

        Для Сч=1 По Вложения.РазмерСписка() Цикл                            

            oMessage.AddAttachment(Вложения.ПолучитьЗначение(Сч));

        КонецЦикла;

    КонецЕсли;

    oMessage.TextBodyPart.Charset = «windows-1251»;

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»).value = 2;

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»).value = СокрЛП(СерверОтправкиПочты);

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»).value=1;

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»).value = СокрЛП(Логин);

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»).value = СокрЛП(Пароль);

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»).value = 465;

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»).value = 1;

    oMessage.Configuration.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout»).value = 60;

    oMessage.Configuration.Fields.Update();

    Попытка

        oMessage.Send();

        Текст = Шаблон(«[СокрЛП(Тема)] на [СокрЛП(АдресПолучателя)] отправлена!»);

        Сообщить(Текст);

    Исключение

        Текст = Шаблон(«Не удалось отправить сообщение [СокрЛП(Тема)] на [СокрЛП(АдресПолучателя)]!»);

        Сообщить(Текст);

        Сообщить(ОписаниеОшибки(), «!»);

    КонецПопытки;

КонецПроцедуры

Для получения, распаковки и удаления писем на сервере почты:

// ===============================

Функция ЗагрузитьDialMail()

    Если ЗагрузитьВнешнююКомпоненту(«DialMail.dll»)=0 Тогда

        Сообщить(«Не удалось обнаружить компоненту DialMail.dll!»);

        Возврат 0;

    КонецЕсли;

    Возврат 1;

КонецФункции

// ===============================

Функция УстановитьPOP3()

    Если ЗагрузитьDialMail() = 0 Тогда

        Возврат 0;

    КонецЕсли;

    Попытка

        POP3 = СоздатьОбъект(«AddIn.POP3»);

        POP3.ВестиЛогФайл = 1;

        POP3.ИмяЛогФайла = ИмяЛогФайла;

        // Сообщить(POP3.ВерсияОбъектаСтр);

    Исключение

        Сообщить(«Не удалось создать объект POP3 из компоненты DialMail.dll!»);

        Возврат 0;

    КонецПопытки;

    Возврат 1;

КонецФункции

// ===============================

Функция УстановитьSMTP()

    Если ЗагрузитьDialMail() = 0 Тогда

        Возврат 0;

    КонецЕсли;

    Попытка

        SMTP = СоздатьОбъект(«AddIn.SMTP»);

        SMTP.ВестиЛогФайл = 1;

        SMTP.ИмяЛогФайла = ИмяЛогФайла;

        // Сообщить(SMTP.ВерсияОбъектаСтр);

    Исключение

        Сообщить(«Не удалось создать объект SMTP из компоненты DialMail.dll!»);

        Возврат 0;

    КонецПопытки;

    Возврат 1;

КонецФункции

// ===============================

Функция ПодключитьсяКPop3()

    Если УстановитьPOP3() = 0 Тогда

        Возврат 0;

    КонецЕсли;

    POP3.РабочийКаталог=СокрЛП(ВременныйКаталог);

    Получили=0;

    POP3.ИспользоватьПрокси=0;

    POP3.ИспользоватьSSL=1;

    POP3.ИспользоватьTSL=1;

    POP3.ЛокальныйИнтерфейс = «»;

    Если POP3.Подключиться(СерверПриемаПочты,»995″,Логин,Пароль,1,1)=0 Тогда

        Предупреждение(«Не смогли подключиться к POP3-серверу»);

        Возврат 0;

    КонецЕсли;

    ВсегоПисемНаСервере=POP3.КоличествоПисем;

    ОбщаяДлинаПолучение=Число(POP3.ОбщийРазмерПисем);

    Если ВсегоПисемНаСервере=0 Тогда

        СообщениеПолучение=»Нет Писем»;

        Возврат -1;

    КонецЕсли;

    Возврат 1;

КонецФункции

// ===============================

Процедура глПолучить()

    Если ПодключитьсяКPop3() <> 1 Тогда

        Возврат;

    КонецЕсли;

    тз.УдалитьСтроки();

    POP3.ОчиститьРабочийКаталог(); //! Временный каталог

    Получили=0;

    ИндикПолучение=Индик;

    Форма.Обновить(0);

    Состояние(«Получаем сообщения для офиса»);

    Для нс=1 по POP3.КоличествоПисем Цикл

        POP3.ПолучитьЗаголовокПисьма(нс);

        Состояние(«»+СокрЛП(POP3.ОтКого)+» «+СокрЛП(POP3.ДатаСоздания)+» «+POP3.КоличествоПрисоединенныхФайлов);

        тз.НоваяСтрока();

        тз.НС=нс;

        тз.EMail=POP3.ОтКого;

        тз.Дата=POP3.ДатаСоздания;

        Если POP3.ПолучитьПисьмо(нс,0,0) <> 1 Тогда

            Текст = Шаблон(«Ошибка получения письма № [нс] от ‘[тз.EMail]'»);

            Сообщить(Текст,»!!!»);

            Продолжить;

        КонецЕсли;

        х=POP3.ПолученоВБайтах/ОбщаяДлинаПолучение*СтрДлина(Индик);

        ИндикПолучение=Лев(Индик,СтрДлина(Индик)-х);

        Если POP3.РаспаковатьПисьмо() <> 1 Тогда

            Если ПустоеЗначение(POP3.ТекущееПисьмо) = 1 Тогда

                Текст = Шаблон(«Ошибка распаковки письма № [нс] от ‘[тз.EMail]'»);

            Иначе

                Текст = Шаблон(«Ошибка распаковки письма № [нс] ‘[POP3.ТекущееПисьмо]'»);

            КонецЕсли;

            Сообщить(Текст, «!!!»);

            Продолжить;

        КонецЕсли;

        Для нф=1 по POP3.КоличествоПрисоединенныхФайлов Цикл

            тз.Вложение = СокрЛП(тз.Вложение)+POP3.ПолучитьИмяПрисоединенногоФайла(нф);

        КонецЦикла;

        Форма.Обновить(0);

    КонецЦикла;

    Состояние(«Получение сообщений завершено!»);

    POP3.Отключиться();

    ИндикПолучение=»»;

КонецПроцедуры

// ===============================

Процедура СохранитьДанные()

    Если Вопрос(«Сохранить все данные?»,4)<>6 Тогда

        Возврат;

    КонецЕсли;

    ВсегоПисемНаКомпьютере = POP3.КоличествоПисемВРабочемКаталоге;

    Если тз.КоличествоСтрок() <> ВсегоПисемНаКомпьютере Тогда

        Текст = «Количество писем в рабочем каталоге не равно количеству полученных писем: «;

        Текст = Текст + Шаблон(«[ВсегоПисемНаКомпьютере] <> [тз.КоличествоСтрок()]»)+РазделительСтрок;

        Текст = Текст + «Произойдет повторное получение писем!»;

        Предупреждение(Текст);

        глПолучить();

        ВсегоПисемНаКомпьютере = POP3.КоличествоПисемВРабочемКаталоге;

    КонецЕсли;

    Для нс=1 По ВсегоПисемНаКомпьютере Цикл

        Если POP3.РаспаковатьПисьмо(ВсегоПисемНаКомпьютере-нс+1) <> 1 Тогда

            Текст = Шаблон(«Ошибка распаковки письма № [нс] ‘[POP3.ТекущееПисьмо]'»);

            Сообщить(Текст, «!!!»);

            Продолжить;

        КонецЕсли;

        Для нф=1 по POP3.КоличествоПрисоединенныхФайлов Цикл

            ИмяФайла = POP3.ПолучитьИмяПрисоединенногоФайла(нф);

            POP3.СохранитьПрисоединенныйФайл(нф,КаталогВложений,ИмяФайла);

            КодОтправителя= СокрЛП(Лев(ИмяФайла,Найти(ИмяФайла,»_»)-1));

            Если ФС.СуществуетФайл(КаталогВложений+КодОтправителя)=0 Тогда

                ФС.СоздатьКаталог(КаталогВложений+КодОтправителя);

            КонецЕсли;

            КатОтправителя = КаталогВложений+КодОтправителя;

            ЗапуститьПриложение(КаталогВложений+»RAR32.exe e -y «+КаталогВложений+ИмяФайла+» «+КатОтправителя+»»);

        КонецЦикла;

        POP3.УдалитьПисьмоИзРабочегоКаталога();

    КонецЦикла;

    POP3.Отключиться();

    Предупреждение(«Сохранение данных завершено!»);

КонецПроцедуры

// ===============================

Процедура УдалитьСообщение()

    Если ПодключитьсяКPop3() <> 1 Тогда

        Возврат;

    КонецЕсли;

    Если Вопрос(«Удалить сообщение №»+СокрЛП(тз.нс)+» от «»»+СокрЛП(тз.EMail)+»»» за «+тз.Дата+»?»,4)<>6 Тогда

        Возврат;

    КонецЕсли;

    Если POP3.ПолучитьПисьмо(тз.нс)=1 Тогда

        POP3.ПолучитьЗаголовокПисьма(тз.нс);

        Если (СокрЛП(POP3.ОтКого)=СокрЛП(тз.EMail))и(Дата(POP3.ДатаСоздания)=тз.Дата) Тогда

            Рез = POP3.УдалитьПисьмо(тз.нс);

            Если Рез<>1 Тогда

                Текст = Шаблон(«Ошибка удаления письма: [POP3.ПоследняяОшибка]»);

                Сообщить(Текст,»!!!»);

            КонецЕсли;

            тз.УдалитьСтроку(тз.нс);

            // Перенумеруем строки тз

            нс=1;

            тз.ВыбратьСтроки();

            Пока тз.получитьстроку()=1 Цикл

                тз.нс=нс;

                нс=нс+1;

            КонецЦикла;

        КонецЕсли;

    КонецЕсли;

    POP3.Отключиться();

КонецПроцедуры

Для обеспечения работы на прием используется stunnel 5.36

Опубликовал | Дата 23 сентября, 2014

Сегодня у одних моих клиентов перестала работать отправка почты через mail.ru. Рассылка была настроена самописной внешней обработкой с использованием компоненты CDO.Configuration.

Надо сказать, что Mail.ru и Yandex.ru совсем недавно поменяли настройки своих серверов исходящей почты, из-за чего все это и случилось.

Вроде бы ничего сложного… Все настройки (имена серверов, номера портов и т.п.) есть в помощи этих служб. Но мне пришлось помучиться, чтобы все заработало.

На форумах, не смотря на многочисленные посты, внятных ответов было не много.  Для пробы, попробовал настроить почту через Яндекс — получилось с первого раза. А вот при отправке через Mail.ru выходила ошибки:

CDO.Message.1: Транспорту не удалось подключиться к серверу

и

Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available

Честно говоря, даже не понял, в чем была моя ошибка, поскольку код для них в результате оказался идентичен. Приведу пример рабочего кода для обоих этих сервисов.

Яндекс:

Процедура ОтправитьПисьмо()

iConf = CreateObject(«CDO.Configuration»);

iMsg = CreateObject(«CDO.Message»);

iMsg.Configuration = iConf;

iMsg.From          = «Программист 1C»»»» «;

iMsg.To            = «poluchatel@mail.ru»;

iMsg.Subject       = «Тема письма»;

iMsg.textBody      = «Тело письма»;

iMsg.BodyPart.Charset = «windows-1251»;

iMsg.AddAttachment(«D:1.txt»);

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»).            Value = 2;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»).           Value = «smtp.yandex.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»).       Value = «465»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»).     Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»).         Value = «otpravitel@yandex.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»).         Value = «пароль»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»).           Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout»).Value = 60;

iConf.Fields.Update();

Попытка

iMsg.Send();

Сообщить(«Письмо отправлено.»);

Исключение

Сообщить(«Письмо не отправлено. Ошибка : «+Ошибка = ОписаниеОшибки(); ,»!»);

КонецПопытки;

КонецПроцедуры

Mail.ru

Процедура ОтправитьПисьмо()

iConf = CreateObject(«CDO.Configuration»);

iMsg = CreateObject(«CDO.Message»);

iMsg.Configuration = iConf;

iMsg.From          = «Программист 1C»»»» «;

iMsg.To            = «antmagn@mail.ru»;

iMsg.Subject       = «Тема письма»;

iMsg.textBody      = «Тело письма»;

iMsg.BodyPart.Charset = «windows-1251»;

iMsg.AddAttachment(«D:1.txt»);

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»).            Value = 2;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»).           Value = «smtp.mail.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»).       Value = «465»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»).     Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»).         Value = «otpravitel@list.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»).         Value = «пароль»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»).           Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout»).Value = 60;

iConf.Fields.Update();

Попытка

iMsg.Send();

Сообщить(«Письмо отправлено.»);

Исключение

Сообщить(«Письмо не отправлено. Ошибка: «+ОписаниеОшибки(),»!»);

КонецПопытки;

КонецПроцедуры

  • Remove From My Forums

 locked

Отправка сообщений

  • Вопрос

  • Добрый день,

    Подскажите в чем может быть дело.

    есть два сервера, один почтовый второй контроллер домена, с домена пытаюсь отправить отчет о использовании квоты. Тестовую отправку письма делает, а когда по расписанию, то отчет создаетья но не отправляеться. Сервер выдает такое сообщение (e-mail в отчете изменен):

    Тип события: Предупреждение
    Источник события: SRMREPORTS
    Категория события: Отсутствует
    Код события: 150
    Дата:  30.12.2006
    Время:  13:22:27
    Пользователь:  Н/Д
    Компьютер: DC-LCK-001
    Описание:
    Ошибка отправки отчета по электронной почте. Проверьте настройки сервера SMTP.

    Контекст:
     —

    Подробные сведения об ошибке:
     = Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available

     — SMTP-сервер = ex-lck-001.email.com
     — Кому = email@email.com
     — От = email@email.com
     — Файл преобразования XSLT = C:WINDOWSsystem32srmXSLTQuotaUsage_HTML.xsl
     — Формат вывода = Html
     — Адресат = email@email.com
     — Имя отчета = Использованиеквоты9

    Дополнительные сведения можно найти в центре справки и поддержки, в «http://go.microsoft.com/fwlink/events.asp».

Ответы

  • Эта статья — не ваш случай? Очень похоже.

    http://support.microsoft.com/kb/914678

    WORKAROUND

    To work around this problem, disable Basic authentication on the SMTP server.

    Note Perform this procedure on a SMTP server only if the following conditions are true:

    The SMTP server has Basic authentication enabled.
    Basic authentication is not used by clients that submit e-mail messages.

    For example, to disable Basic authentication in Microsoft Exchange Server 2003, follow these steps:

    1. In Exchange System Manager, expand Servers, expand the inbound Exchange server, expand Protocols, and then expand SMTP.
    2. Right-click the inbound SMTP virtual server, and then click Properties.
    3. Click the Access tab, and then click Authentication.
    4. Click to clear the Basic authentication check box, and then click OK.

Как исправить ошибку DirectShow 0x80040217

Совместима с Windows 2000, XP, Vista, 7, 8 и 10

Признаки ошибки 0x80040217

  • Появляется сообщение «Ошибка 0x80040217» и окно активной программы вылетает.
  • Ваш компьютер часто прекращает работу после отображения ошибки 0x80040217 при запуске определенной программы.
  • Отображается “VFW_E_CANNOT_CONNECT”.
  • Windows медленно работает и медленно реагирует на ввод с мыши или клавиатуры.
  • Компьютер периодически «зависает» на несколько секунд.

Такие сообщения об ошибках 0x80040217 могут появляться в процессе установки программы, когда запущена программа, связанная с Microsoft Corporation (например, DirectShow), при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки 0x80040217 является важной информацией при устранении проблемы.

Причины ошибки 0x80040217

  • Поврежденная загрузка или неполная установка программного обеспечения DirectShow.
  • Повреждение реестра DirectShow из-за недавнего изменения программного обеспечения (установка или удаление), связанного с DirectShow.
  • Вирус или вредоносное ПО, которые повредили файл Windows или связанные с DirectShow программные файлы.
  • Другая программа злонамеренно или по ошибке удалила файлы, связанные с DirectShow.

Ошибки типа Ошибки во время выполнения, такие как «Ошибка 0x80040217», могут быть вызваны целым рядом факторов, поэтому важно устранить каждую из возможных причин, чтобы предотвратить повторение ошибки в будущем.

Ошибки во время выполнения в базе знаний

star rating here

Как исправить ошибку DirectShow 0x80040217

Ниже описана последовательность действий по устранению ошибок, призванная решить проблемы Ошибка 0x80040217. Данная последовательность приведена в порядке от простого к сложному и от менее затратного по времени к более затратному, поэтому мы настоятельно рекомендуем следовать данной инструкции по порядку, чтобы избежать ненужных затрат времени и усилий.

Пожалуйста, учтите: Нажмите на изображение [ ] , чтобы развернуть инструкции по устранению проблем по каждому из шагов ниже. Вы также можете использовать изображение [ ], чтобы скрывать инструкции по мере их выполнения.

Шаг 1: Восстановить записи реестра, связанные с ошибкой 0x80040217

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей Ошибка 0x80040217 не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster [Загрузить] (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с Ошибка 0x80040217. Используя очистку реестра [Загрузить], вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку %%error_name%%) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра [Загрузить] может резко повысить скорость и производительность системы.

Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с Ошибка 0x80040217 (например, DirectShow):

  1. Нажмите на кнопку Начать.
  2. Введите «command» в строке поиска. ПОКА НЕ НАЖИМАЙТЕENTER!
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да.
  6. Черный ящик открывается мигающим курсором.
  7. Введите «regedit» и нажмите ENTER.
  8. В Редакторе реестра выберите ключ, связанный с Ошибка 0x80040217 (например, DirectShow), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт.
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа DirectShow.
  11. В поле Имя файла введите название файла резервной копии, например «DirectShow резервная копия».
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь.
  13. Нажмите Сохранить.
  14. Файл будет сохранен с расширением .reg.
  15. Теперь у вас есть резервная копия записи реестра, связанной с DirectShow.

Следующие шаги при ручном редактировании реестра не будут описаны в данной статье, так как с большой вероятностью могут привести к повреждению вашей системы. Если вы хотите получить больше информации о редактировании реестра вручную, пожалуйста, ознакомьтесь со ссылками ниже.

Мы не несем никакой ответственности за результаты действий, совершенных по инструкции, приведенной ниже — вы выполняете эти задачи на свой ​​страх и риск.

Код ошибки транспорта 0x80040217


MTK ( 2012-07-11 12:57 ) [1]

Отправляю почту с помощью такой процедуры:

procedure TfrmMain.SendSMTPMessage(Const ASMTPServer: WideString; SMTPServerPort: Integer;
Const AFrom, ATo, ASubject, ATextBody: WideString;
FileList: TStrings;
AUserName, APassword: String;
ASSL: Boolean;
Const ACharSet: WideString = «utf-8»);

Var
I: Integer;
pMessage,
pAttachment,
pConfiguration,
pFields,
pField: OleVariant;
Begin
pMessage:=CreateComObject(CLASS_Message) as IDispatch;

pMessage.BodyPart.Charset:=ACharSet;
pMessage.To:=ATo;
pMessage.From:=AFrom;
pMessage.Subject:=ASubject;
pMessage.TextBody:=ATextBody;
pMessage.AutoGenerateTextBody:=True;
pMessage.MimeFormatted:=True;

for I:=0 to FileList.Count — 1 do
begin
pAttachment:=pMessage.AddAttachment(FileList[I], «», «»);
mLog.Lines.Add(» файл к отправке: » + FileList[I]);
end;

pConfiguration:=CreateComObject(CLASS_Configuration) as IDispatch;

pFields:=pConfiguration.Fields;
pField:=pFields.Item(WideString(cdoSendUsingMethod));
pField.Value:=Integer(cdoSendUsingPort);
pField:=pFields.Item(cdoSMTPServer);
pField.Value:=ASMTPServer;
pField:=pFields.Item(WideString(cdoSMTPServerPort));
pField.Value:=SMTPServerPort;
pField:=pFields.Item(WideString(cdoSMTPAuthenticate));

if APassword = «» then
pField.Value:=cdoAnonymous
else
pField.Value:=cdoBasic;

pField:=pFields.Item(WideString(cdoSendUserName));
pField.Value:=AUserName;
pField:=pFields.Item(WideString(cdoSendPassword));
pField.Value:=APassword;

if APassword <> «» then
begin
pField:=pFields.Item(WideString(cdoSMTPUseSSL));
pField.Value:=ASSL;

if ASSL then
mLog.Lines.Add(» подключение через безопасное соединение (SSL)»);
end;

Задаю такие параметры:

ASMTPServer = smtp.mail.ru
SMTPServerPort = 25
AFrom = email
ATo = email
ASubject = subject
ATextBody = textbody
FileList = список файлов
AUserName = логин (почтовый ящик)
АPassword = пароль от ящика
ASSL = FALSE

Пробую с двумя почтовыми ящиками на маил.ру.

Если параметр авторизации = cdoAnonymous, то первый ящик отправляет письмо.
А второй выдает ошибку:
«Код ошибки транспорта: 0x800ccc65. Отклик сервера: 503 Administrative prohibition — authorization required. Users in your domain are not allowed to send email without authorization. See http://help.mail.ru/mail-help/mailer/popsmtp for details»

Если параметр авторизации = cdoBasic и заполняю АPassword, то первый и второй ящик выдает ошибку.
«Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available»

Подскажите, пожалуйста, где может быть ошибка.


MTK ( 2012-07-11 13:51 ) [2]

хм. список cdo констант на форум не добавляются


MTK ( 2012-07-11 13:53 ) [3]

Const
CLASS_Message: TGUID = ««;
CLASS_Configuration: TGUID = ««;
cdoSendUsingMethod = «schemas.microsoft.com/cdo/configuration/sendusing»;
cdoSMTPServer = «schemas.microsoft.com/cdo/configuration/smtpserver»;
cdoSMTPServerPort = «schemas.microsoft.com/cdo/configuration/smtpserverport»;
cdoSMTPAuthenticate = «schemas.microsoft.com/cdo/configuration/smtpauthenticate»;
cdoSendUsingPort = $00000002;
cdoAnonymous = $00000000;
cdoBasic = $00000001;
cdoSendUserName =»schemas.microsoft.com/cdo/configuration/cdoSendUserName»;
cdoSendPassword=»schemas.microsoft.com/cdo/configuration/cdoSendPassword»;
cdoSMTPUseSSL=»schemas.microsoft.com/cdo/configuration/smtpusessl»;


Dennis I. Komarov © ( 2012-07-12 22:06 ) [4]

И что? Сорсы компонента закрыты? Ну тогда ССЗБ. Курить RFC по SMTP в последних редакциях (версиях).

P.S. SMTP не сложный протокол. TTcpClient 🙂


Anatoly Podgoretsky © ( 2012-07-13 07:38 ) [5]

> Dennis I. Komarov (12.07.2012 22:06:04) [4]

Зато расширения сложные, относительно


MTK ( 2012-07-13 14:08 ) [6]

Скачал Synapse. За пару минут переделал. Теперь всё работает ))

1C 7.7 Отправка почты с помощью CDO

Сегодня у одних моих клиентов перестала работать отправка почты через mail.ru. Рассылка была настроена самописной внешней обработкой с использованием компоненты CDO.Configuration.

Надо сказать, что Mail.ru и Yandex.ru совсем недавно поменяли настройки своих серверов исходящей почты, из-за чего все это и случилось.

Вроде бы ничего сложного. Все настройки (имена серверов, номера портов и т.п.) есть в помощи этих служб. Но мне пришлось помучиться, чтобы все заработало.

На форумах, не смотря на многочисленные посты, внятных ответов было не много. Для пробы, попробовал настроить почту через Яндекс — получилось с первого раза. А вот при отправке через Mail.ru выходила ошибки:

CDO.Message.1: Транспорту не удалось подключиться к серверу

Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available

Честно говоря, даже не понял, в чем была моя ошибка, поскольку код для них в результате оказался идентичен. Приведу пример рабочего кода для обоих этих сервисов.

Яндекс:

iMsg.From = «Программист 1C»»»» «;

iMsg.Subject = «Тема письма»;

iMsg.textBody = «Тело письма»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»). Value = 2;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»). Value = «smtp.yandex.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»). Value = «465»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»). Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»). Value = «otpravitel@yandex.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»). Value = «пароль»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»). Value = 1;

Сообщить(«Письмо не отправлено. Ошибка : «+Ошибка = ОписаниеОшибки(); ,»!»);

Mail.ru

iMsg.From = «Программист 1C»»»» «;

iMsg.Subject = «Тема письма»;

iMsg.textBody = «Тело письма»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing»). Value = 2;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver»). Value = «smtp.mail.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport»). Value = «465»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate»). Value = 1;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername»). Value = «otpravitel@list.ru»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword»). Value = «пароль»;

iConf.Fields.Item(«http://schemas.microsoft.com/cdo/configuration/smtpusessl»). Value = 1;

Сообщить(«Письмо не отправлено. Ошибка: «+ОписаниеОшибки(),»!»);

Код ошибки транспорта 0x80040217

Summary: Transport Error Code was 0X80040217 errors might be caused by many reasons, especially bad registries or Trojan infection. And it’s easy to find that your Opening programs will be slower and response times lag as well. Most Importantly, If you run several program at the same time, your PC will encounter sudden crash and unexpected freezes. The main source of these performance decreases are startup clutter, registry errors, RAM decline, fragmented files, unnecessary or redundant program installations, etc.

Resolution: If you fix Transport Error Code was 0X80040217 error in time, your PC will run like brand new. In order to fix your errors and speed up PC, it is recommended that your download the ‘Transport Error Code was 0X80040217 Repair Tool‘. It’s an amazing software which is designed for users to troubleshoot Transport Error Code was 0X80040217 errors efficiently..

Try Transport Error Code was 0X80040217 Removal Program Now

In order to repair Transport Error Code was 0X80040217 issue, use the SmartPCFixer software program. This system optimizer software is already proven to locate, identify, and troubleshoot Transport Error Code was 0X80040217 errors. Your computer should run faster and smoother after using this software.

What Else Does SmartPCFixer Offer You?

Apart from fixing Transport Error Code was 0X80040217 problems, SmartPCFixer is designed to provide the user’s computer system with better optimization, which helps you manage startup items, desktop, browser objects, Internet, system service, Windows optimization, file extensions and so on. With these sophisticated utilities your system is tuned up to run at the optimal state.

SmartPCFixer is designed to scan, diagnose and repair your operating system. Using it results in better optimization, manages startup and desktop, assists you with maintaining browser objects, internet options, system service, and repairs file extensions. With this arsenal of powerful, sophisticated utilities your system is tuned to run at its optimal state. Included are Easy Repair Wizard, Error Utilities, File Association fixer, Register ActiveX, Shortcuts Fixer, Winsock2 Repair toolkit, Dll Fixer and more.

Conclusions:

We should never ignore Transport Error Code was 0X80040217 problem when we encounter it at the first time. If Transport Error Code was 0X80040217 error cannot be troubleshooted in a effective way, you may received more severe computer problems. Therefore, for the sake of computer security and personal information, you need to get rid of Transport Error Code was 0X80040217 error as soon as possible with the guide in this post. SmartPCFixer can be your best choice to remove Transport Error Code was 0X80040217 error in time.

Код ошибки 0х80073712 как исправить

Сегодня разберем классическую проблему появления кода ошибки в Windows. Код ошибки 0х80073712 появляется в Windows 10 и связан с Центром обновлений, что же это за ошибка, которая появляется у многих пользователей?

Определение ошибки 0х80073712

Подобный код означает проблему в системе. Редкий случай, когда ошибка исчезает сама, поэтому необходимо вмешательство пользователя. Ошибка 0х80073712 выскакивает при невозможности выполнить автоматическое обновление системы. Особенно это сказывается при закачке глобальных обновлений.

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

Список полезных ссылок по теме:

Как исправить ошибку 0х80073712

Разберем пару моментов, которые помогут нам разобраться с проблемой центра обновлений. В интернете на официальном сайте Microsoft можно скачать утилиту для исправления проблем с центром обновлений. Полезная штука, не так ли? Потом попробуем почистить уже установленные обновления с помощью очистки диска.

Находим по запросу «update troubleshooter» сайт Microsoft и скачиваем оттуда утилиту.

Скачанную утилиту запускаем и выбираем пункт, который необходимо починить. В нашем случае «Центр обновления Windows». Потом жмём кнопку «Далее».

Программа начнёт искать неполадки центра обновлений и в случае чего автоматически их устранит.

Возможно появится окно, где нужно предоставить права администратора для устранения причин. Тогда нажмите соответствующую кнопку. После чего снова выбираем пункт центр обновления и щелкаем по кнопке «Далее».

Закрываем окно, когда процесс исправления завершиться успешно.

Еще необходимо заново запустить Update Troubleshooter продиагностировать уже сети Windows. Делаем те же процедуры, что и выше.

Программа должна запросить перезагрузку системы, это обязательное условие. Если ничего не появилось, перезагружаем компьютер самостоятельно.

После перезагрузки зайдите в центр обновления и попытайтесь заново загрузить обновы. Надеюсь, у вас всё получилось. Если нет, идём дальше.

Утилита очистка диска для исправления ошибки 0х80073712

Заходим в каталог «Компьютер» и нажимаем по системному диску правой кнопкой мышки. Выбираем пункт «Свойства».

В свойствах перейдите во вкладку «Общие» и нажмите кнопку «Очистка диска». Подождите пока система оценит дисковое пространство и наличие файлов, драйверов и программ на разделе.

В следующем окошке уже щелкаем по кнопке «Очистить системные файлы» и также ждём процесс оценки раздела.

В этом окне отмечаем галочками «Временные файлы», можно отметить пункты «Файлы журнала обновлений Windows», «Пакеты драйверов устройств», «Временные файлы установки Windows».

Восстановление образа

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

Запускаем командую строку с повышенными привилегиями и пишем следующую команду:

DISM.exe /Online /Cleanup-image /Scanhealth

Так мы проверим повреждён ли образ. Ждём окончания процесса. В случае отрицательного результата вводим команду для восстановления:

DISM.exe /Online /Cleanup-image /Restorehealth

Теперь вы можете попробовать запустить центр обновлений и скачать что-то.

Если вышеизложенные методы вам не помогли, то есть возможность вернуть Windows в исходное состояние, например, с помощью токи восстановления или диска восстановления.

Я пытаюсь отправить письмо

Но я получаю эту ошибку.

Сообщение не может быть отправлено на SMTP-сервер. Код ошибки транспорта: 0x80040217. Ответ сервера недоступен

любой, кто имеет какое-либо представление об этом, пожалуйста, помогите мне

4 ответы

Обнаружено, что вы также можете получить эту ошибку, когда настройки безопасности Gmail не разрешают отправлять сообщения с адреса, который вы собираетесь использовать. Мне пришлось включить доступ для менее безопасных приложений для моей учетной записи, о которой идет речь, следующим образом:

  1. Войдите в адрес, который вы хотите использовать для отправки электронной почты из Excel.
  2. Посетите страницу https://www.google.com/settings/security/lesssecureapps
  3. Нажмите «Включить менее безопасные приложения».
  4. Нажмите Готово.

Создан 04 ноя.

Это вызвано неправильным именем пользователя или паролем для SMTP-сервера и обычно означает, что сервер отключил вашу учетную запись для рассылки спама, если вы отправили 1500 писем.

Создан 10 фев.

Спасибо за ваши ответы, это сработало! это было потому, что у меня не была включена эта опция:
https://www.google.com/settings/security/lesssecureapps
Если кому-то это нужно, это код VBScript, который я использую в Qlikview:

SUB SendMail
    Dim objEmail

    Const cdoSendUsingPort = 2  ' Send the message using SMTP
    Const cdoBasicAuth = 1      ' Clear-text authentication
    Const cdoTimeout = 60       ' Timeout for SMTP in seconds

     mailServer = "smtp.gmail.com"
     SMTPport = 465     '25 'SMTPport = 465
     mailusername = "marcos.esgu**@gmail.com"
     mailpassword = "Ki***"

     mailto = "marcos.esgu**@*****" 
     mailSubject = "my test-deleteme" 
     mailBody = "This is the email body" 

    Set objEmail = CreateObject("CDO.Message")
    Set objConf = objEmail.Configuration
    Set objFlds = objConf.Fields

    With objFlds
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = mailServer
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPport
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = cdoTimeout
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasicAuth
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = mailusername
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = mailpassword
        .Update
    End With

    objEmail.To = mailto
    objEmail.From = mailusername
    objEmail.Subject = mailSubject
    objEmail.TextBody = mailBody
    'objEmail.AddAttachment "C:report.pdf"
    objEmail.Send

    Set objFlds = Nothing
    Set objConf = Nothing
    Set objEmail = Nothing
END SUB

ответ дан 03 авг.

Была такая же проблема с использованием BizTalk, где обработчик адаптера по умолчанию указал использование проверки подлинности NTLM (по умолчанию). Несмотря на то, что я указал переопределить обработчик в свойствах порта отправки, BizTalk не позволил мне переопределить обработчик адаптера по умолчанию. Мне нужно было изменить обработчик адаптера по умолчанию, чтобы заставить его работать.

Теперь это работает!

Создан 16 фев.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

asp.net
smtp

or задайте свой вопрос.

Понравилась статья? Поделить с друзьями:
  • Не удалось обновить определение системы защиты код ошибки 2145107924
  • Не удалось отправить смс через мтс ошибка 38
  • Не удалось запустить эмулятор не удалось запустить движок код ошибки 1 gameloop
  • Не удалось обновить конфигурацию загрузки компьютера невозможно продолжить установку как исправить
  • Не удалось обновить айфон произошла неизвестная ошибка 4013