libgmail failure

J

james.p.news

Hey all,

I've been using libgmail to send out automated notification emails for
my company's nightly regression testing. Last night these emails
started failing, though the python code has not changed. I updated to
the latest libgmail, but that isn't helping. I've logged in to the
email account directly, and the account is still working fine.

The error I get is "HTTP Error 400: Bad Request" when using
gmailAccount.login(). This doesn't throw an exception, just prints
the error. The code crashes outright when it tries to send mail.

This code has been up and running for several months and just started
failing last night. Does anyone have an idea what's going on?

The code and error follow (fairly short :)

Thanks much,
James



Code:
-------------------------------------------------------------------------------------------------------
def send(TO_LIST,SUBJECT,MESSAGE):
GA = libgmail.GmailAccount("(e-mail address removed)","xxxxxxx")
try:
print "Logging in"
GA.login()
except libgmail.GmailLoginFailure:
print "\nLogin failed. (Wrong username/password?)"
else:
print "Log in successful.\n"
for RX in TO_LIST:
MSG = libgmail.GmailComposedMessage(RX,SUBJECT,MESSAGE)
if GA.sendMessage(MSG):
print "Message successfully sent to `%s` ." % RX
else:
print "Could not send message."
-------------------------------------------------------------------------------------------------------

Output:
-------------------------------------------------------------------------------------------------------
Logging in
HTTP Error 400: Bad Request
Log in successful.

No messages found
Traceback (most recent call last):
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 39, in send
if GA.sendMessage(MSG):
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 588, in sendMessage
U_ACTION_TOKEN: self._getActionToken(),
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 563, in _getActionToken
at = self._cookieJar._cookies[ACTION_TOKEN_COOKIE]
KeyError: 'GMAIL_AT'
-------------------------------------------------------------------------------------------------------
 
B

billiejoex

Hey all,

I've been using libgmail to send out automated notification emails for
my company's nightly regression testing. Last night these emails
started failing, though the python code has not changed. I updated to
the latest libgmail, but that isn't helping. I've logged in to the
email account directly, and the account is still working fine.

The error I get is "HTTP Error 400: Bad Request" when using
gmailAccount.login(). This doesn't throw an exception, just prints
the error. The code crashes outright when it tries to send mail.

This code has been up and running for several months and just started
failing last night. Does anyone have an idea what's going on?

The code and error follow (fairly short :)

Thanks much,
James

Code:
---------------------------------------------------------------------------­----------------------------
def send(TO_LIST,SUBJECT,MESSAGE):
GA = libgmail.GmailAccount("(e-mail address removed)","xxxxxxx")
try:
print "Logging in"
GA.login()
except libgmail.GmailLoginFailure:
print "\nLogin failed. (Wrong username/password?)"
else:
print "Log in successful.\n"
for RX in TO_LIST:
MSG = libgmail.GmailComposedMessage(RX,SUBJECT,MESSAGE)
if GA.sendMessage(MSG):
print "Message successfully sent to `%s` ." % RX
else:
print "Could not send message."
---------------------------------------------------------------------------­----------------------------

Output:
---------------------------------------------------------------------------­----------------------------
Logging in
HTTP Error 400: Bad Request
Log in successful.

No messages found
Traceback (most recent call last):
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 39, in send
if GA.sendMessage(MSG):
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 588, in sendMessage
U_ACTION_TOKEN: self._getActionToken(),
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 563, in _getActionToken
at = self._cookieJar._cookies[ACTION_TOKEN_COOKIE]
KeyError: 'GMAIL_AT'
---------------------------------------------------------------------------­----------------------------

Don't know if it's for the same reason since I can't remember if the
error was the same, but some times ago I had a similar problem.
I used libgmail for copying a lot of mails from a google mail box to
another and I've been "black-listed" after a while for flooding.
After that I wasn't neither able to access my account from browser for
a certain amount of time (one or two days).
Try to do same operation 'manually' (by using a browser try to log-in
by using your account, then send a mail) and see if you're able to do
so.
 
J

james.p.news

Thanks for the suggestion. I've tried logging in and sending email
manually and it works just fine.

Thanks though,
James
 
J

James Stroud

Hey all,

I've been using libgmail to send out automated notification emails for
my company's nightly regression testing. Last night these emails
started failing, though the python code has not changed. I updated to
the latest libgmail, but that isn't helping. I've logged in to the
email account directly, and the account is still working fine.

