IRC
IrcNet.ru
Лица сети
Случайное фото
Перейти в альбом
На форуме
Нужен программист ...
XRumer 12.0.11: Р ...
Анекдоты
Помогите написать ...
Невозможно опреде ...
Вход в чат
Веб-гейт
Проверка e-mail через mIRC

 Дарова, перец. Итак, ты целое лето просидел в IRC и не научился ничему путному... Но ты помнишь и надеешься на xakep.ru - там тебя всегда научат. Вспомни ситуевину: сидишь ты в IRC и ждешь мыла от кого-нибудь.. Но не знаешь, пришло оно или нет. Знакомая ситуация? Дык вот, чтобы не дергаться и не запускать какой-нибудь там The Bat или упаси боже MS Outlook, ты реально можешь коннектиться к mail серваку твоим любимым mIRC`ом, благо создатели это предусмотрели, за что им хвала, почет и бочка пива.
В основу скрипта берется работа с сокетами. Главные функции - /sockread и /sockwrite - будут получать, и отправлять инфу с сервера и на сервер соответственно. Больно я тебя загрузил, без бутылки не обойтись - ответишь ты, поэтому перехожу прямо к делу.
Для того чтобы задать сведения для скрипта (логин, пароль, сервер и порт) тебе нужно кинуть этот кусок в PopUp. Для этого нажимай Alt+P в мирке, выбери в верхнем меню View->Status и вписать туда:


 MAIL
 .CHECK :/S_MAIL
 .SERVER :/set %server $$?="Server"
 .PORT :/set %port $$?="Port"
 .USER:/set %user $$?="User"
 .PASS:/set %pass $$?*="Pass"

И затем переключиться в Status, щелкнуть правой кнопой крысы, пройтись по всем пунктам в закладке MAIL, кроме CHECK (он у нас еще не готов) и установить все переменные, а именно: сервер, порт, почтовый логин и пароль.
После этого идем в Aliases (Alt+A) и вписываем туда (в любое место)


 /S_MAIL {
 set %i 0
 set %var 0
 /window -a @MAIL
 /sockopen mail %server %port
 }

 /E_MAIL {
 /echo @MAIL
 /echo @MAIL Thank for using mailchecker! Please, close this window! 4
 /sockclose mail | halt
 }

S_MAIL - старт проверки мыла. Обнуляет важные переменные, открывает новое окошко MAIL, в которое тебе будет идти лабуда о твоих новых сообщениях или о том, что таковых не имеется, и, пожалуй, самое главное - открывает сокет mail на сервер и порт, который ты указал раньше.
E_MAIL - концовка mailcheck скрипта: вывод рекламной лабуды и закрытие сокета.
И пожалуй самое важное - скрипт обмена данных между сервером и мирком. Это осуществит обработчик on sockread. Для этого переключимся в Remote (Alt+R) и впишем туда следующий скрипт:


 on 1:sockread:mail:{
 if ($sockerr > 0) return
 :parse
 sockread -n %var
 if ($sockbr == 0) return
 if (%var == $null) %var = -

 if (%i == 0) {
 if ($left(%var,4) == -ERR) { echo @MAIL ! Error ! : Server not READY! | e_mail }
 sockwrite -n mail user %user
 inc %i
 /echo @MAIL Connect ok, sending username %user | goto parse
 }

 if (%i == 1) {
 if ($left(%var,4) == -ERR) { echo @MAIL ! Error ! : Unknown or locked username! | e_mail }
 sockwrite -n mail pass %pass
 inc %i
 /echo @MAIL Sending password .. | goto parse
 }

 if (%i == 2) {
 if ($left(%var,4) == -ERR) { echo @MAIL ! Error ! : Password Incorrect or Locked mailbox! |
e_mail }
 sockwrite -n mail list
 inc %i
 /echo @MAIL Logged in... Get messages... | goto parse
 }

 if (%i == 3) {
 /echo @MAIL ----------------------
 /echo @MAIL Status for %user $+ :
 /echo @MAIL ----------------------
 e_mail
 }
 }

В данном скрипте все просто, и нет ничего лишнего. Скрипт посылает логин, пароль и запрос на количество сообщений. И фильтрует их на приеме: проверка на готовность почтового сервера, правильности логина и пароля и в любом случае корректно завершает работу с сервером. Настало время проверить работу скрипта. Выбирай в статусе Mail->Check и возрадуйся появлению нового окошка, в котором тебе придет инфа о новых мессагах, или не придет. В любом случае, после завершения работы скрипта закрой окошко.
И напоследок: чтобы не тянуться в статус в PopUp менюшку для проверки мыла, выполни команду: /alias F2 /s_mail - это позволит тебе проверять почту, всего лишь нажав кнопку F2.

© by Forb | 2001г