Linux за българи: Форуми

Хумор, сатира и забава => Живота, вселената и някакви други глупости => Темата е започната от: alabal в Feb 22, 2005, 11:57



Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 22, 2005, 11:57
Братя и ТБС!

Реших да си настроя Pop3 и smtp на gmail под Thunderbird. Никакви проблеми - спазих всички изисквания на gmail и тръгна, но прави някакви грешки - показва ми, че трябва да изтегли 100 писма, а имам 39 включително и тези в trash. Ако някой знае защо е така нека драсне някои ред.

Разбира се, опита не спря до тук - реших да настроя и другите си пощи за Thunderbird ето и малко опит с тях:
1. mail.bg - имат pop3 сървър, който е безплатен, но никой не казва как да се настрои - искат sms с цена за 2 лв., за пуснат smtp за 3 месеца, сигурно там описват как да се настрои и pop3. Не знам - аз експериментирах - адреса на сървъра е pop3.mail.bg, но в настройките трябва да се запише целия акаунт - напр. alabal@mail.bg. Веселото е, че ако имате smtp сървъра на gmail или който и да е друг - нямате нужда от платения. (btw бях силно впечатлен, когато ми поискаха ЕГН за регистрация на мейла там).
2. abv.bg - всички опити пропаднаха безнадеждно - pop.abv.bg, pop3.abv.bg, mail.abv.bg не реагират - приемат паролата, но не връщат никакъв резултат. Възможно ли е да се настрои - някой има ли опит с това - възможно ли е, не е ли?
3. freepopsd - инсталирах я, стартирах демона  и настроих акаунта в Thunderbird на incoming server:localhost, port 2000, но ми даде грешка с abv. Някой пробвал ли го е с поща в hotmail.

Ако някои има опит и му се пише, нека го сподели.


Титла: Pop3 и Web Mail
Публикувано от: Hapkoc в Feb 22, 2005, 12:18
Това за mail.bg ме разцепи - как не съм се сетил да пробвам преди. :-D

Сега обаче въпроса е дали може да се импортнат и директориите от мейла там... понеже само Inbox-а ми дърпа така...


Титла: Pop3 и Web Mail
Публикувано от: в Feb 22, 2005, 12:22
за mail.bg
pop3 serever <=> stor1.mail.bg (резултат от traceroute mail.mail.bg).
имат някакво ограничение за 15 минутни проверки, поради което интервала на проверка на пощата там ще трябва да е по-голям от 15 минути.
и писмата идват бавно -- в събота чаках цял ден тестовете да дойдат от там, но те дойдоха чак в неделя.
твоето откритие за pop3.mail.bg ме изненадва (дано да е приятно).
---
за abv.bg -- ще опитам довечера, защото живо ме интересува да имам pop3 достъп до два акаунта там. web клиента им не иска да работи с включена защитна стена под windows.
---
за smtp сървъра на gmail -- така е, няма проблем да го използваш него, но дали това не е целта на силите, стоящи зад google в момента?
---
freepopsd -- не съм го ползвал и ще съм радостен да прочета нещо повече за това, което питаш (така, де -- успя да ме заинтригуваш).


Титла: Pop3 и Web Mail
Публикувано от: astronom в Feb 22, 2005, 13:25
Значи за abv.bg достъпа до pop3 се плаща, но според мен не си заслужава, защото няма подръжка и за imap сървър. За gmail не знаех, че поддържа pop3 и imap. Довечера ще пробвам :-).


Титла: Pop3 и Web Mail
Публикувано от: fierce в Feb 22, 2005, 14:23
При работата си с gmail под Thunderbird нямам проблемите на alabal, но имам друго странно явление :)
 Изпращам си мейл посредством Thunderbird и всичко е ок, но когато си тегля пощата получавам изпратеното мейлче като нова поща  ???


Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 22, 2005, 14:28
Такааа!

Похвала за екипа на mail.bg Получих много компетентен и добър отговор на моето писмо, което им писах относно pop3. Браво!
Единственото досадно нещо е този 15 минутен период, но се преживява.

@astronom къде пише, че pop3 на abv е платен и колко се плаща - аз не можах да намеря подобна информация.  

