1. читаешь
описание протокола MRA
2. изучаешь
winsock
3. учишся работать сниффером
Ну а теперь по делу.
1. Тебе нужно сконектится с сервером mrim.mail.ru по порту 2042 или в случае неудачи по порту 433, он тебе ответит такой примеро строчкой "94.100.179.34:2041" тобишь IP:PORT
2. конектишся по этому ip и порту
послылаешь серверу пакет MRIM_CS_HELLO он тебе отвечает MRIM_CS_HELLO_ACK в котором будет содержатся период пинга (обычно 30 сек) создаешь новый поток который будет послыать пинг через указанный интервал (ну выучишь че такое СreateThread и WaitForSingleObject)
3. сервер постоянно шелт тебе пакеты которые ты должен принимать и разбирать
поэтому создаешь еще 2 потока
один приема другой отправки.
4 после установки соединения и приема от сервака пакета MRIM_CS_HELLO_ACK
генерируешь MRIM_CS_LOGIN2 пакет и шлеш его серваку
в случае успешной авторизации он тебе пришлет MRIM_CS_LOGIN_ACK или MRIM_CS_LOGIN_REJ при неудаче...
З.Ы: любые данные серверу после авторизации нужно слать только после того как сервер пришлет MRIM_CS_USER_INFO...
если делать будет мне нефиг напишу статейку, давно обещал.