Как работают авторизации AUTH PLAIN и AUTH LOGIN
AUTH PLAIN:
1 2 3 4 5 6 7 8 9 10 | #!/usr/local/bin/expect -f set host case.net.ru spawn telnet "$host" 25 expect "220 case.net.ru ESMTP Postfix" send "EHLO localhost\r" expect "250-case.net.ru" send "AUTH PLAIN AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2\r" expect "235 2.7.0 Authentication successful" send "QUIT\r" interact |
Где 7 строка – это авторизация в формате base64, полученная одним из следующих способов:
1 2 3 4 | $ perl -MMIME::Base64 -e 'print encode_base64("\000test\@case.net.ru\000123456");' AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2 $ php -r 'echo base64_encode("\000test@case.net.ru\000123456");' AHRlc3RAY2FzZS5uZXQucnUAMTIzNDU2 |
AUTH LOGIN:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/usr/local/bin/expect -f set host case.net.ru spawn telnet "$host" 25 expect "220 case.net.ru ESMTP Postfix" send "EHLO localhost\r" expect "250-case.net.ru" send "AUTH LOGIN\r" expect "334 VXNlcm5hbWU6" send "dGVzdEBjYXNlLm5ldC5ydQ==\r" expect "334 UGFzc3dvcmQ6" send "MTIzNDU2\r" expect "235 2.7.0 Authentication successful" send "QUIT\r" interact |
Где строки:
08 – Username:
09 – Имя пользователя в base64
10 – Password:
11 – Пароль в base64
Имя пользователя и пароль получаем следующим образом:
1 2 3 4 | $ php -r 'echo base64_encode("test@case.net.ru");' dGVzdEBjYXNlLm5ldC5ydQ== $ php -r 'echo base64_encode("123456");' MTIzNDU2 |
