Я пытаюсь отправить письмо
Но я получаю эту ошибку.
Сообщение не может быть отправлено на SMTP-сервер. Код ошибки транспорта: 0x80040217. Ответ сервера недоступен
любой, кто имеет какое-либо представление об этом, пожалуйста, помогите мне
У меня есть функция в моей программе, которая отправляет электронное письмо из учетной записи Google.
Я написал этот код некоторое время назад, и раньше он работал нормально, он отправлял электронную почту так, как предполагалось. Однако теперь я не мог заставить его работать. (Сейчас я работаю над 7-разрядной версией Windows 64, если это имеет значение).
Ошибка, которую я получаю (это первое сообщение об ошибке из кода):
Это код:
void sendEmail(string [] emailList, int emailLength, string fileName)
{
int i = 0; //variable to act as temporary index into emailList array
try
{
try
{
MailMessage message = new MailMessage();
//Because using google server, requires SSL
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1 );
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendusername","theusername@gmail.com" );
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendpassword","thepassword" );
message.From = "theusername@gmail.com";
message.To = emailList[i];
//add Bcc
while (++i < emailLength)
{
message.Bcc = emailList[i];
}//end while
message.Subject = "Test Subject";
message.Body = "Test Body";
MailAttachment fileAttach = new MailAttachment(fileName);
message.Attachments.Add(fileAttach);
try
{
SmtpMail.SmtpServer = "smtp.gmail.com";
Заранее спасибо!
interessante optegnelser
Hvordan beskytter jeg mit guavatræ mod insekter?
Hvad er disse hvide uregelmæssige pletter på mine agurke- og melonplanter?
pH og beluftning af vand
Jeg lufter mit vand, før jeg bruger dem på mine planter. Jeg vil gerne vide, om jeg skal gå efter vandets pH før eller efter beluftning.
Brune pletter på alovera
Er min halte Elefantør død?
Beskæring af en grædende morbær
Foreslå en æblevariant, der vokser godt i Long Island NY uden pesticider
Hvilken slags ukrudt overtager dette gården?
Kan nogen identificere dette? Det begynder at overtage dele af min have. Jeg er i Chicago, hvis det hjælper. Når vi først har identificeret det, er der nogen anbefalinger til at afbøde det?
Trellis til opretstående brombær?
Jeg købte noget “Prime-Ark® Freedom Primocane Blackberry”. Cirka 4-5 af dem plantede jeg i et hjørneområde nær min have (mod et hegn). De er beregnet til at være en opret stok, og mens de ikke er det
Hvad er denne uregelmæssigt formede blålig blomst?
Hvad er denne uregelmæssigt formede blålig blomst? ZONE 7. Halvskygge.
Hvilken del af en brombærbuske planter jeg for at lave en ny busk
Dækker jord af hestehalepalme
Jeg har for nylig erhvervet en hestehalehåndflade, som er i live, selvom den ikke blev taget hånd om i god tid før min erhvervelse. En ting, jeg bemærkede, er at potten var dækket af klipper, der ser ud til at være smeltet sammen
Опубликовал | Дата 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();
Сообщить(“Письмо отправлено.”);
Исключение
Сообщить(“Письмо не отправлено. Ошибка: “+ОписаниеОшибки(),”!”);
КонецПопытки;
КонецПроцедуры
Опубликовал | Дата 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();
Сообщить(“Письмо отправлено.”);
Исключение
Сообщить(“Письмо не отправлено. Ошибка: “+ОписаниеОшибки(),”!”);
КонецПопытки;
КонецПроцедуры
4 ответы
Обнаружено, что вы также можете получить эту ошибку, когда настройки безопасности Gmail не разрешают отправлять сообщения с адреса, который вы собираетесь использовать. Мне пришлось включить доступ для менее безопасных приложений для моей учетной записи, о которой идет речь, следующим образом:
- Войдите в адрес, который вы хотите использовать для отправки электронной почты из Excel.
- Посетите страницу https://www.google.com/settings/security/lesssecureapps
- Нажмите «Включить менее безопасные приложения».
- Нажмите Готово.
Создан 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 задайте свой вопрос.
Videonet + hMailServer
Videonet + hMailServer
Добрый день.
Возникла необходимость получать результаты автоматической диагностики с удаленных офисов. Решил для этих целей поднять сервачок hMailServer. Установил, настроил, протестил на обычных почтовых клиентах – все работает.
Однако при попытке настроить рассылку в Videonet получаю ошибку 0x80040217 при отправке тестового сообщения. К ошибке комментарий о том, что нельзя подключиться к SMTP-серверу – отклик не получен. Хотя на этом же компьютере, с почтовика все отправлется. Настройки идентичные, фаервол отрублен.
Коллеги, интересно Ваше мнение по поводу данной проблемы.
- varaktor
- Пользователь
- Сообщений: 63
Re: Videonet + hMailServer
Stranger » 11 ноя 2010, 10:59
Здравствуйте.
Можете точно описать, какие именно настройки Вами производились на вкладке “Дополнительно” в свойствах реакции “Сообщение по электронной почте” (или привести скриншот данной вкладки)?
Владимир ШерстобоевТехническая поддержка компьютерных системтел.: (812) 448-10-10e-mail:
support@videonet.ru
- Stranger
- Специалист
- Сообщений: 1013
varaktor » 12 ноя 2010, 09:57
Адреса для отправки:
main@video.net
Заголовок сообщения: test
Текст сообщения: test
SMTP-сервер: 192.168.101.139 (или MAILSERV)
Порт SMTP: 25
Авторизация:
videonet-1@video.net
(или videonet-1)
Пароль: ******
Результат: Информационное окно “Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик от сервера: not available”
В логах сервера пишет про ошибку аутентификации, т.е. соединение устанавливается, но аутентификация не проходит. Однако, с почтовика при тех же самых настройках все прекрасно отправляется.
- varaktor
- Пользователь
- Сообщений: 63
dr0m0k » 12 ноя 2010, 11:35
галка “подключиться через безопасное соединение” стоит? если стоит – убери, попробуй.
-
dr0m0k - Гуру
- Сообщений: 2196
Stranger » 12 ноя 2010, 12:26
varaktor писал(а):Адреса для отправки:
Заголовок сообщения: testТекст сообщения: testSMTP-сервер: 192.168.101.139 (или MAILSERV)Порт SMTP: 25Авторизация:
(или videonet-1)Пароль: ******
Результат: Информационное окно “Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик от сервера: not available”
В логах сервера пишет про ошибку аутентификации, т.е. соединение устанавливается, но аутентификация не проходит. Однако, с почтовика при тех же самых настройках все прекрасно отправляется.
Данная ситуация при описанных Вами настройках может возникать в случае указания неверной учетной записи или неправильного ее пароля. Обращаю Ваше внимание на то, что обычно smtp-сереры требуют указания учетной записи целиком (включая домен).
В тестовых целях рекомендую создать на smtp-сервере и использовать в VideoNet почтовую учетную запись без знаков препинания с цифровым паролем.
Владимир ШерстобоевТехническая поддержка компьютерных системтел.: (812) 448-10-10e-mail:
support@videonet.ru
- Stranger
- Специалист
- Сообщений: 1013
varaktor » 12 ноя 2010, 12:30
Проблема кроется в стандарте протокола SMTP, используемого Videonet. Videonet начинает сессию с команды EHLO (расширенный протокол ESMTP). Если принимающая сторона не понимает EHLO, то Videonet выдает, что отклик не получен. А почтовик начинает сессию с команды HELO и мой сервер понимает такую сессию, поэтому все отправляется.
Как я понимаю изменить протокол в Videonet не получится, буду пробовать ковыряться с настройками hMailServer:(
- varaktor
- Пользователь
- Сообщений: 63
varaktor » 13 ноя 2010, 13:26
Решено более тонкой настройкой сервера. Спасибо за внимание.
- varaktor
- Пользователь
- Сообщений: 63
Вернуться в Вопросы настройки системы
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0