Google Mail Atom Feed mit Purebasic nutzen.

Anfängerfragen zum Programmieren mit PureBasic.
Yayo
Beiträge: 1
Registriert: 19.12.2011 18:01

Google Mail Atom Feed mit Purebasic nutzen.

Beitrag von Yayo »

Nabend.
Ich brauche momentan einen Service,
bei dem ich über Pop3 oder sonstige Art eine Email öffnen und speichern kann.

Im englischen Forum bin ich zwar fündig geworden,
jedoch funktioniert es nicht so wie ich es gerne hätte.

Es geht um folgenden Code:

Code: Alles auswählen




user$ = "xxx"
pass$ = "xxx"

email$ = user$ + "%40gmail%2Ecom"



len = 57 + Len(email$) + Len(pass$)

InitNetwork()

*Buffer = AllocateMemory(6000)

connid = OpenNetworkConnection("mail.google.com", 80)


request$ = "POST https://www.google.com/accounts/ClientLogin HTTP/1.0" + Chr(10)
request$ + "Content-type: application/x-www-form-urlencoded" + Chr(10)
request$ + "Connection: keep-alive" + Chr(10)
request$ + "Content-length: " + Str(Len) + Chr(10) + Chr(10)
request$ + "&Email=" + email$ + "&Passwd=" + pass$ + "&accountType=HOSTED_OR_GOOGLE&service=mail"

SendNetworkString(connid, request$)

Debug "Logging in.."


Delay(2000)

Repeat
  cEvent = NetworkClientEvent(connid)
 
  Select cEvent
    Case #PB_NetworkEvent_Data
      ReceiveNetworkData(connid, *Buffer, 6000)
      response$ = PeekS(*Buffer)
     
      FreeMemory(*Buffer) 
      *Buffer = AllocateMemory(6000)
     
      For x = 1 To CountString(response$, Chr(10))
        curline$ = StringField(response$, x, Chr(10))
     
 Debug curline$
        
       
        If FindString(curline$, "Auth=", 0)
         
          auth$ = "GX=" + Mid(curline$, 6)
         
          Debug "sending request for mail feed.."

        
          request$ = "GET /mail/feed/atom/ HTTP/1.1" + Chr(10)
          request$ + "Host: mail.google.com" + Chr(10)
          request$ + "Cookie: " + auth$ + Chr(10) + Chr(10)
         
          SendNetworkString(connid, request$)
         
          Delay(2000)         
        EndIf
      Next x
  EndSelect   


Until cEvent = 0
Das wäre wenn ich statt den Debug die Sachen in einer Datei speichern würde genau das was ich bräuchte.

Jedoch zeigt er nicht die komplette Mail an, sondern nur einen ganz kleinen Teil davon.

Also:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for xxx@googlemail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1</fullcount>
<link rel="alternate" href="http://mail.google.com/mail" type="text/html" />
<modified>2011-12-19T15:39:10Z</modified>
<entry>
<title>xxx</title>
<summary>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...</summary>
<link rel="alternate" href="http://mail.google.com/mail?account_id=xxx@googlemail.com&message_id=13456f854d788218&view=conv&extsrc=atom" type="text/html" />
<modified>2011-12-19T15:37:22Z</modified>
<issued>2011-12-19T15:37:22Z</issued>
<id>tag:gmail.google.com,2004:1388638678434742808</id>
<author>
<name>xxx</name>
<email>info@xxx</email>
</author>
</entry>
</feed>
Aber ich muss umbedingt die ganze Nachricht angezeigt bekommen.

Wieso macht er es nicht ?

Mit freundlichen Grüßen,
Yayo