PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите с mail.ru


Помогите с mail.ru

Сообщений 1 страница 6 из 6

1

Можно ли сделать так, чтобы программа заходила на мою почту mail.ru и сообщала, есть ли новые письма?

0

2

Конкретно для Mail.Ru есть специально разработанная программа этим порталом - Mail.Ru Агент.

0

3

Для этого даже есть спец. протоколы.
IMAP и POP3.
А PB умеет работать с почтой, см. раздел "Mail" справки.

Отредактировано Paranoia (03.03.2013 11:10:50)

0

4

За основу можешь взять этот пример. http://purebasic.info/phpBB2/viewtopic.php?p=2212#2212

+1

5

Выдает:"Следующая PureLibrary отсутствует:StringExtension"

Код:
; Форум:  http://pbasic.spb.ru/phpBB2/index.php 
; Автор:  Пётр 
; Дата:   20 Октября 2007 года. 
; OS      Windows 
; Версия  1.0 
; Для успешной компиляции потребуются дополнительные библиотеки: PurePOP3, PBOSL, Droopy. 
; Компилятор - PureBasic 4.0 


Path.s=GetTemporaryDirectory() 
KeyLog.s="павпр304jibjity9040шош540лОРЗЩЕЭКРЛБuiugtiithroi" 
KeyPas.s="890654рлапго756щрпвjhjyrumkgjdfhkmnhgjrfhjfjhjgt" 
Global Dostup=0 : Global Count : Global MeilString.s 
Gosub Nastroiki 

Procedure.s HifrEncode(String.s , Key.s) ; Шифровщик 
Result.s="" 
Size=Len(String.s) 
 For i=1 To Size 
  S.s=(Mid(String,i,1) ) 
  
  Result=Result+RSet(Str(Asc(RC4Api(s , Key))),3,"0") 
 Next i 
ProcedureReturn Result 
EndProcedure 

Procedure.s HifrDecoder(String.s , Key.s) ; Дешифровщик 
Result.s="" 
Size=Len(String.s) 
For i=1 To Size Step 3 
x.s=Chr(Val(Mid(String,i,3))) 
Result=Result+RC4Api(x, Key) 
Next i 
ProcedureReturn Result 
EndProcedure 

Procedure Mail(G_Login,G_Pas) 
User.s = GetGadgetText(G_Login) 
Pwd.s =  GetGadgetText(G_Pas) 
If User<>"" And Pwd<>"" 
 Len=Len(User) 
 Server.s="smtp."+Right(User, Len-FindString(User,"@",1)) 
 Port.l = 110 
 If PurePOP3_OpenPOP3Connection(Server, Port, User, Pwd) = #PurePOP3_Ok 
 CountMessage = PurePOP3_CountMessages() 
 PurePOP3_ClosePOP3Connection() 
 Else 
 CountMessage= -2 ; Нет связи с инетом. 
 EndIf 
Else 
CountMessage= -3 ; Одно их полей не заполнено. 
EndIf 
ProcedureReturn CountMessage 
EndProcedure 

; Узнаём есть ли связь с инетом (автор Квиталли) 
Procedure.l InternetConnected() 
  Protected dwConnectionTypes.l = #INTERNET_CONNECTION_MODEM + #INTERNET_CONNECTION_LAN + #INTERNET_CONNECTION_PROXY 
  
  ProcedureReturn InternetGetConnectedState_(@dwConnectionTypes,0) ; 0 - связи нет, >0 связь есть. 
EndProcedure 

Procedure Inet() 
If Count>60 Or Dostup=1 
;MessageBeep(0) 
  Count=0 
 If InternetConnected() 
  Count=0 : Dostup=0 
   ;TimerKill(0,WindowID(0) ): Timer(0,10000,@Inet(),WindowID(0) ) 
    
   Goto X_OpenMail 
   X_OpenMail1: 
    
   If MeilString<>"" 
    MessageRequester("Почта",MeilString) 
   EndIf 
 Else 
  If Dostup=0 
 Dostup=1 :TimerKill(0,WindowID(0) ): Timer(0,1000,@Inet(),WindowID(0) ) 
 EndIf 
 EndIf 
