When I expose this function in controller locatormail: def send_mail(): m_list=db(...) .select(...) for item in m_list: context=dict(item=item) message=response.render('locatormail/send_mail.html',context) recipient=item.contactpersoon.email boolean=mail.send(to=[recipient],subject='... ',message=[None,message]) if boolean: db.mailingstats.insert(...) else: db.adminstats.insert(...) return True
Mails are sent without problems both locally and remotely. When I expose this function in controller adminmail: def send_mail(): item=db(...).select(...) context=dict(item=item[0]) message=response.render('adminmail/send_mail.html',context) recipient=item[0].email boolean=mail.send(to=[recipient],subject='...',message=[None,message]) if boolean: db.mailingstats.insert(...) else: db.adminstats.insert(...) return True I locally get the following error: Error traceback Traceback (most recent call last): File "/Library/Python/2.5/site-packages/web2py_1.87.3/gluon/ rocket.py", line 876, in run self.run_app(conn) File "/Library/Python/2.5/site-packages/web2py_1.87.3/gluon/ rocket.py", line 1286, in run_app self.environ = environ = self.build_environ(sock_file, conn) File "/Library/Python/2.5/site-packages/web2py_1.87.3/gluon/ rocket.py", line 1119, in build_environ request = self.read_request_line(sock_file) File "/Library/Python/2.5/site-packages/web2py_1.87.3/gluon/ rocket.py", line 947, in read_request_line raise SocketClosed('Client closed socket.') SocketClosed: Client closed socket. Error snapshot Detailed traceback description Exception: <class 'gluon.rocket.SocketClosed'>(Client closed socket.) Python 2.5.1: /System/Library/Frameworks/Python.framework/Versions/2.5/ Resources/Python.app/Contents/MacOS/Python File /Library/Python/2.5/site-packages/web2py_1.87.3/gluon/rocket.py in run at line 876 [ code | arguments | variables ] File /Library/Python/2.5/site-packages/web2py_1.87.3/gluon/rocket.py in run_app at line 1286 [ code | arguments | variables ] File /Library/Python/2.5/site-packages/web2py_1.87.3/gluon/rocket.py in build_environ at line 1119 [ code | arguments | variables ] File /Library/Python/2.5/site-packages/web2py_1.87.3/gluon/rocket.py in read_request_line at line 947 [ code | arguments | variables ] Function argument list: (self=<WSGIWorker(Thread-13, started daemon)>, sock_file=<socket._fileobject object at 0x5d12170>) except socket.timeout: raise SocketTimeout("Socket timed out before request.") if d.strip() == '': self.err_log.debug('Client did not send a recognizable request.') raise SocketClosed('Client closed socket.') try: self.request_line = d.strip() method, uri, proto = self.request_line.split(' ') global SocketClosed: <class 'gluon.rocket.SocketClosed'> Whereas, remotely (Apache with mod_wsgi) the function sends mails without problems. To me the functions are almost the same, so I don't understand why they behave differently. I hope one of you does. Regards, Annet.