Относно freepops - програмката е желязна - това е демон, който може да бъде зареждан по време на boot или по желание на потребителя и дава възможност да се настрои всеки клиент (аз използвам Thunderbird) за hotmail, yahoo и няколко други пощи. Тествах я с hotmail и yahoo работи като пушка!!!!

Има ли някой под виндовс, който може да тества freepops с Thunderbird и hotmail и yahoo. Това е голямо облекчение да знаеш, че  не се налага да използваш онзи опасен клиент наречен Outlook.

Има и едно предизвикателство - да се напише модул за freepops който да отваря abv.bg - нобходим е специален модул за целта и мисля че няма да отнеме много време на някой experienced.
Ето и адреса:
http://www.freepops.org/en/

@fierce
при мен тегли писмата от gmail на почивки - скоро мога и да ги изтегля. А е логично, според мен, да ги получаваш изпратените писма, поради самата организация на gmail - прикрепя отговора към писмото. Но може и да бъркам.


Титла: Pop3 и Web Mail
Публикувано от: Regia в Feb 22, 2005, 15:06
Ще се заема с такъв модул. Да видим какво ще излезе.

Имам пробен модул, но дава UNKNOWN ERROR. Ако някой иска, ще му го изпратя.


Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 22, 2005, 16:24
Супер, братко!!!!!
Чакам го на мейла - тук във форума - ще го тествам веднага, надявам се да мога да дам някоя идея, въпреки че съм полу-грамотен в програмирането.


Титла: Pop3 и Web Mail
Публикувано от: astronom в Feb 22, 2005, 18:53
Цитат
@astronom къде пише, че pop3 на abv е платен и колко се плаща - аз не можах да намеря подобна информация.


Ето тук АБВ Въпроси & Проблеми.

Цитат
Забележка: За да се възползвате от POP3 и SMTP достъп от Вашата поща АБВ, е необходимо да сте активирали един от пакетите с допълнителни услуги  АБВ+.


Аз лично съм бил абонат, но вече така или иначе не ползвам тази поща. Ако си успял да им ползваш сървърите без абонамент браво ;-)


Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 22, 2005, 19:01
Благодарско, astronom.
Не не съм ползвал тези сървъри, а така като им гледам цените сами ще си ги ползват.


Титла: Pop3 и Web Mail
Публикувано от: kennedy в Feb 22, 2005, 20:19
аз пък си плащам всяка година по 20 лв за поща в дир.бг и нямам оплаквания. това са 1.67 лв на месец .....


Титла: Pop3 и Web Mail
Публикувано от: в Feb 22, 2005, 20:24
Цитат (astronom @ Фев. 22 2005,14:25)
Значи за abv.bg достъпа до pop3 се плаща, но според мен не си заслужава, защото няма подръжка и за imap сървър. За gmail не знаех, че поддържа pop3 и imap. Довечера ще пробвам :-).

начина на конфигуриране на gmail за pop3 и imap го има подробно описан на самия сайт. не е някакъв проблем да го направиш.


Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 25, 2005, 02:23
Тъъъъййй!

Значи експериментирах с Thunderbird и FreePOPs и под виндовс - и там работи без проблеми Само не ме питайте как го подкарах - нямам идея - щраках по някакви копчета и виках "ok", "ok" ужасен experience. Няма конзола, бърчих нос, но какво да се прави.

Само този 15 минутен период на mail.bg дразни много. Ако някой има желание да им драсне един-два реда и да им каже, че има и други начини да си повишат сигурността - аз го направих, хората от поддръжката ми отговориха културно (чудесен отговор - не се шегувам) и естествено ми казаха, че не зависи от тях.  Та си мисля, че ако имат няколко подобни писма сигурно ще могат да направят нещо.


Титла: Pop3 и Web Mail
Публикувано от: the_real_maniac в Feb 25, 2005, 14:44
1.mail.bg - не знам как стоят нещата.
2.abv.bg - плаща се за pop3.
3.не знам какво е това / по-късно сигурно ще потърся да видя :)

0. gmail - ами всичко си е описано на gmail.com аз лично нямам никакви проблеми с Thunderbird (вер.(ако има значение) 1.0 20050116 Дебиан ).

Успех с пощите :D .!


