#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/so #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** Global $source #include Global $eReturn = _CheckMail("xyz@gmail.com", "xyz ") ;Global $Emails = @extended Switch @error Case 0 Switch @extended Case True ConsoleWrite(" 0>"&$eReturn[0][0] & @CR) ConsoleWrite(" "& $Emails & " " & $eReturn[0][1] & @CR) For $x = 1 To $Emails ConsoleWrite("!>Title - " & $eReturn[$x][0] & @CR) ConsoleWrite("+>Name - " & $eReturn[$x][1] & @CR) ConsoleWrite("->Email - " & $eReturn[$x][2] & @CR) ConsoleWrite(">summary - " & $eReturn[$x][3] & @CR & @CR) Next Case Else MsgBox(64,"success!","Success! But you have no new emails :(") EndSwitch Case 1 MsgBox(0,"Error!","Couldn't get your new emails for some reason...") Case 2,3 MsgBox(0,"Error!","you need to enter an user name and password!") Case 4 MsgBox(16,"Error!","Error Getting URL Source!") Case 5 MsgBox(16,"Error!","No response?") Case 6 MsgBox(16,"Error!","Unauthorized access, possibly a wrong username or password!") EndSwitch ; #FUNCTION# ==================================================================================================================== ; Name ..........: _CheckMail ; Description ...: Checks a Google Email for new emails. ; Syntax ........: _CheckMail($UserName, $Pswd[, $UserAgentString = ""]) ; Parameters ....: $UserName - An unknown value. ; $Pswd - An unknown value. ; $UserAgentString - [optional] An unknown value. Default is "". ; Return values .: A 2d array with email information as follows~ ; 1|Title ; 2|Name ; 3|Email ; 4|Summary ; 5|Date ; 6|Time ; ; Author ........: dantay9 ; Modified ......: THAT1ANONYMOUSDUDE ; Remarks .......: ; Related .......: ; Link ..........: http://www.autoitscript.com/forum/topic/111853-gmail-email-checker/page__view__findpost__p__819409 ; Example .......: Yes ; =============================================================================================================================== Func _CheckMail($UserName, $Pswd, $UserAgentString = "") If Not $UserName Then Return SetError(2,0,0) If Not $Pswd Then Return SetError(3,0,0) If $UserAgentString Then HttpSetUserAgent($UserAgentString) Local $source = InetRead("https://" & $UserName & ":" & $Pswd & "mail.google.com/mail/u/0/#inbox",1) If @error Then ConsoleWrite("!>Error Getting URL Source!" & @CR & " 404>@Error =" & @error & @CR & " 404>@Extended =" & @extended & @CR) Return SetError(4,0,0) EndIf If $source Then $source = BinaryToString($source) Else Return SetError(5,0,0) EndIf If StringLeft(StringStripWS($source, 8), 46) == "Unauthorized" Then Return SetError(6, 0, 0) If Not Number(StringBetween($source, "", "")) Then Return SetError(0,0,0) Local $Email = _StringBetween($source, "", "") If @error Then Return SetError(1, 0, 0) Local $Time Local $Count = UBound($Email) Local $Datum[$Count + 1][6] $Datum[0][0] = StringBetween($source, "", "") $Datum[0][1] = StringBetween($source, "", "") For $i = 0 To $Count - 1 $Datum[$i+1][0] = StringBetween($Email[$i], "", "") If Not $Datum[$i+1][0] Then $Datum[$i][0] = "(no subject)" $Datum[$i+1][1] = StringBetween($Email[$i], "", "") $Datum[$i+1][2] = StringBetween($Email[$i], "", "") $Datum[$i+1][3] = StringBetween($Email[$i], "", "") $Time = StringBetween($Email[$i], "", "") $Datum[$i+1][4] = DateFromTimeDate($Time) $Datum[$i+1][5] = TimeFromTimeDate($Time) Next Return SetError(0,$Count,$Datum) EndFunc Func StringBetween($Str, $S, $E) Local $B = _StringBetween($Str, $S, $E) If @error Then Return SetError(1,0,0) Return SetError(0,0,$B[0]) EndFunc ;==>StringBetween ; #FUNCTION# ==================================================================================================================== ; Name ..........: DateFromTimeDate ; Description ...: Returns email sent date. ; Syntax ........: DateFromTimeDate($String) ; Parameters ....: $String - A gmail date string ; Return values .: None ; Author ........: ??? ; Example .......: No ; =============================================================================================================================== Func DateFromTimeDate($String) Local $RegEx = StringRegExp($String, "(?d{2}|d{4})(?:-)(?d{1,2})(?:-)(?d{1,2})", 1) If IsArray($RegEx) Then Return Int($RegEx[0]) & "/" & Int($RegEx[1]) & "/" & Int($RegEx[2]) Else Return SetError(1, 0, 0) EndIf EndFunc ;==>DateFromTimeDate ; #FUNCTION# ==================================================================================================================== ; Name ..........: TimeFromTimeDate ; Description ...: Returns the email sent time. ; Syntax ........: TimeFromTimeDate($String) ; Parameters ....: $String - An unknown value. ; Return values .: None ; Author ........: ??? ; Example .......: No ; =============================================================================================================================== Func TimeFromTimeDate($String) Local $RegEx = StringRegExp($String, "(?d{1,2})(?::)(?d{1,2})(?::)(?d{1,2})", 1) If IsArray($RegEx) Then Return (Int($RegEx[0]) - 4) & ":" & Int($RegEx[1]) & ":" & Int($RegEx[2]) ;don't know why I have to subtract 4 Else Return SetError(1, 0, 0) EndIf EndFunc ;==>TimeFromTimeDate