Else 
Count=Count+1 
EndIf 
EndProcedure 

 If OpenWindow(0,200,200,420,280,"Настройки",#PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_Invisible) 
  If CreateGadgetList(WindowID(0)) 
   ScrollAreaGadget(0, 20, 10, 380,200, 350, 900, 30) 
     Frame3DGadget(1,20,20,300,100,"Меил 1") 
     CheckBoxGadget(2,100,30,70,15,"Включить") 
     StringGadget(3,100,50,200,20,"") 
     StringGadget(4,100,80,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(5,30,52,50,15,"Меил") 
     TextGadget(6,30,82,50,15,"Пароль") 
      
     Frame3DGadget(7,20,130,300,100,"Меил 2") 
     CheckBoxGadget(8,100,30+110,70,15,"Включить") 
     StringGadget(9,100,50+110,200,20,"") 
     StringGadget(10,100,80+110,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(11,30,52+110,50,15,"Меил") 
     TextGadget(12,30,82+110,50,15,"Пароль") 
  
     Frame3DGadget(14,20,240,300,100,"Меил 3") 
     CheckBoxGadget(15,100,30+220,70,15,"Включить") 
     StringGadget(16,100,50+220,200,20,"") 
     StringGadget(17,100,80+220,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(18,30,52+220,50,15,"Меил") 
     TextGadget(19,30,82+220,50,15,"Пароль") 
      
     Frame3DGadget(20,20,350,300,100,"Меил 4") 
     CheckBoxGadget(21,100,30+330,70,15,"Включить") 
     StringGadget(22,100,50+330,200,20,"") 
     StringGadget(23,100,80+330,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(24,30,52+330,50,15,"Меил") 
     TextGadget(25,30,82+330,50,15,"Пароль") 
      
     Frame3DGadget(26,20,460,300,100,"Меил 5") 
     CheckBoxGadget(27,100,30+440,70,15,"Включить") 
     StringGadget(28,100,50+440,200,20,"") 
     StringGadget(29,100,80+440,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(30,30,52+440,50,15,"Меил") 
     TextGadget(31,30,82+440,50,15,"Пароль") 
      
     Frame3DGadget(32,20,570,300,100,"Меил 6") 
     CheckBoxGadget(33,100,30+550,70,15,"Включить") 
     StringGadget(34,100,50+550,200,20,"") 
     StringGadget(35,100,80+550,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(36,30,52+550,50,15,"Меил") 
     TextGadget(37,30,82+550,50,15,"Пароль") 
      
     Frame3DGadget(38,20,680,300,100,"Меил 7") 
     CheckBoxGadget(39,100,30+660,70,15,"Включить") 
     StringGadget(40,100,50+660,200,20,"") 
     StringGadget(41,100,80+660,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(42,30,52+660,50,15,"Меил") 
     TextGadget(43,30,82+660,50,15,"Пароль") 
      
     Frame3DGadget(44,20,790,300,100,"Меил 8") 
     CheckBoxGadget(45,100,30+770,70,15,"Включить") 
     StringGadget(46,100,50+770,200,20,"") 
     StringGadget(47,100,80+770,200,20,"",#PB_String_Password | #PB_String_Numeric) 
     TextGadget(48,30,52+770,50,15,"Меил") 
     TextGadget(49,30,82+770,50,15,"Пароль") 
      
     Gosub Str : Gosub GadgetAktiv 
     Mail(3,4) 
     If AddSysTrayIcon(1, WindowID(0), ExtractIcon_(0,GetSystemDirectory()+"\sendmail.dll",0)) 
        
       If CreatePopupMenu(0) 
         MenuItem(1, "Узнать о новых письмах") 
         MenuItem(2, "Настройки") 
         MenuItem(3, "О программе") 
         MenuBar() 
         MenuItem(4, "Выход") 
       EndIf 
   EndIf 
   Timer(0,60,@Inet(),WindowID(0) ) 
    Repeat 
    Event=WaitWindowEvent() 
    Gadget=EventGadget() 
    Type=EventType() 
    Menu=EventMenu() 
    Window=EventWindow() 
    ; Обработка правой кнопки мышки 
     If Event = #PB_Event_SysTray And Type=#PB_EventType_RightClick 
     DisplayPopupMenu(0, WindowID(0)) ; показ вспывающего меню 
     EndIf 
      
     If Event = #PB_Event_SysTray And Type=#PB_EventType_LeftDoubleClick 
      Goto M1 
     EndIf 
      
     If Event = #PB_Event_Menu 
      Select Menu 
       Case 1 
   M1: 
        If InternetConnected()>0 
         Gosub OpenMail 
         If MeilString<>"" 
          MessageRequester("Есть новые письма",MeilString) 
         Else 
          MessageRequester("Нет писем","Новых писем нет",#MB_OK ) 
         EndIf 
        Else 
         MessageRequester("Ошибка","Нет связи с инетом",#MB_OK | #MB_ICONERROR) 
        EndIf 
       Case 2 
        HideWindow(0,0) 
       Case 3 
        MessageRequester("О программе", "Проверялка мейлов"+Chr(13)+"Автор  -  Пётр") 
       Case 4 
        Exit=1 
      EndSelect 
     EndIf 
      
     If Window=0 
      If Event=#PB_Event_CloseWindow 
       HideWindow(0,1) 
       Gosub SaveN 
      EndIf 
      If Gadget=2 Or Gadget=8 Or Gadget=15 Or Gadget=21 Or Gadget=27 Or Gadget=33 Or Gadget=39 Or Gadget=45 
       Gosub GadgetAktiv 
      EndIf 
     EndIf 
      
    Until Exit=1 
    TimerKill(0,WindowID(0) ) 
  EndIf 
EndIf 
End 



OpenMail: 

MeilString.s="" 

If InternetConnected() >0 

 If GetGadgetState(2)=1 ; Меил 1 
 MailTemp=Mail(3,4) 
   If MailTemp >0 And ks1< MailTemp 
     MeilString=MeilString+GetGadgetText(3)+"    "+Str(MailTemp-ks1)+Chr(13) 
     ks1=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(3)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(8)=1 ; Меил 2 
 MailTemp=Mail(9,10) 
  If MailTemp >0 And ks2< MailTemp 
     MeilString=MeilString+GetGadgetText(9)+"    "+Str(MailTemp-ks2)+Chr(13) 
     ks2=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(9)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(15)=1 ; Меил 3 
 MailTemp=Mail(16,17) 
  If MailTemp >0 And ks3< MailTemp 
     MeilString=MeilString+GetGadgetText(16)+"    "+Str(MailTemp-ks3)+Chr(13) 
     ks3=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(16)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(21)=1 ; Меил 4 
 MailTemp=Mail(22,23) 
  If MailTemp >0 And ks4< MailTemp 
     MeilString=MeilString+GetGadgetText(22)+"    "+Str(MailTemp-ks4)+Chr(13) 
     ks4=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(22)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(27)=1 ; Меил 5 
 MailTemp=Mail(28,29) 
  If MailTemp >0 And ks5< MailTemp 
     MeilString=MeilString+GetGadgetText(28)+"    "+Str(MailTemp-ks5)+Chr(13) 
     ks5=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(28)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(33)=1 ; Меил 6 
 MailTemp=Mail(34,35) 
  If MailTemp >0 And ks6< MailTemp 
     MeilString=MeilString+GetGadgetText(34)+"    "+Str(MailTemp-ks6)+Chr(13) 
     ks6=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(34)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(39)=1 ; Меил 7 
 MailTemp=Mail(40,41) 
  If MailTemp >0 And ks7< MailTemp 
     MeilString=MeilString+GetGadgetText(40)+"    "+Str(MailTemp-ks7)+Chr(13) 
     ks7=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(40)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  
 If GetGadgetState(45)=1 ; Меил 8 
 MailTemp=Mail(46,47) 
  If MailTemp >0 And ks8< MailTemp 
     MeilString=MeilString+GetGadgetText(45)+"    "+Str(MailTemp-ks8)+Chr(13) 
     ks8=MailTemp 
   EndIf 
   If MailTemp = -2 
   MeilString=MeilString+GetGadgetText(45)+"    нет связи с мейлом!!"+Chr(13) 
   EndIf 
 EndIf 
  Gosub SaveN 
Else 
 SysTrayIconToolTip(1,"Нет связи с инетом") 
EndIf 
Return 

X_OpenMail: 
Gosub OpenMail 
Goto X_OpenMail1 

GadgetAktiv: 

If GetGadgetState(2)=1 ; Меил 1 
 DisableGadget(3,0) 
 DisableGadget(4,0) 
 DisableGadget(5,0) 
 DisableGadget(6,0) 
Else 
 DisableGadget(3,1) 
 DisableGadget(4,1) 
 DisableGadget(5,1) 
 DisableGadget(6,1) 
EndIf 

If GetGadgetState(8)=1 ; Меил 2 
 DisableGadget(9,0) 
 DisableGadget(10,0) 
 DisableGadget(11,0) 
 DisableGadget(12,0) 
Else 
 DisableGadget(9,1) 
 DisableGadget(10,1) 
 DisableGadget(11,1) 
 DisableGadget(12,1) 
EndIf 

If GetGadgetState(15)=1 ; Меил 3 
 DisableGadget(16,0) 
 DisableGadget(17,0) 
 DisableGadget(18,0) 
 DisableGadget(19,0) 
Else 
 DisableGadget(16,1) 
 DisableGadget(17,1) 
 DisableGadget(18,1) 
 DisableGadget(19,1) 
EndIf 

If GetGadgetState(21)=1 ; Меил 4 
 DisableGadget(22,0) 
 DisableGadget(23,0) 
 DisableGadget(24,0) 
 DisableGadget(25,0) 
Else 
 DisableGadget(22,1) 
 DisableGadget(23,1) 
 DisableGadget(24,1) 
 DisableGadget(25,1) 
EndIf 

If GetGadgetState(27)=1 ; Меил 5 
 DisableGadget(28,0) 
 DisableGadget(29,0) 
 DisableGadget(30,0) 
 DisableGadget(31,0) 
Else 
 DisableGadget(28,1) 
 DisableGadget(29,1) 
 DisableGadget(30,1) 
 DisableGadget(31,1) 
EndIf 

If GetGadgetState(33)=1 ; Меил 6 
 DisableGadget(34,0) 
 DisableGadget(35,0) 
 DisableGadget(36,0) 
 DisableGadget(37,0) 
Else 
 DisableGadget(34,1) 
 DisableGadget(35,1) 
 DisableGadget(36,1) 
 DisableGadget(37,1) 
EndIf 

If GetGadgetState(39)=1 ; Меил 7 
 DisableGadget(40,0) 
 DisableGadget(41,0) 
 DisableGadget(42,0) 
 DisableGadget(43,0) 
Else 
 DisableGadget(40,1) 
 DisableGadget(41,1) 
 DisableGadget(42,1) 
 DisableGadget(43,1) 
EndIf 

If GetGadgetState(45)=1 ; Меил 8 
 DisableGadget(46,0) 
 DisableGadget(47,0) 
 DisableGadget(48,0) 
 DisableGadget(49,0) 
Else 
 DisableGadget(46,1) 
 DisableGadget(47,1) 
 DisableGadget(48,1) 
 DisableGadget(49,1) 
EndIf 
Return 

Str: 
SetGadgetText(3,HifrDecoder(m1.s,KeyLog) ) 
SetGadgetText(4,HifrDecoder(p1.s,KeyPas) ) 

SetGadgetText(9,HifrDecoder(m2.s,KeyLog) ) 
SetGadgetText(10,HifrDecoder(p2.s,KeyPas) ) 

SetGadgetText(16,HifrDecoder(m3.s,KeyLog) ) 
SetGadgetText(17,HifrDecoder(p3.s,KeyPas) ) 

SetGadgetText(22,HifrDecoder(m4.s,KeyLog) ) 
SetGadgetText(23,HifrDecoder(p4.s,KeyPas) ) 

SetGadgetText(28,HifrDecoder(m5.s,KeyLog) ) 
SetGadgetText(29,HifrDecoder(p5.s,KeyPas) ) 

SetGadgetText(34,HifrDecoder(m6.s,KeyLog) ) 
SetGadgetText(35,HifrDecoder(p6.s,KeyPas) ) 

SetGadgetText(40,HifrDecoder(m7.s,KeyLog) ) 
SetGadgetText(41,HifrDecoder(p7.s,KeyPas) ) 

SetGadgetText(46,HifrDecoder(m8.s,KeyLog) ) 
SetGadgetText(47,HifrDecoder(p8.s,KeyPas) ) 

SetGadgetState(2,s1) 
SetGadgetState(8,s2) 
SetGadgetState(15,s3) 
SetGadgetState(21,s4) 
SetGadgetState(27,s5) 
SetGadgetState(33,s6) 
SetGadgetState(39,s7) 
SetGadgetState(45,s8) 
Return 

Nastroiki: 
If OpenPreferences(Path+"Qpm.mpl") 
  s1=ReadPreferenceLong("s1", 0) 
  m1.s=ReadPreferenceString("m1", "") 
  p1.s=ReadPreferenceString("p1", "") 
  ks1= ReadPreferenceLong("Меил 1", 0) 


  s2=ReadPreferenceLong("s2", 0) 
  m2.s=ReadPreferenceString("m2", "") 
  p2.s=ReadPreferenceString("p2", "") 
  ks2= ReadPreferenceLong("Меил 2", 0) 
  
  s3=ReadPreferenceLong("s3", 0) 
  m3.s=ReadPreferenceString("m3", "") 
  p3.s=ReadPreferenceString("p3", "") 
  ks3= ReadPreferenceLong("Меил 3", 0) 
  
  s4=ReadPreferenceLong("s4", 0) 
  m4.s=ReadPreferenceString("m4", "") 
  p4.s=ReadPreferenceString("p4", "") 
  ks4= ReadPreferenceLong("Меил 4", 0) 
  
  s5=ReadPreferenceLong("s5", 0) 
  m5.s=ReadPreferenceString("m5", "") 
  p5.s=ReadPreferenceString("p5", "") 
  ks5= ReadPreferenceLong("Меил 5", 0) 
  
  s6=ReadPreferenceLong("s6", 0) 
  m6.s=ReadPreferenceString("m6", "") 
  p6.s=ReadPreferenceString("p6", "") 
  ks6= ReadPreferenceLong("Меил 6", 0) 
  
  s7=ReadPreferenceLong("s7", 0) 
  m7.s=ReadPreferenceString("m7", "") 
  p7.s=ReadPreferenceString("p7", "") 
  ks7= ReadPreferenceLong("Меил 7", 0) 
  
  s8=ReadPreferenceLong("s8", 0) 
  m8.s=ReadPreferenceString("m8", "") 
  p8.s=ReadPreferenceString("p8", "") 
  ks8= ReadPreferenceLong("Меил 8", 0) 
err=0 
ClosePreferences() 
Else 
err=1 
EndIf 
Return 

SaveN: 
If CreatePreferences(Path+"Qpm.mpl") 
  
  WritePreferenceLong("s1", GetGadgetState(2)) 
  WritePreferenceString("m1", HifrEncode(GetGadgetText(3),KeyLog) ) 
  WritePreferenceString("p1", HifrEncode(GetGadgetText(4),KeyPas) ) 
  WritePreferenceLong("Меил 1",ks1 ) 

  
  WritePreferenceLong("s2", GetGadgetState(8)) 
  WritePreferenceString("m2", HifrEncode(GetGadgetText(9),KeyLog) ) 
  WritePreferenceString("p2", HifrEncode(GetGadgetText(10),KeyPas) ) 
  WritePreferenceLong("Меил 2",ks2 ) 
  
  WritePreferenceLong("s3", GetGadgetState(15)) 
  WritePreferenceString("m3", HifrEncode(GetGadgetText(16),KeyLog) ) 
  WritePreferenceString("p3", HifrEncode(GetGadgetText(17),KeyPas) ) 
  WritePreferenceLong("Меил 3",ks3 ) 
  
  
  WritePreferenceLong("s4", GetGadgetState(21)) 
  WritePreferenceString("m4", HifrEncode(GetGadgetText(22),KeyLog) ) 
  WritePreferenceString("p4", HifrEncode(GetGadgetText(23),KeyPas) ) 
  WritePreferenceLong("Меил 4",ks4 ) 
  
  WritePreferenceLong("s5", GetGadgetState(27)) 
  WritePreferenceString("m5", HifrEncode(GetGadgetText(28),KeyLog) ) 
  WritePreferenceString("p5", HifrEncode(GetGadgetText(29),KeyPas) ) 
  WritePreferenceLong("Меил 5",ks5 ) 
  
  WritePreferenceLong("s6", GetGadgetState(33)) 
  WritePreferenceString("m6", HifrEncode(GetGadgetText(34),KeyLog) ) 
  WritePreferenceString("p6", HifrEncode(GetGadgetText(35),KeyPas) ) 
  WritePreferenceLong("Меил 6",ks6 ) 
  
  WritePreferenceLong("s7", GetGadgetState(39)) 
  WritePreferenceString("m7", HifrEncode(GetGadgetText(40),KeyLog) ) 
  WritePreferenceString("p7", HifrEncode(GetGadgetText(41),KeyPas) ) 
  WritePreferenceLong("Меил 7",ks7 ) 
  
  WritePreferenceLong("s8", GetGadgetState(45)) 
  WritePreferenceString("m8", HifrEncode(GetGadgetText(46),KeyLog) ) 
  WritePreferenceString("p8", HifrEncode(GetGadgetText(47),KeyPas) ) 
  WritePreferenceLong("Меил 8",ks8 ) 
 ClosePreferences() 
  
EndIf 
  
Return

0

6

Кирилл написал(а):

отсутствует:StringExtension

Судя по всему, были установлены библиотеки не той версии.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Помогите с mail.ru