Автор Тема: Pop3 и Web Mail  (Прочетена 19512 пъти)

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Pop3 и Web Mail
« Отговор #30 -: Mar 03, 2005, 21:55 »
Даааа - същата грешка и при Evolution. Само, че при него няма файлове наречени popstate.dat, но явно има подобни файлове за всеки тип клиент.
Активен

It makes you awful glad that you were born a man.

DoctorA

  • Напреднали
  • *****
  • Публикации: 106
    • Профил
Pop3 и Web Mail
« Отговор #31 -: Mar 04, 2005, 00:50 »
такамм оправих бъга с stat ( сега ако абв.бг каже че е изтекла сесията ти връща -ERR UNKNOWN ERROR, PLEASE FIX ), и  инсталирах mozilla-thunderbird и проверих това за тегленето , оказа се, че клиента се опитва да изтрие всяко писмо след като го е изтеглил , като му кажеш да не прави така ( Edit => Account Settings => Server Settings => Leave messages on server = true ) се оправя
ето и новата версия на abv.lua
Примерен код
-- ************************************************************************** --
-- FreePOPs @abv.bg webmail interface
--
-- Released under the GNU/GPL license
-- Written by Georgi Saev <georgi_saev@abv.bg>
-- ************************************************************************** --

-- Globals
--
PLUGIN_VERSION = "0.1.1"
PLUGIN_NAME = "abv.bg"
PLUGIN_LICENSE = "GNU/GPL"
PLUGIN_DOMAINS = {"@abv.bg","@gyuvetch.bg","@gbg.bg"}
-- -------------------------------------------------------------------------- --
foo_globals= {  

  username="nothing",
  hostname="nothing",
  password="nothing",
  session_id="nothing",
  browser="nothing",
  stat_done=false
}
-- -------------------------------------------------------------------------- --
function init(pstate)
        freepops.export(pop3server)
        log.dbg("FreePOPs plugin '"..
        PLUGIN_NAME.."' version '"..PLUGIN_VERSION.."' started!\n")

   -- the serialization module
if freepops.dofile("serialize.lua") == nil then
      return POPSERVER_ERR_UNKNOWN
end
   -- the browser module
if freepops.dofile("browser.lua") == nil then
      return POPSERVER_ERR_UNKNOWN
end
   -- the common module
if freepops.dofile("common.lua") == nil then
       return POPSERVER_ERR_UNKNOWN
end
     -- checks on globals
freepops.set_sanity_checks()
return POPSERVER_ERR_OK
end
               --                                                                                                                                
      
-- -------------------------------------------------------------------------- --
-- Must save the mailbox name

function user(pstate,username1)  
   local at = string.find(username1, "@")
   local username = string.sub(username1,0,at-1)
   local hostname = string.sub(username1,at+1)
   foo_globals.username = username
   foo_globals.hostname = hostname
   print("*** the user wants to login as "..foo_globals.username.."@"..foo_globals.hostname.."'")
  return POPSERVER_ERR_OK
end
-- -------------------------------------------------------------------------- --
-- Must login
 
function pass(pstate,password)
        foo_globals.password = password
       -- create a new browser
       local b = browser.new()
       -- store the browser object in globals  
       foo_globals.browser = b
       -- create the data to post      
       local post_data = string.format("username=%s&password=%s&hostname=%s",foo_globals.username,foo_globals.password,foo_globals.hostname)
       -- the uri to post to  
       local post_uri = "http://mail08.abv.bg/app/servlet/bg.abv.mail.Login"
       -- post it      
       local file,err = nil, nil      
       file,err = b:post_uri(post_uri,post_data)
        -- search the session ID        
        local _,_,id = string.find(file,"jsessionid=(%w+)")
        if id == nil then              
         print("*** exiting")
               return POPSERVER_ERR_AUTH
        end
        foo_globals.session_id = id
   print("*** the user has logged in as "..foo_globals.username.."@"..foo_globals.hostname.."")

        return POPSERVER_ERR_OK
end

-- -------------------------------------------------------------------------- --
-- Fill the number of messages and their size

