Помогите пожалуйста с отправкой почты по ESMTP через HTTP прокси.
вот лог соединения:
16.7.2008 17:25:28 - C: CONNECT smtp.mail.ru:25 HTTP/1.1
16.7.2008 17:25:28 - C:
16.7.2008 17:25:31 - S: HTTP/1.1 200 OK
16.7.2008 17:25:31 - S: Proxy-Connection: keep-alive
16.7.2008 17:25:31 - S:
16.7.2008 17:25:31 - S: 220 mail.ru ESMTP Wed, 16 Jul 2008 17:25:20 +0400
16.7.2008 17:25:31 - C: EHLO xakpc
16.7.2008 17:25:31 - S: 500 unrecognized command
500 unrecognized command
Порядок соединения с проксей таков:
для соединения использую SOCKET
1) соединяюсь с проксей
2) шлю CONNECT..., потом пустую строку
3) читаю ответ, пока не встречу пустую строку
4) читаю ответ уже от почтового сервера
5) шлю EHLO — в итоге ошибка. даже две подряд!
как прокси-сервер использую SmallProxy. При попытках использовать анонимные или любые другие прокси-адреса из интернета возникает ошибка:
16.7.2008 17:21:45 - Подключаюсь к прокси серверу.
16.7.2008 17:24:45 - Соединение: Требуемый адрес для своего контекста неверен.
Без прокси-сервера все прекрасно работает.
Аргумент HELO/EHLO, вообще-то, должен быть FQDN.
Еще хорошо убедиться в правильных символах конца строки.
~ :) nc localhost 8888
CONNECT smtp.mail.ru:25 HTTP/1.0
HTTP/1.0 200 Connection established
Proxy-agent: tinyproxy/1.6.3
220 mail.ru ESMTP Thu, 17 Jul 2008 16:12:34 +0400
EHLO f.q.d.n
250-mx38.mail.ru Hello f.q.d.n [78.110.162.163]
250-SIZE 31457280
250-8BITMIME
250-AUTH PLAIN LOGIN
250 PIPELINING
QUIT
221 mx38.mail.ru closing connection
Тебе, собственно, зачем? Спамить — нехорошо!
Здравствуйте, Roman Odaisky, Вы писали:
RO>Аргумент HELO/EHLO, вообще-то, должен быть FQDN.
т.е., в данном случае, мне надо mail.ru что ли?
как я вижу это не критично. и 500 ошибку не вернет.
RO>Еще хорошо убедиться в правильных символах конца строки.
символы верные, отправка без прокси проходин на ура.
RO>Тебе, собственно, зачем? Спамить — нехорошо!
не для спама. поехали ставить модуль — оказалась у заказчика прокси.