Take the 2-minute tour ×

I am using sendmail to be able to send mails from AppEngine while it is running locally (i.e. dev_appserver.py). Here is my code:

    sender="SenderName <sender@domain.name",
    to= "ReceiverName <receiver@domain.name>",

When I execute this code, with proper emails and other parameters, I get this error:

/bin/sh: Syntax error: end of file unexpected
ERROR    2010-12-23 19:31:16,459 mail_stub.py:177] Error sending mail using sendmail: [Errno 32] Broken pipe

After some investigation it turned out that the error (i.e. broken pipe) is caused because of the syntax of the 'sender' and 'to' emails. If I only keep the email (rather than the name also), the problem is solved. This tells me that AppEngine is dumping the parameters to sendmail without suitable quotes. So something like:

sendmail .... SenderName <sender@domain.name> ReceiverName <receiver@domain.com>

Obviously, this will cause parameter conflicts because the shell can't know that is part of the sender email, and this is causing the problem.

Any idea how to solve this problem? I want to keep the names in the emails.

By the way, this works fine when I upload my code to AppEngine, but I want to solve it locally too to avoid having to change the code every time I am testing.

share|improve this question

1 Answer 1

up vote 2 down vote accepted

There's an issue for this in the App Engine issue tracker, which includes a patch to add quotes around the addresses, at http://code.google.com/p/googleappengine/issues/detail?id=3106

share|improve this answer
Thanks very much man! –  Rafid Dec 24 '10 at 8:28

Your Answer


