Google Mail Atom Feed mit Purebasic nutzen.
Verfasst: 19.12.2011 18:11
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:
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:
Aber ich muss umbedingt die ganze Nachricht angezeigt bekommen.
Wieso macht er es nicht ?
Mit freundlichen Grüßen,
Yayo
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
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>
Wieso macht er es nicht ?
Mit freundlichen Grüßen,
Yayo