Пятница, 19.04.2024, 23:58 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
delphicode » Delphi » Вопросы по Delphi » Socket Error при отправке почты IdSMTP (indy)
Socket Error при отправке почты IdSMTP
Don_DiegoДата: Вторник, 25.09.2012, 21:26 | Сообщение # 26
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Quote (xXxSh@dowxXx)
тогда он точно покажет есть коннект или нету...

Так вот именно в дебаггере и останавливает на строчке
Code
smtp.Connect();

что в моем примере что в твоем. И снифера не нужно - просто не может законнектится. Скомпилируй у себя свой исходник (только без вирусов biggrin ), попробую что-то куда-то отправить. Если конечно есть левая почта и время это сделать. Может просто у меня компоненты инди устарели.
 
xXxSh@dowxXxДата: Вторник, 25.09.2012, 21:35 | Сообщение # 27
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
вот держи скомпилированный вариант, только что проверил, все работает, письмо входящее удалил, что бы не запутаться...

PS: УДАЛЕНО!


Сообщение отредактировал xXxSh@dowxXx - Среда, 26.09.2012, 13:51
 
Don_DiegoДата: Среда, 26.09.2012, 12:48 | Сообщение # 28
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Перепробовали уже все возможное и не возможное.
Отключал полностью системный файрволл, смотрел с помощью TCPView наличие занятости 25-го порта, проверяли с помощью других сайтов, запускали от имени администратора, тот же *exe что xXxSh@dowxXx скомпилировал у себя и у него работал - у меня нет. Варианты закончились...
А теперь представим что мне кто-то послал троян, и ждет логов... А в итоге вместо скрытного пользования у меня выскакивает сообщение о ошибке сокетов. Не хорошо... Так логов будешь вечность ждать.
Еще остался один вариант - провайдера сменить, но это не раньше выходных будет.

ПС: xXxSh@dowxXx, можешь уже удалить тот exe-шник с предыдущего поста smile


Сообщение отредактировал Don_Diego - Среда, 26.09.2012, 12:49
 
xXxSh@dowxXxДата: Среда, 26.09.2012, 13:53 | Сообщение # 29
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
Еще остался один вариант - провайдера сменить


ну ты пока не торопись его менять, проверь через кого нибудь на другом провайдере, хотя бы через бесплатный wi fi вдруг такая же фигня...?
тогда смысл менять провайдера отпадет...
 
Don_DiegoДата: Среда, 26.09.2012, 14:18 | Сообщение # 30
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Косвенно решил проблему таким путем:


Но перебор портов идет слишком медленно. Есть ли какая "база" "нормальных портов"? Чтобы в таком виде массив прогонять?
 
DelДата: Среда, 26.09.2012, 15:20 | Сообщение # 31
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Don_Diego, а какой у тебя провайдер?
 
xXxSh@dowxXxДата: Среда, 26.09.2012, 16:01 | Сообщение # 32
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego, а зачем тебе такой цикл, это же получается ты грубо говоря пытаешься законектиться на любом порте начиная от 1 до 65534, но ведь на сколько мне известно так нельзя делать, разве нет?
скажи что конкретно ты пытался осуществить этим кодом?


Сообщение отредактировал xXxSh@dowxXx - Среда, 26.09.2012, 16:01
 
DelДата: Среда, 26.09.2012, 16:06 | Сообщение # 33
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (xXxSh@dowxXx)
законектиться на любом порте начиная от 1 до 65534

а они не могут твой ай-пи забанить за то,что с него пытаются к каждому порту конектиться?
 
C@TДата: Среда, 26.09.2012, 18:57 | Сообщение # 34
Авторитетный
Зарегистрирован: 06.03.2010
Группа: Модераторы
Сообщений: 265
Статус: Offline
Quote (xXxSh@dowxXx)
Неужели только у меня одного работает 25й порт, ну это же бред, не так ли?


25-й порт блокирует провайдер, у меня было время что провайдер блокировал даже порт 2525 smile

Добавлено (26.09.2012, 18:54)
---------------------------------------------

Quote (Don_Diego)
Но перебор портов идет слишком медленно. Есть ли какая "база" "нормальных портов"? Чтобы в таком виде массив прогонять?


потоки тебе в помощь, все порты можно просканить примерно за 5 минут, при нормальном канале smile

Добавлено (26.09.2012, 18:57)
---------------------------------------------
P.S "умные" люди в спамерах делают настройку что бы он использовал хост и порт который ты укажешь в его настройках, не нужно урезать прогу в плане настройки, даже если эта программа для спама с чужих компов(малварь), то пусть она эти настройки получает из админки smile

 
Don_DiegoДата: Среда, 26.09.2012, 19:25 | Сообщение # 35
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Del, провайдер Life :), но это не Россия, тебе наверно мало о чем скажет.
Quote (xXxSh@dowxXx)
Don_Diego, а зачем тебе такой цикл, это же получается ты грубо говоря пытаешься законектиться на любом порте начиная от 1 до 65534, но ведь на сколько мне известно так нельзя делать, разве нет?
скажи что конкретно ты пытался осуществить этим кодом?

Да, я согласен что способ очень грубый. Но зато он рабочий. И не нужно сейчас тут вдаваться в детали )) Это всего-лишь наброски. А что хотел сделать: так это если на 25-й не коннектит, тогда перебираем каждый порт пока не попадем на нужный. Конечно, еще не хватает проверки условия законнектилось ли? Но это уже мелочи. Суть то не в этом.