Титла: Pop3 и Web Mail
Публикувано от: dilyan в Feb 25, 2005, 17:12
mail.bg казаха, че това им е официалната политика :)
- без пари -> толкова място и 15 минути!
- със sms повече място в пощата и без ограничение на времето за дърпане с pop3.

Това е! Все пак няма напълно безпларен обяд, нали?


Титла: Pop3 и Web Mail
Публикувано от: alabal в Feb 25, 2005, 17:21
Айде да не говорим за обяди и ограничени ресурси (scarce resources), а също и за крайния икономически либерализъм, че се изприщвам. Понякога ме наляга срам за това, че някои старши мои колеги са измислили подобни глупости, като фразата за безплатните обяди.
Google могат, mail.bg не могат. Живи и здрави! На мен нищо не ми казаха за тази политика.


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 02, 2005, 19:46
Цитат
Има и едно предизвикателство - да се напише модул за freepops който да отваря abv.bg - нобходим е специален модул за целта и мисля че няма да отнеме много време на някой experienced.

не е толкова сложно че да търсим някой experienced :p
Примерен код

doctora@DoctorA:/usr/share/freepops/lua$ cat 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.1b"
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 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

само функцията за изтриване не съм я писал,щото ме мързи
П.С.: има и един бъг - понякога при stat връща
+OK 0 0


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 11:28
Братко!!!!!!
Когато прочетох събщението ти заподскачах от радост, но кратка бе тя!
Ето какво съм направил и какви грешки ми дава:
ОС - Дебиан, freepops - инсталиран от unofficial repository - обявено на страницата на freepops, mail client - Thunderbird
Добавен ред в /etc/freepops/config.lua и в /usr/share/freepops/lua/config.lua:

Цитат
-- abv.bg
freepops.MODULES_MAP["abv.bg"]   = {name="abv.lua"}


Записах твоя файл, като abv.lua в директорията /usr/share/freepops/lua/

Thunderbird е настроен така:
Server name: localhost
Port 2000
User name: drundrun@abv.bg

Ето и грешките които получавам:

Цитат
# freepopsd -w
freepops started with loglevel 2 on a little endian machine.
Maintaining pid file "/var/run/freepopsd.pid"
DBG(popserver.c, 166): [6680] ?? Ip address 0.0.0.0 real port 2000

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

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

DBG(popserver.c, 166): [6680] <- AUTH

DBG(popserver.c, 166): [6680] -> -ERR ONLY PASS IS SUPPORTED

ONLY PASS IS SUPPORTED
DBG(popserver.c, 166): [6680] <- CAPA

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

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

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

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


LUAY: lua error message:
LUAY:    /usr/share/freepops/lua/abv.lua:1: `=' expected near `@'

LUAY: lua stack traceback:
LUAY:    [C]: __dofile: -1 (C field)
LUAY:    /usr/share/freepops/lua/freepops.lua: (null): 200 (Lua )
LUAY:    [C]: foreach: -1 (C field)
LUAY:    /usr/share/freepops/lua/freepops.lua: dofile: 211 (Lua field)
LUAY:    /usr/share/freepops/lua/freepops.lua: load_module_for: 349 (Lua field)
LUAY:    /usr/share/freepops/lua/freepops.lua: (null): 536 (Lua )


LUAY: lua error message:
LUAY:    attempt to call a nil value

LUAY: lua stack traceback:


LUAY: lua error message:
LUAY:    attempt to call a nil value

LUAY: lua stack traceback:

DBG(popserver.c, 166): [6680] -> +OK PLEASE ENTER PASSWORD

DBG(popserver.c, 161): [6680] <- PASS *********

LUAY: lua error message:
LUAY:    attempt to call a nil value

LUAY: lua stack traceback:

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

UNKNOWN ERROR, PLEASE FIX

LUAY: lua error message:
LUAY:    attempt to call a nil value

LUAY: lua stack traceback:

DBG(threads.c,  81): thread 0 will die


след като се опитам да проверя пощата си.
Нямам дори и идея защо не иска да приеме паролата ми, която е проверено вярна - получава се същата грешка и при още два акаунта в abv.
Та къде може да е грешката - нека да открием, за да се върне радостта!


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 11:52
И тъй!
Попрегледах малко и се оказа че проблемите вероятно идват от този ред:
Цитат
doctora@DoctorA:/usr/share/freepops/lua$ cat abv.lua