The error I get is "HTTP Error 400: Bad Request" when using
gmailAccount.login(). This doesn't throw an exception, just prints
the error. The code crashes outright when it tries to send mail.

This code has been up and running for several months and just started
failing last night. Does anyone have an idea what's going on?

The code and error follow (fairly short :)

Thanks much,
James

Have you thought about spoofing explorer? Always spoof explorer.

James
 
J

James Stroud

I have not heard of this. How do you spoof IE in libgmail?

You might have to edit libgmail.py directly and add a header to the
urllib2.Request() call. Here are the relevant lines from some code I
wrote (spoofing netscape it looks like):

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
txheaders = {'User-agent' : user_agent}
req = urllib2.Request(pda, signin_params, txheaders)

See if this doesn't fix you up.

James
 
J

james.p.news

You might have to edit libgmail.py directly and add a header to the
urllib2.Request() call. Here are the relevant lines from some code I
wrote (spoofing netscape it looks like):

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
txheaders = {'User-agent' : user_agent}
req = urllib2.Request(pda, signin_params, txheaders)

See if this doesn't fix you up.

James

Well, here's what I tried:

Starting at line 344 of the latest version of libgmail:
-------------------------------------------------------------
#headers = {'Host': 'www.google.com',
# 'User-Agent': 'Mozilla/5.0 (Compatible; libgmail-python)'}
headers = {'Host': 'www.google.com',
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0;
Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2)'}

req = urllib2.Request(URL_LOGIN, data=data, headers=headers)
-------------------------------------------------------------

I grabbed the header information from IE7's identification at
http://www.alanwood.net/demos/browserinfo.html. I got the same
error. Am I doing it wrong, or is it not working? I'm very, very new
to net protocols and such...

Thanks,
James
 
H

Hamish Macpherson

Hey all,

I've been usinglibgmailto send out automated notification emails for
my company's nightly regression testing. Last night these emails
started failing, though the python code has not changed. I updated to
the latestlibgmail, but that isn't helping. I've logged in to the
email account directly, and the account is still working fine.

The error I get is "HTTP Error 400: Bad Request" when using
gmailAccount.login(). This doesn't throw an exception, just prints
the error. The code crashes outright when it tries to send mail.

This code has been up and running for several months and just started
failing last night. Does anyone have an idea what's going on?

The code and error follow (fairly short :)

Thanks much,
James

Code:
-------------------------------------------------------------------------------------------------------
def send(TO_LIST,SUBJECT,MESSAGE):
GA =libgmail.GmailAccount("(e-mail address removed)","xxxxxxx")
try:
print "Logging in"
GA.login()
exceptlibgmail.GmailLoginFailure:
print "\nLogin failed. (Wrong username/password?)"
else:
print "Log in successful.\n"
for RX in TO_LIST:
MSG =libgmail.GmailComposedMessage(RX,SUBJECT,MESSAGE)
if GA.sendMessage(MSG):
print "Message successfully sent to `%s` ." % RX
else:
print "Could not send message."
-------------------------------------------------------------------------------------------------------

Output:
-------------------------------------------------------------------------------------------------------
Logging in
HTTP Error 400: Bad Request
Log in successful.

No messages found
Traceback (most recent call last):
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScripts
\SendEmail.py", line 39, in send
if GA.sendMessage(MSG):
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 588, in sendMessage
U_ACTION_TOKEN: self._getActionToken(),
File "C:\projects\physware\testCases\PythonTestScripts\libgmail.py",
line 563, in _getActionToken
at = self._cookieJar._cookies[ACTION_TOKEN_COOKIE]
KeyError: 'GMAIL_AT'
-------------------------------------------------------------------------------------------------------

I believe I've found a (temporary) fix in this forum thread:
http://www.castlecops.com/p984588-HTTP_Error_400_when_using_gknujon.html

Pasted here for posterity;

---
Edit the libgmail.py file.

In the function

def login(self)


change the following text:
Code:
try:
link = re.search(RE_PAGE_REDIRECT, pageData).group(1)
redirectURL = urllib.unquote(link)


to add the extra line:
Code:
try:
link = re.search(RE_PAGE_REDIRECT, pageData).group(1)
redirectURL = urllib.unquote(link)
redirectURL = redirectURL.replace('\\x26','&')
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top