0

I just upgraded to Mac OSX 10.10.5 today and now I get a ConnectionError every time I try to send an email locally in GAE using the djrill Django app.

Exception Type: ConnectionError Exception Value: ('Connection aborted.', error(22, 'Invalid argument'))

I've received this error prior to 10.10.5, but included the following code at the top of my views.py as a workaround.

import imp
import os.path
from google.appengine.tools.devappserver2.python import sandbox

sandbox._WHITE_LIST_C_MODULES += ['_ssl', '_socket']
# Use the system socket.
psocket = os.path.join(os.path.dirname(os.__file__), 'socket.py')
imp.load_source('socket', psocket)

But now if I attempt to execute the following block of code after upgrading to 10.10.5, I encounter the error.

msg = EmailMultiAlternatives(
        to=['user@domain.com'], 
        subject='TEST',
        from_email='Admin <admin@projectname.appspotmail.com>',
    )
msg.template_name = "template-name"
msg.send()

Here's the full traceback:

Request Method: GET
Request URL: http://localhost:16080/

Django Version: 1.4.13
Python Version: 2.7.10
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 '<projectapp>',
 'djrill')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')


Traceback:

    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django-1.4/django/core/handlers/base.py" in get_response
      109.                         response = callback(request, *callback_args, **callback_kwargs)
    File "/Users/<username>/<projectname>/order_manager/views.py" in _decorated
      53.           return view_func(request)
    File "/Users/<username>/<projectname>/order_manager/views.py" in select_job
      102.  msg.send()
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django-1.4/django/core/mail/message.py" in send
      248.         return self.get_connection(fail_silently).send_messages([self])
    File "/Users/<username>/<projectname>/djrill/mail/backends/djrill.py" in send_messages
      68.             sent = self._send(message)
    File "/Users/<username>/<projectname>/djrill/mail/backends/djrill.py" in _send
      107.         response = requests.post(api_url, data=json.dumps(api_params, cls=JSONDateUTCEncoder))
    File "/Users/<username>/<projectname>/requests/api.py" in post
      109.     return request('post', url, data=data, json=json, **kwargs)
    File "/Users/<username>/<projectname>/requests/api.py" in request
      50.     response = session.request(method=method, url=url, **kwargs)
    File "/Users/<username>/<projectname>/requests/sessions.py" in request
      470.         resp = self.send(prep, **send_kwargs)
    File "/Users/<username>/<projectname>/requests/sessions.py" in send
      578.         r = adapter.send(request, **kwargs)
    File "/Users/<username>/<projectname>/requests/adapters.py" in send
      410.             raise ConnectionError(err, request=request)

    Exception Type: ConnectionError at /
    Exception Value: ('Connection aborted.', error(22, 'Invalid argument'))

I appreciate any advice on how to once again send emails from my GAE local server using djrill after upgrading to OSX 10.10.5. Thanks!

Jordan Hawkins
  • 141
  • 1
  • 8

1 Answers1

1

I was troubleshooting a seemingly unrelated issue and stumbled across a suitable workaround. I replaced the latest version of the python requests module in my App Engine project with version 2.3.

Community
  • 1
  • 1
Jordan Hawkins
  • 141
  • 1
  • 8