By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,711 Members | 1,335 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,711 IT Pros & Developers. It's quick & easy.

libgmail failure

P: n/a
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("xx****@gmail.com","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\PythonTestScri pts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScri pts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScri pts
\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'
-------------------------------------------------------------------------------------------------------

Aug 21 '07 #1
Share this Question
Share on Google+
10 Replies

P: n/a
On 21 Ago, 23:07, "james.p.n...@gmail.com" <james.p.n...@gmail.com>
wrote:
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("xxx...@gmail.com","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\PythonTestScri pts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScri pts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScri pts
\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.

Aug 21 '07 #2

P: n/a
Thanks for the suggestion. I've tried logging in and sending email
manually and it works just fine.

Thanks though,
James

Aug 21 '07 #3

P: n/a
I met the same problem now, James , do you have resolved this
problem ?

On Aug 22, 5:07 am, "james.p.n...@gmail.com" <james.p.n...@gmail.com>
wrote:
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("xxx...@gmail.com","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\PythonTestScri pts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScri pts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScri pts
\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'
-------------------------------------------------------------------------------------------------------

Aug 22 '07 #4

P: n/a
ja**********@gmail.com wrote:
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
Aug 22 '07 #5

P: n/a
On Aug 22, 10:26 am, James Stroud <jstr...@mbi.ucla.eduwrote:
james.p.n...@gmail.com wrote:
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
I have not heard of this. How do you spoof IE for libgmail?

Thanks,
James

Aug 22 '07 #6

P: n/a
On Aug 22, 10:26 am, James Stroud <jstr...@mbi.ucla.eduwrote:
james.p.n...@gmail.com wrote:
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

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

Thanks much,
James

Aug 22 '07 #7

P: n/a
ja**********@gmail.com wrote:
On Aug 22, 10:26 am, James Stroud <jstr...@mbi.ucla.eduwrote:
>Have you thought about spoofing explorer? Always spoof explorer.

James


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
Aug 22 '07 #8

P: n/a
On Aug 22, 4:11 pm, James Stroud <jstr...@mbi.ucla.eduwrote:
james.p.n...@gmail.com wrote:
On Aug 22, 10:26 am, James Stroud <jstr...@mbi.ucla.eduwrote:
Have you thought about spoofing explorer? Always spoof explorer.
James
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
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

Aug 23 '07 #9

P: n/a
On Aug 21, 5:07 pm, "james.p.n...@gmail.com" <james.p.n...@gmail.com>
wrote:
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("xxx...@gmail.com","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\PythonTestScri pts
\SendEmail.py", line 58, in <module>
main()
File "C:\projects\physware\testCases\PythonTestScri pts
\SendEmail.py", line 55, in main
send(TO_LIST,SUB,MSG)
File "C:\projects\physware\testCases\PythonTestScri pts
\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-HT...g_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','&')
---

Must have been some small change in gmail's redirect that put it off.

Aug 23 '07 #10

P: n/a
Thanks! That worked brilliantly.

-James

Aug 23 '07 #11

This discussion thread is closed

Replies have been disabled for this discussion.