|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 1, 2004 22:06:05 hi, решил тут простенький мэйлер накодить, который был бы с аутентификацией, но понять не могу как она проходит, пробовал по RFC на mail.ru залогиниться, но вечно вылазиет ошибка... Аутентификация проходит с логином и паролем кодироваными Base64, прога которая лежит на wasm'е неправильно кодирует, либо не так как надо... Написал свою с использованием либы - результат тот же... Может у кого-нибудь уже есть реализация? Поделитесь plz если есть... У кого какие мысли по этому поводу? |
|
|
Дата: Июл 1, 2004 22:12:40 sourceforge.net --> Search --> Mail Client (or Mailer) думаю, найдешь ответ там |
|
|
Дата: Июл 1, 2004 22:35:05 · Поправил: hello_world Если речь идет о SMTP то для аутентификации на mail.ru пароль вообще не нужен. d:\>telnet smtp.mail.ru 25 220 mail.ru ESMTP Thu, 01 Jul 2004 22:33:27 +0400 helo 1 250 mx2.mail.ru Hello 1 [195.16.37.166] mail from:<1@mail.ru> 250 OK rcpt to:<hello_world@bk.ru> 250 Accepted data 354 Enter message, ending with "." on a line by itself test . 250 OK id=1Bg6Ni-000JRZ-00 quit 221 mx2.mail.ru closing connection |
|
|
Дата: Июл 1, 2004 22:47:59 2 hello_world: не нужен если helo, а попробуй ehlo подать, а потом auth login или auth plain... интересен именно процесс аутентификации... |
|
|
Дата: Июл 1, 2004 23:09:49 · Поправил: hello_world Ну тогда давай свой код. В аттаче моя ф-ция SendMail + откуда-то рипнутая base64_encode но там логин и пароль надо в зашифрованном виде передавать, а еще надо передать AUTH строку. added: WSAStartup не забудь сделать. 1746555728__SendMail.inc |
|
|
Дата: Июл 2, 2004 03:44:48 2 hello_world: сенкс огромный за код... а вот что я нарыл про аутентификацию: Формируем строку PLAIN аутентификации (Netscape): su-2.05a# printf 'ginger@example.ru\0ginger@example.ru\0my-secret-pass' | mmencode Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M= su-2.05a# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 13:59:25 +0400 ehlo localhost 250-smtp.example.ru Hello localhost.localdomain [127.0.0.1] 250-SIZE 10485760 250-PIPELINING 250-AUTH PLAIN LOGIN CRAM-MD5 250 HELP auth plain 334 Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M= 235 Authentication succeeded quit 221 smtp.example.ru closing connection Connection closed by foreign host. Идем дальше - формируем строку LOGIN аутентификации (Outlook): su-2.05a# echo -n ginger@example.ru | mimencode -b Z2luZ2VyQGV4YW1wbGUucnU= su-2.05a# echo -n my-secret-pass | mimencode -b bXktc2VjcmV0LXBhc3M= su-2.05a# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 14:01:25 +0400 ehlo localhost 250-smtp.example.ru Hello localhost.localdomain [127.0.0.1] 250-SIZE 10485760 250-PIPELINING 250-AUTH PLAIN LOGIN CRAM-MD5 250 HELP auth login 334 VXNlcm5hbWU6 Z2luZ2VyQGV4YW1wbGUucnU= 334 UGFzc3dvcmQ6 bXktc2VjcmV0LXBhc3M= 235 Authentication succeeded quit 221 smtp.example.ru closing connection Connection closed by foreign host. Далее проверяем CRAM-MD5 аутентификацию (The Bat!), для этого выполним: su-2.05a# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 14:09:15 +0400 ehlo localhost 250-smtp.example.ru Hello localhost.localdomain [127.0.0.1] 250-SIZE 10485760 250-PIPELINING 250-AUTH PLAIN LOGIN CRAM-MD5 250 HELP auth cram-md5 334 PDI2NDAyLjEwNTY2MTE1NTVAc210cC5leGFtcGxlLnJ1Pg== Z2luZ2VyQGV4YW1wbGUucnUgYjllN2Q1OTUxMGMxNjE0YzIwYjU4N2JkNmFkODk2MDI= 235 Authentication succeeded quit 221 smtp.example.ru closing connection Connection closed by foreign host. |
|
|
Дата: Июл 2, 2004 03:48:10 Попробую переделать теперь свое все с твоей процей кодировки в base64, т.к. она отличается от той что есть здесь. Может твоя будет кодировать так как надо. |
|
|
Дата: Июл 2, 2004 03:51:07 Stub прога которая лежит на wasm'е неправильно кодирует, либо не так как надо... Клевета! |
|
|
Дата: Июл 2, 2004 19:42:36 · Поправил: Stub 2 Quantum: Это так, попробуй закодировать любую строку через нее, потом эту же строку через тот же Total Commander, сравнить результаты... Прога добавляет пробел в конец строки которую надо закодировать, как я понял дело в нуле, т.к. строка передается как ASCIIZ, хотя я пробовал с помощью либы переделывать под себя, передавая строку без 0 - результат тот же... |
|
|
Дата: Июл 2, 2004 19:47:07 2 hello_world: Ok, твоя base64_encode работает как надо, хороший сорец. Сенкс еще раз огромный, терь останется только собрать все в кучу и ловить баги :) |
|
|
Дата: Июл 3, 2004 03:33:12 Stub А что за строка? У меня никаких лишних пробелов не наблюдается. Тестировал на разных виндах. |
|
|
Дата: Июл 3, 2004 22:02:39 2 Quantum: Сорри, ты меня наверное просто не понял... приведу пример: кодируем testmail@mail.com с помощью твоей проги - результат dGVzdG1haWxAbWFpbC5jb20A кодируем эту же строку с помощью либы hello_world - результат dGVzdG1haWxAbWFpbC5jb20= Теперь с помощью того же Total Commander переводим обратно в ASCII - получаем разные строки, а именно в первом случае в конце строки пробел, во втором все нормально... |
|
|
Дата: Июл 3, 2004 23:18:58 Stub OK. Спасибо за пример! Бум думать. |
|
|
Дата: Июл 6, 2004 02:21:43 Разобрался. Моя ошибка :-( Всё из-за нулевого байта. Исправил процедуру преобразования в base64. Буду тестировать и оптимизировать снова и скоро попрошу администраторов обновить либу на сайте. Надо ещё исправить процедуру обратного преобразования... 265015660__b64_enc.asm |
|
|
Дата: Июл 7, 2004 21:41:42 Quantum > Разобрался. Моя ошибка :-( Надо было мне тебе раньше об этом сказать, ведь я уже читал упреки в адрес либы, но подумал мож они не умеют использовать ;-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.065 |