Можно ли сделать так, чтобы программа заходила на мою почту mail.ru и сообщала, есть ли новые письма?
Помогите с mail.ru
Страница: 1
Сообщений 1 страница 6 из 6
Поделиться203.03.2013 11:09:02
Конкретно для Mail.Ru есть специально разработанная программа этим порталом - Mail.Ru Агент.
Поделиться303.03.2013 11:10:02
Для этого даже есть спец. протоколы.
IMAP и POP3.
А PB умеет работать с почтой, см. раздел "Mail" справки.
Отредактировано Paranoia (03.03.2013 11:10:50)
Поделиться403.03.2013 12:49:04
За основу можешь взять этот пример. http://purebasic.info/phpBB2/viewtopic.php?p=2212#2212
Поделиться517.03.2013 09:40:15
Выдает:"Следующая 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
Поделиться617.03.2013 12:49:16
Кирилл написал(а):
отсутствует:StringExtension
Судя по всему, были установлены библиотеки не той версии.
Страница: 1