Kev Dwyer wrote:
Hello Astan,

Your code executes without error for me on Win98 (!) with Python 2.5 or XP with Python 2.6. It would help people to help you if you could provide the *exact* console output from when you try to execute the code, *including* the traceback. That way we can work out which line of code is hitting the exception.

Cheers,

Kev

Hi,
My mistake. The length of body is over 1400 characters. Here is my updated code and result:

import urllib, webbrowser, win32api
def mailto_url(to=None,subject=None,body=None,cc=None):
   """
   encodes the content as a mailto link as described on
   http://www.faqs.org/rfcs/rfc2368.html """
   url = "mailto: " + urllib.quote(to.strip(),"@,")
   sep = "?"
   if cc:
       url+= sep + "cc=" + urllib.quote(cc,"@,")
       sep = "&"
   if subject:
       url+= sep + "subject=" + urllib.quote(subject,"")
       sep = "&"
   if body:
       # Also note that line breaks in the body of a message MUST be
       # encoded with "%0D%0A". (RFC 2368)
       body="\r\n".join(body.splitlines())
       url+= sep + "body=" + urllib.quote(body,"")
       sep = "&"
   return url

txtTo = "t...@com.com"
txtSubject = "Test Subject"
body = "Test body"
for t in range(278):
   body+="test "
txtCC = "cc_t...@com.com"

url = mailto_url(txtTo,txtSubject,body,txtCC)
#win32api.ShellExecute(0,'open',url,None,None,0)
webbrowser.open(url,new=1)
# os.startfile(url)

result:

Traceback (most recent call last):
 File "C:/stanc_home/python/mail_test.py", line 32, in <module>
   webbrowser.open(url,new=1)
 File "C:\Python25\lib\webbrowser.py", line 61, in open
   if browser.open(url, new, autoraise):
 File "C:\Python25\lib\webbrowser.py", line 518, in open
   os.startfile(url)
WindowsError: [Error 5] Access is denied: 'mailto: t...@com.com?cc=cc_test@com.com&subject=Test%20Subject&body=Test%20bodytest%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20te
st%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test%20test
%20test%20test%20test%20test%20test%20'

Is there some sort of limitation here? If I shorten the string, it works fine. You're right, but I'm wondering if there is a way to go around this limitation.
Thanks again
Cheers
Astan

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to