function stat(pstate)
      if foo_globals.stat_done == true then return POPSERVER_ERR_OK end
      local file,err = nil, nil
      local b = foo_globals.browser
      local session_id = foo_globals.session_id
      file,err = b:get_uri("http://mail08.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10")
      local _,_,id = string.find(file,"jsessionid=(%w+)")
        if id == nil then              
         print("*** exiting")
               return POPSERVER_ERR_UNKNOWN
        end
      local e = ".*<tr>.*<td>.*<input>.*</td>.*<td>.*<img>.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>.*<a>.*</a>.*</td>.*<td>[.*]{a}[.*]{/a}.*</td>.*<td>.*</td>.*<td>.*</td>.*</tr>"        
      local g = "O<O>O<O>O<X>O<O>O<O>O<O>O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>O<O>O<O>O<O>O<O>[O]{O}[O]{O}O<O>O<O>O<O>O<O>X<O>O<O>"
      local x = mlex.match(file,e,g)
      --debug print  
      x:print()
      set_popstate_nummesg(pstate,x:count())
      for i=1,x:count() do            
              local _,_,size = string.find(x:get(1,i-1),"(%d+)")
              local _,_,size_mult_k = string.find(x:get(1,i-1),"([Kk][Bb])")                        local _,_,size_mult_m = string.find(x:get(1,i-1),"([Mm][Bb])")
              local _,_,uidl = string.find(x:get(0,i-1),"value=\"(%d+)\"")
              if size_mult_k ~= nil then
                     size = size * 1024
         end            
              if size_mult_m ~= nil then
                     size = size * 1024 * 1024
         end            
         set_mailmessage_size(pstate,i,size)                    
              set_mailmessage_uidl(pstate,i,uidl)
      end
      foo_globals.stat_done = true
      return POPSERVER_ERR_OK