Дори и след като промених  doctora@DoctorA с името на моя потребител и хост продължава да дава тази грешка:

Цитат
LUAY: lua error message:
LUAY:    /usr/share/freepops/lua/abv.lua:1: `=' expected near `@'


Нямам идея къде го очаква това '=' .


Титла: Pop3 и Web Mail
Публикувано от: Regia в Mar 03, 2005, 12:07
doctora@DoctorA:/usr/share/freepops/lua$ cat abv.lua

Махни го това.
Това е командата за показване на файла, не част от скрипта.


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 12:38
Леле колко съм разсеян!!!!
Благодарско - това върна радостта!!!!


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 14:14
Мдаааа!
Плъгина работи идеално само има един единствен проблем. При всяка втора проверка тегли писмата отново и отново. Този проблем май се оказва леко досаден,  тъй като имам над 50 писма в едната кутия, които не бих искал да изтрия. Вероятно би трябвало да има някакъв лесен начин по който да се укаже на freepops, че писмата вече са теглени.

Btw, изпробвах го и с виндовс - и там работи перфектно - трябва само да се копира abv.lua в c:\Program Files\FreePOPs\LUA и да се добави

-- abv
freepops.MODULES_MAP["abv.bg"]   = {name="abv.lua"}

в c:\Program Files\FreePOPs\config.lua

Хиляди благодарности за плъгина на DoctorA.  Много съм щастлив - наистина.

P.S.: Надяваме се, че скоро ще се пребори скоро с мързела, и ще напише няколко реда програмен код.


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 03, 2005, 17:55
Цитат
При всяка втора проверка тегли писмата отново и отново.

това би трябвало да може да се настрои от mail клиента , защото тои пише
retr msg_n към сървъра ( аз ползвам telnet засега и съм много доволен :p )
колкото до мързела вече почти 17 години се боря с него и още не съм се преборил
П.С.: явно има и по разсеяни от мене :p


Титла: Pop3 и Web Mail
Публикувано от: spawnman в Mar 03, 2005, 18:21
Привет на всички!
Идеята да си проверявам web пощите с помощта на благинка от сорта на FreePOPs винаги ми е допадала, особено сега, когато се появява възможност да правя това дори и с кутията си в abv.bg. Без да губя излишно време сложих freepops-0.0.23-1 на Мандрейк 10.0 и създадох /usr/share/freepops/lua/abv.lua по образ и подобие на прототипа, даден от DoctorA. После в /etc/freepops/config.lua добавих реда:
Примерен код
freepops.MODULES_MAP["abv.bg"]          = {name="abv.lua"}
Последва бърза настройка на account-ите на наличните mail клиенти в системата да ползват за POP3 localhost:2000, username: imeto_mi_v_abv@abv.bg После "драснах" един service freepops start и всичко беше ОК. Обаче неще и неще да ме пусне под предлог, че ми била грешна паролата. Знам си аз паролата, настройките на mail клиентите са ми бетон, та почнах отчаяно да проверявам за следи из логовете и ето на какво се натъкнах:
Цитат
Thu Mar  3 17:59:52 2005 freepopsd: LUA_LOG->   BUG found in '@/usr/share/freepops/lua/abv.lua' at line 61.                              
        Function 'pass' sets an undefined global 'localb'                                                                                
                                                                                                                                          
        This is a sanity check added by freepops.set_sanity_checks() that                                                                
        prevents the plugin to create new global variables. This means you                                                                
        must use the 'local' keyword or declare a global table                                                                            
        (ex. plugin_state) and use it as the global state of the plugin.                                                                  
        This avoids some hard-to-detect bugs.

Ако някой може да помогне ще съм супер доволен, както съм супер доволен от работата на FreePOPs-а с пощата ми в yahoo.com :)


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 03, 2005, 20:06
намери го това 'localb' и го промени на 'local b' ( без кавичките нали знаеш )
btw преписвал ли си го или си му дал copy/paste ? ( много ми е интересно как се е получило да пише  'localb' )


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 20:32
Нямам идея защо, но Тъндърбърд (или freepops) променя файла popstate за abv.bg на две проверки на пощата.
Ето и какви са различните състояния (последователни) на файла:

