Python – Using pyramid_mailer results in ValueError : TPC in progress

Using pyramid_mailer results in ValueError : TPC in progress… here is a solution to the problem.

Using pyramid_mailer results in ValueError : TPC in progress

I was running Pyramid on an Ubuntu Linux server and came across ValueError when trying to use pyramid_mailer. My code is relatively simple, it seems that anything will cause it :

def my_view(request):
     mailer = get_mailer(request)
     emailMessage = Message(subject="Welcome", sender="[email protected]", recipients = ["[email protected]"], body="test")
     mailer.send(emailMessage)

Causes this error:

Traceback (most recent call last):
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/router.py", line 242, in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/router.py", line 217, in invoke_subrequest
    response = handle_request(request)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/pyramid_debugtoolbar-2.0.2-py2.7.egg/pyramid_debugtoolbar/toolbar.py", line 160, in toolbar_tween
    return handler(request)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/pyramid-1.5-py2.7.egg/pyramid/tweens.py", line 21, in excview_tween
    response = handler(request)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/pyramid_tm-0.7-py2.7.egg/pyramid_tm/__init__.py", line 79, in tm_tween
    manager.abort()
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/transaction-1.4.3-py2.7.egg/transaction/_manager.py", line 116, in abort
    return self.get().abort()
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/transaction-1.4.3-py2.7.egg/transaction/_transaction.py", line 468, in abort
    reraise(t, v, tb)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/transaction-1.4.3-py2.7.egg/transaction/_transaction.py", line 453, in abort
    rm.abort(self)
  File "/usr/share/nginx/wwwProj/local/lib/python2.7/site-packages/repoze.sendmail-4.2-py2.7.egg/repoze/sendmail/delivery.py", line 119, in abort
    raise ValueError("TPC in progress")
ValueError: TPC in progress

I followed the instructions for “Getting Started (Easier Way)” on the following website: http://pyramid-mailer.readthedocs.org/en/latest/

Solution

This is a known issue. to solve this problem

Related Problems and Solutions