Апр
14
2009
Проверить SMTP авторизацию.
Строил почтовый сервер с SMTP авторизацией и застрял на том, что нужно проверить SMTP диалог из консоли. Когда без авторизации все понятно:
>telnet hilik.org.ua 25 220 hilik.org.ua ESMTP Postfix >ehlo localhost.localdomain 250-hilik.org.ua 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN >mail from:<hilik@hilik.org.ua> 250 2.1.0 Ok >rcpt to:<hilik@ukr.net> 250 2.1.5 Ok |
Но когда надо проверить авторизацию, то логин пароль plain текстом не впишешь, нужно обработать через base64 строку из логина и пароля со \0. К примеру для логина hilik@hilik.org.ua и пароля hilik-222, надо закодировать такую строку:
\0hilik@hilik.org.ua\0hilik-222 |
Сделать это можно с помощью утилиты mmencode. Она есть в портах:
cd /usr/ports/converters/mmencode make install clean |
И теперь сделаем так:
echo \0hilik@hilik.org.ua\0hilik-222|mmencode MGhpbGlrQGhpbGlrLm9yZy51YTBoaWxpay0yMjIK |
Получившийся набор годится для авторизации. Проверить можно так:
>telnet hilik.org.ua 25 220 hilik.org.ua ESMTP Postfix >ehlo localhost.localdomain 250-hilik.org.ua 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN >AUTH PLAIN MGhpbGlrQGhpbGlrLm9yZy51YTBoaWxpay0yMjIK 235 2.7.0 Authentication successful >mail from:<hilik@hilik.org.ua> 250 2.1.0 Ok >rcpt to:<hilik@ukr.net> 250 2.1.5 Ok |
Строка 235 2.7.0 Authentication successful означает, что авторизация построена правильно.
By sim.sim, 15.04.2009 @ 10:18
если установлен python:
python -c «print ‘hilik@hilik.org.uahilik-222’.encode(‘base64’)»