Цитат

# POP3 State File
# This is a generated file!  Do not edit.

*localhost drundrun@abv.bg
k 442149667 1109872102
k 441600470 1109872103
k 441600594 1109872103
k 437818216 1109872105
k 437827076 1109872105
k 438297117 1109872104
k 442845848 1109872101
k 441882465 1109872103
k 437797914 1109872105
k 439720153 1109872103

# POP3 State File
# This is a generated file!  Do not edit.

*localhost drundrun@abv.bg
k 441600470 1109872695
k 442149667 1109872694
k 437818216 1109872696
k 441600594 1109872695
k 437827076 1109872696
k 438297117 1109872695
k 442845848 1109872693
k 437797914 1109872696
k 441882465 1109872695
k 439720153 1109872695


След което разбира се freepops решава, че всички десет съобщения са нови и ги тегли.


Титла: Pop3 и Web Mail
Публикувано от: spawnman в Mar 03, 2005, 20:45
За DoctorA:
Не съм си играл да го преписвам на ръка, а направих copy & paste... Извинявам се за глупавия въпрос, но изядения интервал ми стана очевиден едва след като видях поста ти :) Благодаря ти за усилието! И аз се присъединявам към надеждата на alabal за довършване на abv.lua :D


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 03, 2005, 21:37
alabal, къде е тоя файл ? и на коя програма е ( ако не е очевадно от пътя до него )
П.С.: повторното теглене може да се дължи и на бъга с stat


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 21:37
Всъщност се оказа, че не е виновен плъгина, който променя popstate.dat , а това, че в действителност freepops не логва в abv, а отчита, че го е направило и изтрива съдържанието на popstate.dat и тегли отново съдържанието на inbox, следващия път когато действително се свърже с abv.bg.

Тази грешка се появява не само когато проверките на пощата следват една след друга бързо, но и когато е оставено автоматично да си проверява - нямам идея защо е така, но определено проблема съществува при мен и под Дебиан и под виндовс. Вероятно е нещо свързано с грешни сесии или някакви особености на abv.bg и правата за достъп. Вероятно може да се използва някаква форма на проверка за това дали е логнало успешно в inbox и ако не - да не пипа popstate.

При мен тоя файл се появява във всяка директория на Tunderbird - за всеки акаунт е отделен, във директориите на Mail:


Цитат
ls -l /home/blue/.mozilla-thunderbird/h3hyaa9s.default/Mail
total 5
drwxr-xr-x  6 blue blue 464 Feb 22 13:05 Local Folders
drwxr-xr-x  7 blue blue 536 Feb 22 13:23 localhost
drwxr-xr-x  7 blue blue 576 Feb 22 13:51 localhost-1
drwxr-xr-x  7 blue blue 576 Feb 22 14:00 localhost-2
drwxr-xr-x  7 blue blue 576 Feb 22 14:20 localhost-3
drwxr-xr-x  7 blue blue 576 Mar  3 21:18 localhost-4
drwxr-xr-x  7 blue blue 576 Mar  3 21:25 localhost-5
drwxr-xr-x  7 blue blue 576 Feb 22 14:28 pop.gmail-1.com
drwxr-xr-x  7 blue blue 576 Feb 22 14:46 pop.gmail.com
drwxr-xr-x  7 blue blue 576 Feb 22 13:23 pop3.mail.bg


Във всяка директория има по един popstate.dat файл, който описва колко са писмата и статуса им. Сега ще пробвам и с Evolution дали ще има същия проблем.


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 03, 2005, 21:42
ще пробвам да я вградя в stat() тая проверка пък ше видим :)
преди да го пусна тука имаше един принт за дебъгване в стат и понякога абв казваше че е изтекла сесията


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 03, 2005, 21:55
Даааа - същата грешка и при Evolution. Само, че при него няма файлове наречени popstate.dat, но явно има подобни файлове за всеки тип клиент.


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в 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


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 04, 2005, 13:11
Братко!!!!
Работи без проблеми и Thundebird и Evolution (т.е. и freepops) разпознават грешките на сесиите. Супер!
Според мен, трябва да качиш abv.lua и config.lua в раздела на сайта - Made in BG!

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


