Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.06.2008, 10:17   #1
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
Печаль Отправка почты (smtp) через proxy

Так отправляю письма с помощью компонента indy:
Код:
  M := TIdMessage.Create(Form1);
  M.From.Text :=edit6.Text;  //отправитель
  M.Recipients.Add;
  M.Recipients.Items[0].Text :=edit5.Text; //Получатель
  M.Subject := 'transfer'; //Тема письма


if checkbox1.Checked then
          begin
          IdSMTP1.AuthenticationType := atLogin;
          IdSMTP1.Username := edit3.Text;
          IdSMTP1.Password := edit4.Text;
          end
             else IdSMTP1.AuthenticationType := atNone;
  IdSMTP1.Host := edit1.Text;
  idSMTP1.Port:= strtoint(edit2.Text);
  try
  IdSMTP1.Connect();
  except;
  end;
  if IdSMTP1.Connected then
  begin
  showmessage('Соединение установлено');
  try
    IdSMTP1.Send(M);
   except
    ShowMessage('Сообщение отправить не удалось');
    end;
 IdSMTP1.Disconnect;
  end  else  showmessage('Соединение не установлено');
Если интернет выделенка - работает без проблем, а вот если интернет через прокси - не хочет. В чем может быть застава?
P.S. В сетях разбираюсь слабо и с трудом представляю что такое proxy
dimonbest вне форума
Старый 13.06.2008, 12:38   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Уже объяснял (можно найти в поиске):
реализация HTTP- proxy и proxy для отправки почты совершенно разные и реализаций proxy для почты достаточно много, чтобы решить эту задачу в общем случае, посему Indy и не сделали настройки прокси в компоненте.
Есть 2 варианта:
если proxy и его тип известен заранее,то перед отправкой почты отдельно (с помощьюе, предположим, TidTcpClient) авторизуемся на прокси, а потом с помощью IdSmtp Отправляем письмо.
Если же тип proxy не известен, то это наиболее простым способом реализуется через Web- шлюз отправки почты (сделать его можно самому на любом бесплатном хостинге с поддержкой серверных скриптов), а потом уже из программы отправлять почту, общаясь с вашим созданным шлюзом.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Старый 13.06.2008, 14:04   #3
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Нашел только это:
http://programmersforum.ru/showthrea...F0%EE%EA%F1%E8
но здесь ответа нет!
Из двух вариантов что Вы мне предложили, мне подходит первый.
Где можно прочитать об этом подробнее?
dimonbest вне форума
Старый 13.06.2008, 14:54   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

попробуй так: кидаешь дополнительно IdSocksInfo и IdIOHandlerSocket, связываешь их с SMTP ,настраиваешь в них прокси и пробуешь.
2-й вариант попробуй в качестве smtp сервера указать адрес proxy который используется для smtp
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Старый 18.06.2008, 13:59   #5
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Со свойствами разобрался, а вот как связать их с SMTP?
dimonbest вне форума
Старый 18.06.2008, 15:45   #6
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

IdIOHandlerSocket1.Open; или
IdIOHandlerSocket1.ConnectClient();
Это как я понимаю надо сдежать перед тем как буду отсылать почту обычным путем, перед IdSMTP1.Send(M); ?
dimonbest вне форума
Старый 19.06.2008, 12:24   #7
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Узнал тип прокси - http, может это облегчит задачу?
dimonbest вне форума
Старый 19.06.2008, 19:20   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

ну собственно ничего не меняется: авторизуешься сначала на прокси, а потом отправляешь письмо
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Старый 19.06.2008, 23:04   #9
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

Не могу разобраться с этим:

IdIOHandlerSocket1.Open; или
IdIOHandlerSocket1.ConnectClient();
Это как я понимаю надо сдежать перед тем как буду отсылать почту обычным путем, перед IdSMTP1.Send(M); ?
Точнее какименно авторизироваться на прокси... Может есть готовый пример? Буду лчень благодарен!!!
dimonbest вне форума
Старый 20.06.2008, 14:07   #10
dimonbest
Форумчанин
 
Регистрация: 07.02.2008
Сообщений: 150
По умолчанию

В книге глубины инди нашел только описание (во вложении).
А вот как это реализовать - нет ни слова. Может кто то знает?
Изображения
Тип файла: jpg indy.jpg (40.9 Кб, 212 просмотров)
dimonbest вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка почты с Delphi 7 vitawt Работа с сетью в Delphi 20 04.06.2014 17:26
Отправка почты Fess HTML и CSS 15 11.03.2010 20:24
Отправка через SMTP Hottabych Работа с сетью в Delphi 3 09.02.2008 15:18
Отправка почты Fenix Nexsais Работа с сетью в Delphi 5 06.09.2007 22:27
Отправка почты Mikola PHP 4 12.08.2007 04:17