C@T, вот разреши тогда вопрос? 25й порт на почту используется - это стандарт, а 2525 закреплен за чем-то? Или это свободный порт, взятый наугад? Да и я же не пытаюсь писать сканер портов, просто вот на такой компьютер как у меня попадет малварь - и работать не будет.
 
xXxSh@dowxXxДата: Четверг, 27.09.2012, 10:35 | Сообщение # 36
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
на сколько мне известно "2525" это альтернативный порт "25", но перед тем как его использовать лучше заранее проверить открыт ли такой порт на почтовом сервере, а проверить можно здесь...

на smtp.mail.ru например альтернативой для "25" порта являются "2525", "587" и "465" (SSL), возможно есть и еще какие то, но я о них не знаю...


Сообщение отредактировал xXxSh@dowxXx - Четверг, 27.09.2012, 10:42
 
DelДата: Четверг, 27.09.2012, 18:11 | Сообщение # 37
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Quote (xXxSh@dowxXx)
альтернативой для "25" порта являются "2525", "587" и "465"

на Яндексе похожие порта
 
xXxSh@dowxXxДата: Четверг, 27.09.2012, 19:13 | Сообщение # 38
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Del)
на Яндексе похожие порта

скорее всего они общепринятые для большинства почтовых серверов.
 
FrizДата: Четверг, 27.09.2012, 19:29 | Сообщение # 39
Был не раз
Зарегистрирован: 13.02.2011
Группа: Пользователи
Сообщений: 20
Статус: Offline
Нужно обрабатывать исключение разрыва соединения, как раз то что у тебя выскакивает. То есть если соединение потеряно, чтобы оно возобновлялось в каждом потоке если программа многопоточна.
 
FrizДата: Четверг, 27.09.2012, 19:31 | Сообщение # 40
Был не раз
Зарегистрирован: 13.02.2011
Группа: Пользователи
Сообщений: 20
Статус: Offline
Пример приводить не буду, так как пишу на другом языке. Но если нужно - продемонстрирую.
 
Don_DiegoДата: Четверг, 27.09.2012, 19:40 | Сообщение # 41
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Friz, твой способ действителен при плохом интернет-соединении. Тут же проблема в том что мы не знаем что или кто блокирует 25-й порт, тоесть соединиться вообще невозможно.
 
FrizДата: Четверг, 27.09.2012, 21:13 | Сообщение # 42
Был не раз
Зарегистрирован: 13.02.2011
Группа: Пользователи
Сообщений: 20
Статус: Offline
Алсо можно попробовать залезть в настройки роутера, попробовать открыть его там. Или позвонить провайдеру и попросить чтобы открыли.
 
xXxSh@dowxXxДата: Четверг, 27.09.2012, 21:47 | Сообщение # 43
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
Тут же проблема в том что мы не знаем что или кто блокирует 25-й порт

вроде бы мы уже определились с тем что скорее всего это провайдер, так как Don_Diego не через роутер в нет выходит, и другие причины мы уже проверили...
Quote (Friz)
позвонить провайдеру и попросить чтобы открыли

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

но все хе вполне можно временно использовать другой порт, пока провайдера не поменяли...
 
Don_DiegoДата: Пятница, 28.09.2012, 00:23 | Сообщение # 44
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Такс, поперся я таки сегодня вечером с ноутом в кафе. Пришлось даже чашку кофе заказать чтобы проверить что 25-й порт действительно закрыл мой провайдер! angry2
xXxSh@dowxXx, можешь проверить, логи там выслало.

Так что думаю единственный вариант - это использовать альтернативные порты.
 
xXxSh@dowxXxДата: Пятница, 28.09.2012, 01:17 | Сообщение # 45
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
xXxSh@dowxXx, можешь проверить, логи там выслало.

Значит все таки провайдер! Вот негодяи, а... moil

А менять прова все таки не будешь, или у Вас выбора большого нету?


Сообщение отредактировал xXxSh@dowxXx - Пятница, 28.09.2012, 01:19
 
Don_DiegoДата: Пятница, 28.09.2012, 02:00 | Сообщение # 46
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, та не, дело не в том чтобы провайдера менять. Тоесть нужен универсальный подход для отправки логов. Просто много чего вредного на моем компьютере работать не будет. А нужно чтобы работало при всех условиях. Но думаю тут ответ уже ясен - использовать дополнительные альтернативные порты. Тут уже никак не обойдешь такое ограничение.

Например для mail.ru это http://help.mail.ru/mail-help/mailer/popsmtp

Quote
Порт:
IMAP — 143 (при использовании шифрования STARTTLS) и 993 (при использовании шифрования SSL/TLS)
POP3 — 110 (без шифрования) и 995 (с шифрованием)
SMTP — 25, 587 или 2525 (без шифрования) и 465 (с шифрованием).
 
DelДата: Пятница, 28.09.2012, 16:10 | Сообщение # 47
Участник
Зарегистрирован: 20.08.2012
Группа: Пользователи
Сообщений: 69
Статус: Offline
Don_Diego, спасибо за ссылку.
 
dolphinДата: Четверг, 18.10.2012, 15:31 | Сообщение # 48
Администратор
Сообщений: 906
Статус: Offline
Вопрос до сих пор не решён?
 
Don_DiegoДата: Четверг, 18.10.2012, 20:11 | Сообщение # 49
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
dolphin, решилось отправкой через разные порты (из списка выше). Иначе никак...
 
delphicode » Delphi » Вопросы по Delphi » Socket Error при отправке почты IdSMTP (indy)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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