Титла: Pop3 и Web Mail
Публикувано от: spawnman в 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 :)
Интересно ми е дали допълнителните папки в акаунта ми в абв.бг са пречката или нещо друго.

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

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


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 04, 2005, 16:29
Уфф, братко!
Не мога да помогна за трите папки и филтрите към тях - нямам такива advanced features в моите кутии - чист мързел (DoktorA не го чу това).
Тея странни съобщения показват, че freepops сравнява съобщенията на abv и тези които твоят клиент е теглил.
Грешката която ти дава прилича на грешката при грешна парола - което е странно, тъй като явно влиза в кутията ти да провери писмата. Кога я получаваш тая грешка преди или след сравнението?
Пробвай да си изпратиш ново писмо, спри демона:
/etc/init.d/freepops stop
и го пусни от конзола (може като обикновен потребител):
freepopsd -w (-w - super verbose)
и виж какво и кога ти пише.
Успех!


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в 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}

това е за дебъгване :)

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

 freepopsd -w


Титла: Pop3 и Web Mail
Публикувано от: spawnman в 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:    [C]: find: -1 (C field)
LUAY:    /usr/share/freepops/lua/freepops.lua: enough_new: 363 (Lua field)
LUAY:    /usr/share/freepops/lua/freepops.lua: (null): 540 (Lua )

DBG(log_lua.c,  83): (@/usr/share/freepops/lua/abv_new.lua, 27) : FreePOPs plugin 'abv.bg' version '0.1.1' started!

*** the user wants to login as veso@abv.bg'
DBG(popserver.c, 166): [3104] -> +OK PLEASE ENTER PASSWORD

DBG(popserver.c, 161): [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:    [C]: find: -1 (C field)
LUAY:    /usr/share/freepops/lua/freepops.lua: enough_new: 363 (Lua field)
LUAY:    /usr/share/freepops/lua/freepops.lua: (null): 540 (Lua )

DBG(log_lua.c,  83): (@/usr/share/freepops/lua/abv_new.lua, 27) : FreePOPs plugin 'abv.bg' version '0.1.1' started!

*** the user wants to login as veso@abv.bg'
DBG(popserver.c, 166): [3455] -> +OK PLEASE ENTER PASSWORD

DBG(popserver.c, 161): [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


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 04, 2005, 19:32
еми явно операта не се оправя с грешки :(


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

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


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Mar 05, 2005, 19:32
Цитат
Хм, дискриминацията от страна на DoctorA спряма Opera явно е сериозна

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

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

не прави никакви проблеми :)


Титла: Pop3 и Web Mail
Публикувано от: sverdlov в Mar 05, 2005, 19:48
Братоци, защо въобще се тормозите с проблемни пощи, които не се знае след колко време въобще ще спрат да функционират? Предлагам ви много по-яко решение :)
Значи, отивате на сайта на орбител - там има раздел за безплатен нет - регистрирате си акаунт за достъп през модем - след това ще ви попита дали искате вечна поща - казвате "искам бре" и си избирате какъв адрес искате и как да завършва!!!
Имате избор от 20 домейна, аз лично съм си избрал @hacker.bg - много интересно звучи, и респектиращо към леймъри и тн  ;)
Единственото условие да си получите pop3 smtp достъп, е да влезете поне за секунда през модем с така създания акаунт. Целта на хорицата явно е да ограничат ползването на вечната поща от хиляди потребители, и тъй като малко хора имат модеми.... Предлагам ако някой на форума има модем, като братска услуга да влиза с акаунтите на другите за да им прави вечна поща :)
Естествено, паролите си ги правете временни преди да ги дадете на някой с модем да влезе в нета с тях, нали не искате после да ви четат пощата  :p
Успех!
А - забравих - друг начин да излъжете орбител е като им се обадите и им кажете че паролата ви не действа - казвате си там данните и викате че не можете да си влезете в нета с модема - те да пробват ! Резултат - те пробават, влизат, а вие получавате поща!


Титла: Pop3 и Web Mail
Публикувано от: alabal в Mar 06, 2005, 00:09
Абе, sverdlov!
Ти добре ли си?