end
-- -------------------------------------------------------------------------- --
-- Fill msg uidl field
function uidl(pstate,msg) return common.uidl(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Fill all messages uidl field
function uidl_all(pstate) return common.uidl_all(pstate) end
-- -------------------------------------------------------------------------- --
-- Fill msg size
function list(pstate,msg) return common.list(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Fill all messages size
function list_all(pstate) return common.list_all(pstate) end
-- -------------------------------------------------------------------------- --
-- Unflag each message marked for deletion
function rset(pstate) return common.rset(pstate) end
-- -------------------------------------------------------------------------- --
-- Mark msg for deletion
function dele(pstate,msg) return common.dele(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Do nothing
function noop(pstate) return common.noop(pstate) end
--------------------------------------------------------------------------------

-- The callback factory for retr
--
function retr_cb(data)
        local a = stringhack.new()
        return function(s,len)
                s = a:dothack(s).."\0"          
                popserver_callback(s,data)              
                return len,nil
        end
end
-- -------------------------------------------------------------------------- --
-- Get message msg, must call  
-- popserver_callback to send the data
function retr(pstate,msg,pdata)          
        local data=pdata
   -- we need the stat
        local st = stat(pstate)
        if st ~= POPSERVER_ERR_OK then return st end
        -- the callback
   local cb = retr_cb(data)
        -- some local stuff
       local session_id = foo_globals.session_id
       local b = foo_globals.browser
       local uri ="http://mail08.abv.bg/app/servlet/bg.abv.mail.GetData;jsessionid="..session_id.."?fid=10&mid="..get_mailmessage_uidl(pstate,msg).."&nid=0&eid=-1&charset=Cp1251&ac=d"
        -- tell the browser to pipe the uri using cb
        local f,rc = b:pipe_uri(uri,cb)
        if not f then
                log.error_print("Asking for "..uri.."\n")
                log.error_print(rc.."\n")
                return POPSERVER_ERR_NETWORK
        end
return POPSERVER_ERR_OK
end

-- -------------------------------------------------------------------------- --
-- Must quit without updating

function quit(pstate)      
        return POPSERVER_ERR_OK
end
Активен

Meesa find yousa's lackin' in faith disturbin'

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Pop3 и Web Mail
« Отговор #32 -: Mar 04, 2005, 13:11 »
Братко!!!!
Работи без проблеми и Thundebird и Evolution (т.е. и freepops) разпознават грешките на сесиите. Супер!
Според мен, трябва да качиш abv.lua и config.lua в раздела на сайта - Made in BG!

Що се отнася до евентуални претенции, че се преодолява pop3 сървъра на abv, те са неоснователни, тъй като това е просто програма която изпълнява автоматично напълно законни и позволени от webmail операции, които иначе бих изпълнил ръчно. Как ще я използвам и под какви клиенти ще я накарам да работи си е моя работа.
Така, че хиляяяяяяяяяяяяяяди благодарности! Ела някоя сряда да пием по няколко бири!
Активен

It makes you awful glad that you were born a man.

spawnman

  • Напреднали
  • *****
  • Публикации: 455
    • Профил
Pop3 и Web Mail
« Отговор #33 -: Mar 04, 2005, 14:25 »
Такаааа, имам въпрос. Получавам ново писмо в abv.bg. Казвам на mail клиента си да ми провери акаунта в абв.бг за нови писма. Като резултат се получават следните два сценария:

1. Дава ми следното съобщение /не мога да разбера дали като грешка или предупреждение/:
Цитат
veso@abv.bg
Unspecified [Server response:*** the user wants to login as veso@abv.bg'*** the user has logged in as veso@abv.bg{'input name="mid" type="checkbox" value="443766175"','1 KB '}{'input name="mid" type="checkbox" value="433627000"','34 KB '}{'input name="mid" type="checkbox" value="432931320"','36 KB '}{'input name="mid" type="checkbox" value="428791517"','5 KB '}{'input name="mid" type="checkbox" value="426558726"','6 KB '}{'input name="mid" type="checkbox" value="419124934"','4 KB '}{'input name="mid" type="checkbox" value="418012861"','3 KB '}{'input name="mid" type="checkbox" value="414528848"','5 KB '}{'input name="mid" type="checkbox" value="408106052"','1 KB '}{'input name="mid" type="checkbox" value="401595105"','1 KB '}{'input name="mid" type="checkbox" value="401209993"','7 KB '}{'input name="mid" type="checkbox" value="395253829"','3 KB '}{'input name="mid" type="checkbox" value="358767197"','1 KB '}{'input name="mid" type="checkbox" value="348604334"','1 KB '}{'input name="mid" type="checkbox" value="34]

След това в клиента не се визуализира новата кореспонденция...

2. Без никакви допълнителни известия ми се казва, че нямам нови писма и толкоз.

В пощата си, в abv.bg, имам направени три допълнителни папки, за да ми се сортират съобщенията още при получаването им. Но новото писмо, с което правя тестовете не е в нито една от тези три папки, а си е в "Кутия"-та.
Пробите правя с обновения abv.lua, който май работи без забележки при alabal '<img'>
Интересно ми е дали допълнителните папки в акаунта ми в абв.бг са пречката или нещо друго.

П.П.: В /var/log/freepopsd ми се появява след всеки опит реда:
Примерен код
Fri Mar  4 14:14:47 2005 freepopsd: POPSERVER-> UNKNOWN ERROR, PLEASE FIX

Благодаря предварително!
Активен

Mandriva Cooker
BlackBox

FV80503200 SL27J, 82437FX TSC, 128 (4x32) MB 72pin EDO, AHA-2940UW, ST34572W, M2513A, CDU521, CTL0024, 3C509b-TPC, 215R3PUA22, FP767-12

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Pop3 и Web Mail
« Отговор #34 -: Mar 04, 2005, 16:29 »
Уфф, братко!
Не мога да помогна за трите папки и филтрите към тях - нямам такива advanced features в моите кутии - чист мързел (DoktorA не го чу това).
Тея странни съобщения показват, че freepops сравнява съобщенията на abv и тези които твоят клиент е теглил.
Грешката която ти дава прилича на грешката при грешна парола - което е странно, тъй като явно влиза в кутията ти да провери писмата. Кога я получаваш тая грешка преди или след сравнението?
Пробвай да си изпратиш ново писмо, спри демона:
/etc/init.d/freepops stop
и го пусни от конзола (може като обикновен потребител):
freepopsd -w (-w - super verbose)
и виж какво и кога ти пише.
Успех!
Активен

It makes you awful glad that you were born a man.

DoctorA

  • Напреднали
  • *****
  • Публикации: 106
    • Профил
Pop3 и Web Mail
« Отговор #35 -: Mar 04, 2005, 17:47 »
@alabal,
Цитат
Така, че хиляяяяяяяяяяяяяяди благодарности! Ела някоя сряда да пием по няколко бири!

каде ?
@spawnman,
1: не е нито  грешка , нито предупреждение ,
Примерен код
*** the user wants to login as [EMAIL=veso@abv.bg]veso@abv.bg[/EMAIL]'

записва в лог-а, че искаш да влезеш
Примерен код
*** the user has logged in as [EMAIL=veso@abv.bg]veso@abv.bg[/EMAIL]

записва в лог-а, че си влезнал
Примерен код
{'input name="mid" type="checkbox" value="443766175"','1 KB '}{'input name="mid" type="checkbox" value="433627000"','34 KB '}{'input name="mid" type="checkbox" value="432931320"','36 KB '}{'input name="mid" type="checkbox" value="428791517"','5 KB '}{'input name="mid" type="checkbox" value="426558726"','6 KB '}{'input name="mid" type="checkbox" value="419124934"','4 KB '}{'input name="mid" type="checkbox" value="418012861"','3 KB '}{'input name="mid" type="checkbox" value="414528848"','5 KB '}{'input name="mid" type="checkbox" value="408106052"','1 KB '}{'input name="mid" type="checkbox" value="401595105"','1 KB '}{'input name="mid" type="checkbox" value="401209993"','7 KB '}{'input name="mid" type="checkbox" value="395253829"','3 KB '}{'input name="mid" type="checkbox" value="358767197"','1 KB '}{'input name="mid" type="checkbox" value="348604334"','1 KB '}{'input name="mid" type="checkbox" value="34}

това е за дебъгване '<img'>

какъв клиент използваш ?
paste-ни тука output-а от
Примерен код

 freepopsd -w
Активен

Meesa find yousa's lackin' in faith disturbin'

spawnman

  • Напреднали
  • *****
  • Публикации: 455
    • Профил
Pop3 и Web Mail
« Отговор #36 -: Mar 04, 2005, 19:26 »
Ето какво дава при проверка с opera-7.54-20050131.5:
Цитат
# freepopsd -w
freepops started with loglevel 2 on a little endian machine.
Maintaining pid file "/var/run/freepopsd.pid"
DBG(popserver.c, 166): [3093] ?? Ip address 0.0.0.0 real port 2000

DBG(popserver.c, 166): [3093] ?? Ip address 127.0.0.1 real port 2000

DBG(popserver.c, 166): [3104] -> +OK FreePOPs/0.0.23 pop3 server ready

DBG(popserver.c, 166): [3104] <- CAPA

DBG(popserver.c, 166): [3104] -> +OK ANSWER FOLLOW

DBG(popserver.c, 166): [3104] -> TOP
USER
UIDL

DBG(popserver.c, 166): [3104] -> .

DBG(popserver.c, 166): [3104] <- USER veso@abv.bg


LUAY: lua error message:
LUAY:    /usr/share/freepops/lua/freepops.lua:363: bad argument #1 to `find' (string expected, got nil)

LUAY: lua stack traceback:
LUAY:   3104] <- PASS *********
*** the user has logged in as veso@abv.bg
DBG(popserver.c, 166): [3104] -> +OK ACCESS ALLOWED

DBG(popserver.c, 166): [3104] <- STAT

*** exiting
DBG(popserver.c, 166): [3104] -> -ERR UNKNOWN ERROR, PLEASE FIX

UNKNOWN ERROR, PLEASE FIX
DBG(threads.c,  81): thread 0 will die

Интересното е че като пусна FreePOPs-а с `freepopsd -w` понякога ми се изписва в Oper-ата "Fetching messages (1/20)...", обаче не може да изтегли писмата и спира след известно време. А друг път проверката за нови писма изобщо не открива такива...
Положението с kdepim-kmail-3.2-32.1.100mdk е малко по-обнадеждаващо, тъй като там имам един успешен опит...

При последния тест с операта ми даде следното:
Цитат
# freepopsd -w
freepops started with loglevel 2 on a little endian machine.
Maintaining pid file "/var/run/freepopsd.pid"
DBG(popserver.c, 166): [3444] ?? Ip address 0.0.0.0 real port 2000

DBG(popserver.c, 166): [3444] ?? Ip address 127.0.0.1 real port 2000

DBG(popserver.c, 166): [3455] -> +OK FreePOPs/0.0.23 pop3 server ready

DBG(popserver.c, 166): [3455] <- CAPA

DBG(popserver.c, 166): [3455] -> +OK ANSWER FOLLOW

DBG(popserver.c, 166): [3455] -> TOP
USER
UIDL

DBG(popserver.c, 166): [3455] -> .

DBG(popserver.c, 166): [3455] <- USER veso@abv.bg


LUAY: lua error message:
LUAY:    /usr/share/freepops/lua/freepops.lua:363: bad argument #1 to `find' (string expected, got nil)

LUAY: lua stack traceback:
LUAY:   3455] <- PASS *********
*** the user has logged in as veso@abv.bg
DBG(popserver.c, 166): [3455] -> +OK ACCESS ALLOWED

DBG(popserver.c, 166): [3455] <- STAT

{'input name="mid" type="checkbox" value="443766175"','1 KB '}
{'input name="mid" type="checkbox" value="433627000"','34 KB '}
{'input name="mid" type="checkbox" value="432931320"','36 KB '}
{'input name="mid" type="checkbox" value="428791517"','5 KB '}
{'input name="mid" type="checkbox" value="426558726"','6 KB '}
{'input name="mid" type="checkbox" value="419124934"','4 KB '}
{'input name="mid" type="checkbox" value="418012861"','3 KB '}
{'input name="mid" type="checkbox" value="414528848"','5 KB '}
{'input name="mid" type="checkbox" value="408106052"','1 KB '}
{'input name="mid" type="checkbox" value="401595105"','1 KB '}
{'input name="mid" type="checkbox" value="401209993"','7 KB '}
{'input name="mid" type="checkbox" value="395253829"','3 KB '}
{'input name="mid" type="checkbox" value="358767197"','1 KB '}
{'input name="mid" type="checkbox" value="348604334"','1 KB '}
{'input name="mid" type="checkbox" value="347668210"','12 KB '}
{'input name="mid" type="checkbox" value="339222897"','16 KB '}
{'input name="mid" type="checkbox" value="332102146"','2 KB '}
{'input name="mid" type="checkbox" value="331925434"','2 KB '}
{'input name="mid" type="checkbox" value="331779092"','7 KB '}
{'input name="mid" type="checkbox" value="313840439"','865 B '}
DBG(popserver.c, 166): [3455] -> +OK 20 151393

DBG(popserver.c, 166): [3455] <- UIDL

DBG(popserver.c, 166): [3455] -> +OK ANSWER FOLLOW

DBG(popserver.c, 166): [3455] -> 1 443766175
2 433627000
3 432931320
4 428791517
5 426558726
6 419124934
7 418012861
8 414528848
9 408106052
10 401595105
11 401209993
12 395253829
13 358767197
14 348604334
15 347668210
16 339222897
17 332102146
18 331925434
19 331779092
20 313840439

DBG(popserver.c, 166): [3455] -> .

DBG(popserver.c, 166): [3455] <- RETR 1

DBG(popserver.c, 166): [3455] -> +OK ANSWER FOLLOW

DBG(popserver.c, 166): [3455] -> Received: (qmail 10796 invoked from network); 4 Mar 2005 09:33:34 -0000
Received: from web40728.mail.yahoo.com (66.218.92.66)
  by 0 with SMTP; 4 Mar 2005 09:33:34 -0000
Received: (qmail 99037 invoked by uid 60001); 4 Mar 2005 09:33:33 -0000
Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
  s=s1024; d=yahoo.com;
  b=YuKxl2fQFUGTCusAp3dYAXijKU/OGFp8hI5hfFFHsM/8VPlaW3TXvv2gahyOu0b19Ffxz5w9u9ksa1TX+AH9Xrs6nMRKWQkYbeIEDF5i8Zrr9gOKKf/B6f16aT8lcbu+1SNOHE0MzYyusOmf/xbq1Fsj6ksPDRKbmuCoE8SqlJI=  ;
Message-ID: <20050304093332.99035.qmail@web40728.mail.yahoo.com>
Received: from [217.9.234.104] by web40728.mail.yahoo.com via HTTP; Fri, 04 Mar 2005 01:33:32 PST
Date: Fri, 4 Mar 2005 01:33:32 -0800 (PST)
From: Vesselin Alexandrov <alexandrov@yahoo.com>
Reply-To:
Subject: test
To: veso@abv.bg
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii

this is a test


        
                
____
DBG(popserver.c, 166): [3455] -> .

DBG(popserver.c, 166): [3455] !! Error calling "recvstring_with_timeout timeout" (code -2 - Operation now in progress)

DBG(threads.c,  81): thread 0 will die
DBG(popserver.c, 769): a network error occurred, this thread will die
Активен

Mandriva Cooker
BlackBox

FV80503200 SL27J, 82437FX TSC, 128 (4x32) MB 72pin EDO, AHA-2940UW, ST34572W, M2513A, CDU521, CTL0024, 3C509b-TPC, 215R3PUA22, FP767-12

DoctorA

  • Напреднали
  • *****
  • Публикации: 106
    • Профил
Pop3 и Web Mail
« Отговор #37 -: Mar 04, 2005, 19:32 »
еми явно операта не се оправя с грешки '<img'>
Активен

Meesa find yousa's lackin' in faith disturbin'

spawnman

  • Напреднали
  • *****
  • Публикации: 455
    • Профил
Pop3 и Web Mail
« Отговор #38 -: Mar 05, 2005, 17:48 »
Хм, дискриминацията от страна на DoctorA спряма Opera явно е сериозна '<img'> Не знам на какво се дължи, но това няма значение. По-важното е, че въпросната Opera не среща затруднения при работа с FreePOPs + yahoo.lua => проблемът е в abv.lua '<img'>
Като оставим продукта със затворен код на страна се оказва, че и KMail не е подходящ клиент за работа с FreePOPs + abv.lua... Има ли "не-mozilla" и "не-Evolution" клиенти, които да не правят проблемна работата (без значение дали са за X || console)?

П.П.: Давам си сметка, че FreePOPs && abv.lua са още в ранна детска възраст, но много ми се ще да узреят по бързата процедура '<img'>
Активен

Mandriva Cooker
BlackBox

FV80503200 SL27J, 82437FX TSC, 128 (4x32) MB 72pin EDO, AHA-2940UW, ST34572W, M2513A, CDU521, CTL0024, 3C509b-TPC, 215R3PUA22, FP767-12

DoctorA

  • Напреднали
  • *****
  • Публикации: 106
    • Профил
Pop3 и Web Mail
« Отговор #39 -: Mar 05, 2005, 19:32 »
Цитат
Хм, дискриминацията от страна на DoctorA спряма Opera явно е сериозна

не е дискриминация а мързел , иначе в момента с Opera си разглеждам форума
Цитат
ато оставим продукта със затворен код на страна се оказва, че и KMail не е подходящ клиент за работа с FreePOPs + abv.lua... Има ли "не-mozilla" и "не-Evolution" клиенти, които да не правят проблемна работата (без значение дали са за X || console)?

любимия ми клиент е
Примерен код
telnet localhost 110

не прави никакви проблеми '<img'>
Активен

Meesa find yousa's lackin' in faith disturbin'

sverdlov

  • Напреднали
  • *****
  • Публикации: 351
    • Профил
Pop3 и Web Mail
« Отговор #40 -: Mar 05, 2005, 19:48 »
Братоци, защо въобще се тормозите с проблемни пощи, които не се знае след колко време въобще ще спрат да функционират? Предлагам ви много по-яко решение '<img'>
Значи, отивате на сайта на орбител - там има раздел за безплатен нет - регистрирате си акаунт за достъп през модем - след това ще ви попита дали искате вечна поща - казвате "искам бре" и си избирате какъв адрес искате и как да завършва!!!
Имате избор от 20 домейна, аз лично съм си избрал @hacker.bg - много интересно звучи, и респектиращо към леймъри и тн  '<img'>
Единственото условие да си получите pop3 smtp достъп, е да влезете поне за секунда през модем с така създания акаунт. Целта на хорицата явно е да ограничат ползването на вечната поща от хиляди потребители, и тъй като малко хора имат модеми.... Предлагам ако някой на форума има модем, като братска услуга да влиза с акаунтите на другите за да им прави вечна поща '<img'>
Естествено, паролите си ги правете временни преди да ги дадете на някой с модем да влезе в нета с тях, нали не искате после да ви четат пощата  ':p'
Успех!
А - забравих - друг начин да излъжете орбител е като им се обадите и им кажете че паролата ви не действа - казвате си там данните и викате че не можете да си влезете в нета с модема - те да пробват ! Резултат - те пробават, влизат, а вие получавате поща!
Активен

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Pop3 и Web Mail
« Отговор #41 -: Mar 06, 2005, 00:09 »
Абе, sverdlov!
Ти добре ли си?
Активен

It makes you awful glad that you were born a man.

  • Гост
Pop3 и Web Mail
« Отговор #42 -: Mar 06, 2005, 02:08 »
АХА '<img'>
Доста съм си добре даже - супер съм - имам си неограничена поща х@hacker.bg  със smtp i pop3 достъп, неограничен размер на пощенската кутия и неограничен размер на прикачените файлове... Исках да споделя начина и други да придобият тез блага
Активен

DoctorA

  • Напреднали
  • *****
  • Публикации: 106
    • Профил
Pop3 и Web Mail
« Отговор #43 -: Aug 10, 2005, 08:13 »
ето я и дългоочакваната ( поне от alabal ) следваща версия на abv.lua
Примерен код

-- ************************************************************************** --
-- FreePOPs @abv.bg webmail interface
--
-- Released under the GNU/GPL license
-- Written by Georgi Saev <georgi_saev@abv.bg>
-- ************************************************************************** --

-- Globals
--
PLUGIN_VERSION = "0.1.2"
PLUGIN_NAME = "abv.bg"
PLUGIN_LICENSE = "GNU/GPL"
PLUGIN_DOMAINS = {"@abv.bg","@gyuvetch.bg","@gbg.bg"}
-- -------------------------------------------------------------------------- --
foo_globals= {

 username="nothing",
 hostname="nothing",
 password="nothing",
 session_id="nothing",
 browser="nothing",
 stat_done=false,
 stat_fixed_id="nothing"
}
-- -------------------------------------------------------------------------- --
function init(pstate)
       freepops.export(pop3server)
       log.dbg("FreePOPs plugin '"..
       PLUGIN_NAME.."' version '"..PLUGIN_VERSION.."' started!\n")

  -- the serialization module
if freepops.dofile("serialize.lua") == nil then
     return POPSERVER_ERR_UNKNOWN
end
  -- the browser module
if freepops.dofile("browser.lua") == nil then
     return POPSERVER_ERR_UNKNOWN
end
  -- the common module
if freepops.dofile("common.lua") == nil then
      return POPSERVER_ERR_UNKNOWN
end
    -- checks on globals
freepops.set_sanity_checks()
return POPSERVER_ERR_OK
end
--                                                                                                                          

-- -------------------------------------------------------------------------- --
-- Must save the mailbox name

function user(pstate,username1)
  local at = string.find(username1, "@")
  local username = string.sub(username1,0,at-1)
  local hostname = string.sub(username1,at+1)
  foo_globals.username = username
  foo_globals.hostname = hostname
  print("*** the user wants to login as "..foo_globals.username.."@"..foo_globals.hostname.."'")
 return POPSERVER_ERR_OK
end
-- -------------------------------------------------------------------------- --
-- Must login

function pass(pstate,password)
       foo_globals.password = password
      -- create a new browser
      local b = browser.new()
      -- store the browser object in globals
      foo_globals.browser = b
      -- create the data to post
      local post_data = string.format("username=%s&password=%s&hostname=%s",foo_globals.username,foo_globals.password,foo_globals.hostname)
      -- the uri to post to
      local post_uri = "http://mail05.abv.bg/app/servlet/bg.abv.mail.Login"
      -- post it
      local file,err = nil, nil
      file,err = b:post_uri(post_uri,post_data)
       -- search the session ID
       local _,_,id = string.find(file,"jsessionid=(%w+)")
       if id == nil then
     print("*** exiting")
              return POPSERVER_ERR_AUTH
       end
       foo_globals.session_id = id
print("*** the user has logged in as "..foo_globals.username.."@"..foo_globals.hostname.."")

       return POPSERVER_ERR_OK
end

-- -------------------------------------------------------------------------- --
-- Fill the number of messages and their size
function fix_no_sessid(pstate)
   print("*** WARNING: stat can't get sessid fixing")
   print("*** re-loging in")
   pass(nil,foo_globals.password)
   print("*** is it ok ?")
   local file,err = nil, nil
     local b = foo_globals.browser
     local session_id = foo_globals.session_id
--     print("***  foo_globals.session_id= "..foo_globals.session_id.."")
     file,err = b:get_uri("http://mail05.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10")
     local _,_,id = string.find(file,"jsessionid=(%w+)")
     if id == nil then
--     print("*** this is err :")
--     print(err)
--     print("*** this is file :")
--     print(file)
--       print("*** it's not ok ?")
      return fix_no_sessid()
    else
     print("*** fixed")
     return id,file
 end
end
function stat(pstate)
     if foo_globals.stat_done == true then return POPSERVER_ERR_OK end
     local file,err = nil, nil
     local b = foo_globals.browser
     local session_id = foo_globals.session_id
     local j=0
     file,err = b:get_uri("http://mail05.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10")
     local _,_,id = string.find(file,"jsessionid=(%w+)")
     local _,_,num_pages = string.find(file,"Стр. 1 от (%w+)")
     if num_pages == nil then
       num_pages=1
     end
     if id == nil then
             id,file =fix_no_sessid()
     end

     local nummesg = 0
     for tmp = 1,num_pages do
          file,err = b:get_uri("http://mail05.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10&pid="..tmp.."")
          local _,_,id = string.find(file,"jsessionid=(%w+)")
          if id == nil then
                id,file =fix_no_sessid()
          end
          local e = ".*<tr>.*<td>.*<input>.*</td>.*<td>.*<img>.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>.*<a>.*</a>.*</td>.*<td>[.*]{a}[.*]{/a}.*</td>.*<td>.*</td>.*<td>.*</td>.*</tr>"
          local g =  "O<O>O<O>O<X>O<O>O<O>O<O>O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>O<O>O<O>O<O>O<O>[O]{O}[O]{O}O<O>O<O>O<O>O<O>X<O>O<O>"
          local x = mlex.match(file,e,g)
          --debug print
          x:print()
          nummesg = nummesg + x:count()

     end
     print("*** "..nummesg.." pisma ob6to r1")
     set_popstate_nummesg(pstate,nummesg)




   for tmp = 1,num_pages do
          file,err = b:get_uri("http://mail05.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10&pid="..tmp.."")
          local _,_,id = string.find(file,"jsessionid=(%w+)")
          if id == nil then
                id,file =fix_no_sessid()
          end
          local e = ".*<tr>.*<td>.*<input>.*</td>.*<td>.*<img>.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>[.*]{img}.*</td>.*<td>.*<a>.*</a>.*</td>.*<td>[.*]{a}[.*]{/a}.*</td>.*<td>.*</td>.*<td>.*</td>.*</tr>"
          local g =  "O<O>O<O>O<X>O<O>O<O>O<O>O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>[O]{O}O<O>O<O>O<O>O<O>O<O>O<O>[O]{O}[O]{O}O<O>O<O>O<O>O<O>X<O>O<O>"
          local x = mlex.match(file,e,g)
          --debug print
          x:print()

          print("*** Getting page "..tmp.." out of "..num_pages.."")


      for i=1,x:count() do
             local _,_,size = string.find(x:get(1,i-1),"(%d+)")
             local _,_,size_mult_k = string.find(x:get(1,i-1),"([Kk][Bb])")
             local _,_,size_mult_m = string.find(x:get(1,i-1),"([Mm][Bb])")
             local _,_,uidl = string.find(x:get(0,i-1),"value=\"(%d+)\"")
             if size_mult_k ~= nil then
                    size = size * 1024
             end
             if size_mult_m ~= nil then
                    size = size * 1024 * 1024
             end
             j=j+1
             set_mailmessage_size(pstate,j,size)
             set_mailmessage_uidl(pstate,j,uidl)
             print("*** "..i.." pisma so far")
      end
   end



     print("*** "..j.." pisma")
     foo_globals.stat_done = true
     return POPSERVER_ERR_OK
end
-- -------------------------------------------------------------------------- --
-- Fill msg uidl field
function uidl(pstate,msg) return common.uidl(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Fill all messages uidl field
function uidl_all(pstate) return common.uidl_all(pstate) end
-- -------------------------------------------------------------------------- --
-- Fill msg size
function list(pstate,msg) return common.list(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Fill all messages size
function list_all(pstate) return common.list_all(pstate) end
-- -------------------------------------------------------------------------- --
-- Unflag each message marked for deletion
function rset(pstate) return common.rset(pstate) end
-- -------------------------------------------------------------------------- --
-- Mark msg for deletion
function dele(pstate,msg) return common.dele(pstate,msg) end
-- -------------------------------------------------------------------------- --
-- Do nothing
function noop(pstate) return common.noop(pstate) end
--------------------------------------------------------------------------------

-- The callback factory for retr
--
function retr_cb(data)
       local a = stringhack.new()
       return function(s,len)
               s = a:dothack(s).."\0"
               popserver_callback(s,data)
               return len,nil
       end
end
-- -------------------------------------------------------------------------- --
-- Get message msg, must call
-- popserver_callback to send the data
function retr(pstate,msg,pdata)
       local data=pdata
-- we need the stat
       local st = stat(pstate)
       if st ~= POPSERVER_ERR_OK then return st end
       -- the callback
local cb = retr_cb(data)
       -- some local stuff
      local session_id = foo_globals.session_id
      local b = foo_globals.browser
      local uri ="http://mail05.abv.bg/app/servlet/bg.abv.mail.GetData;jsessionid="..session_id.."?fid=10&mid="..get_mailmessage_uidl(pstate,msg).."&nid=0&eid=-1&charset=Cp1251&ac=d"
       -- tell the browser to pipe the uri using cb
       local f,rc = b:pipe_uri(uri,cb)
       if not f then
               log.error_print("Asking for "..uri.."\n")
               log.error_print(rc.."\n")
               return POPSERVER_ERR_NETWORK
       end
return POPSERVER_ERR_OK
end

-- -------------------------------------------------------------------------- --
-- Must quit without updating

function quit(pstate)
       return POPSERVER_ERR_OK
end

changelog - промените са само в stat :
0) когато abv.bg му каже че е изтекла сесията , влиза отново и пак дръпва страницата с пощата ( преди даваше unknown error ) , функцията е рекурсивна
1) списъка с писмата вече се взима от всички страници , а не само от първата
Активен

Meesa find yousa's lackin' in faith disturbin'

Agent_SMITH

  • Administrator
  • Напреднали
  • *****
  • Публикации: 3082
  • matrix kernel module
    • Профил
Pop3 и Web Mail
« Отговор #44 -: Aug 10, 2005, 23:36 »
Темата съдържа много полезни неща (и много празни приказки, ама нейсе).

Ако автора на темата е съгласен, бих искал да я преместя в секция ПРОГРАМИРАНЕ. Грехота е полезни неща да стоят в "... всякакви други глупости" '<img'>
Активен

-= СПАЗВАЙТЕ ПРАВИЛАТА НА ФОРУМА =-

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
POP3 problemi
Настройка на програми
pepino 1 1487 Последна публикация Jul 30, 2004, 18:41
от Agent_SMITH
problem s POP3
Настройка на програми
pepino 2 1125 Последна публикация Aug 11, 2004, 13:09
от vladou
Windows Mail => Linux Mail
Настройка на програми
Shadowfox 2 5865 Последна публикация Feb 08, 2005, 08:58
от
Pop3 проблем
Хардуерни и софтуерни проблеми
west 2 2402 Последна публикация Mar 19, 2006, 19:19
от west
Pop3 поща
Настройка на програми
colomager 8 3815 Последна публикация Apr 09, 2006, 16:47
от Ivv