Code : Tout sélectionner
Procedure.s codec(deb.s, fin.s, ent.s)
OpenPreferences("cle1.mdp")
cle1.s = ReadPreferenceString(deb, "")
cle2.s = ReadPreferenceString(fin, "")
ClosePreferences()
sor.s = ""
For a = 1 To Len(ent)
car.s = Mid(ent, a, 1)
pos = FindString(cle1, car, 1)
dec.s = Mid(cle2, pos, 1)
sor = sor + dec
Next
ProcedureReturn sor.s
EndProcedure
Procedure.s recu(id)
mem = AllocateMemory(1000)
FreeMemory(mem)
ReceiveNetworkData(id, mem, 1000)
reponse.s = PeekS(mem, 1000)
ProcedureReturn reponse.s
EndProcedure
OpenPreferences("mail.prefs")
log.s = ReadPreferenceString("log", "")
mdp.s = ReadPreferenceString("mdp", "")
serv.s = ReadPreferenceString("serv", "")
ClosePreferences()
mdp1.s = codec("cle1", "cle2", mdp)
OpenWindow(fen, 10, 10, 90, 26, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Serveur")
CreateGadgetList(WindowID())
StringGadget(2, 2, 2, 86, 22, serv)
Repeat
serv.s = GetGadgetText(2)
Until WaitWindowEvent() = #PB_Event_CloseWindow
CloseWindow(fen)
OpenWindow(fen, 10, 10, 90, 26, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Loggin")
CreateGadgetList(WindowID())
StringGadget(0, 2, 2, 86, 22, log)
Repeat
user.s = GetGadgetText(0)
Until WaitWindowEvent() = #PB_Event_CloseWindow
CloseWindow(fen)
OpenWindow(fen, 10, 10, 90, 26, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "MDP")
CreateGadgetList(WindowID())
StringGadget(1, 2, 2, 86, 22, mdp1, #PB_String_Password)
Repeat
pass.s = GetGadgetText(1)
Until WaitWindowEvent() = #PB_Event_CloseWindow
CloseWindow(fen)
pass1.s = codec("cle2", "cle1", pass)
CreatePreferences("mail.prefs")
WritePreferenceString("log", user)
WritePreferenceString("mdp", pass1)
WritePreferenceString("serv", serv)
ClosePreferences()
InitNetwork()
fdl.s = Chr(13) + Chr(10)
id = OpenNetworkConnection(serv, 110)
reponse.s = recu(id)
MessageRequester("Début", reponse.s, 0)
SendNetworkString(id, "USER " + user + fdl)
SendNetworkString(id, "PASS " + pass + fdl)
reponse.s = recu(id)
SendNetworkString(id, "STAT" + fdl)
recu(id)
reponse.s = recu(id)
MessageRequester("Liste", reponse.s, 0)
b.s = RemoveString(reponse, "+OK ")
b.s = StringField(b, 1, " ")
For a = 1 To Val(b)
SendNetworkString(id, "TOP " + Str(a) + " 0" + fdl)
ReceiveNetworkData(id, mem, 1000)
reponse.s = recu(id)
MessageRequester("Message " + Str(a), reponse.s, 0)
Next
MessageRequester("Message ", "Il n'y a pas ou plus de messages.", 0)
SendNetworkString(id, "QUIT" + fdl)
reponse.s = recu(id)
MessageRequester("Connection terminée", reponse, 0)