Титла: Pop3 и Web Mail
Публикувано от: в Mar 06, 2005, 02:08
АХА :)
Доста съм си добре даже - супер съм - имам си неограничена поща х@hacker.bg  със smtp i pop3 достъп, неограничен размер на пощенската кутия и неограничен размер на прикачените файлове... Исках да споделя начина и други да придобият тез блага


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в 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) списъка с писмата вече се взима от всички страници , а не само от първата


Титла: Pop3 и Web Mail
Публикувано от: Agent_SMITH в Aug 10, 2005, 23:36
Темата съдържа много полезни неща (и много празни приказки, ама нейсе).

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


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Sep 20, 2005, 15:39
ето я и новата версия
има само bug fixes
Примерен код

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

-- Globals
--
PLUGIN_VERSION = "0.1.3"
PLUGIN_NAME = "abv.bg"
PLUGIN_LICENSE = "GNU/GPL"
PLUGIN_DOMAINS = {"@abv.bg","@gyuvetch.bg","@gbg.bg"}
-- -------------------------------------------------------------------------- --
foo_globals= {  
 debug_level = 0,
 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
   if foo_globals.debug_level == 1 then
      print("*** the user wants to login as "..foo_globals.username.."@"..foo_globals.hostname.."'");
   end


 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              
              if foo_globals.debug_level == 1 then
             print("*** exiting")
         end
              return POPSERVER_ERR_AUTH
       end
       foo_globals.session_id = id
          if foo_globals.debug_level == 1 then
        print("*** the user has logged in as "..foo_globals.username.."@"..foo_globals.hostname.."")
          end
       return POPSERVER_ERR_OK
end

-- -------------------------------------------------------------------------- --
-- Fill the number of messages and their size
function fix_no_sessid(pstate,add_page_var)
       if foo_globals.debug_level == 1 then
         print("*** WARNING: stat can't get sessid fixing")
         print("*** re-loging in")
       end
   pass(nil,foo_globals.password)
      if foo_globals.debug_level == 1 then
         print("*** is it ok ?")
      end
   local file,err = nil, nil
     local b = foo_globals.browser
     local session_id = foo_globals.session_id
     if foo_globals.debug_level == 1 then
        print("***  foo_globals.session_id= "..foo_globals.session_id.."")
     end
     file,err = b:get_uri("http://mail05.abv.bg/app/j/box.jsp;jsessionid="..session_id.."?fid=10"..add_page_var.."")
     local _,_,id = string.find(file,"jsessionid=(%w+)")
     if id == nil then
        if foo_globals.debug_level == 1 then
       print("*** this is err :")
            print(err)
--     print("*** this is file :")
--     print(file)
            print("*** it's not ok ?")
   end
      return fix_no_sessid()
    else
          if foo_globals.debug_level == 1 then
             print("*** fixed")
          end
     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+)")
     if id == nil then
             id,file =fix_no_sessid()
     end
     local _,_,num_pages = string.find(file,"Стр. 1 от (%w+)")
     if num_pages == nil then
         num_pages=1
     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(pstate,"&pid="..tmp.."")
          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
        if foo_globals.debug_level == 1 then
           print("*** "..nummesg.." pisma ob6to r1")
   end
     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()
          if foo_globals.debug_level == 1 then
              print("*** Getting page "..tmp.." out of "..num_pages.."")
     end

 
      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)
        if foo_globals.debug_level == 1 then   
                print("*** "..i.." pisma so far")
        end
      end
   end


      if foo_globals.debug_level == 1 then
          print("*** "..j.." pisma")
      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://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
-- --------------------------------------------------------------------------------
--                             END OF FILE
-- --------------------------------------------------------------------------------


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Sep 21, 2005, 14:34
и pls пишете ако има bugs щото аз не го тест-вам тоя plugin
и май само alabal го ползва ( или поне само той ми пише че има bugs )
колкото до предложението на Agent_SMITH
Цитат
Темата съдържа много полезни неща (и много празни приказки, ама нейсе).

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

не съм автора на темата ама според мен няма да има смисал , щтото сега имам 4 дена почивка и като свърша с домашни и "всякакви други глупости" май ще ми остане време да кача plugin-а и малко инфо за него на някое free и като го кача ще го сложа в раздел MADE IN BG на сайта


Титла: Pop3 и Web Mail
Публикувано от: DoctorA в Sep 25, 2005, 23:14
http://openfmi.net/projects/abv-lua/