Проблема AppEngine и Sendmail в пространстве - PullRequest
0 голосов
/ 23 декабря 2010

Я использую sendmail, чтобы иметь возможность отправлять почту из AppEngine, когда он работает локально (т.е. dev_appserver.py).Вот мой код:

mail.send_mail(
    sender="SenderName <sender@domain.name",
    to= "ReceiverName <receiver@domain.name>",
    subject=subject,
    body=text,
    html=html)

Когда я выполняю этот код с правильными адресами электронной почты и другими параметрами, я получаю эту ошибку:

/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

После некоторого расследования выяснилось, что ошибка(то есть сломанный канал) вызывается из-за синтаксиса писем «отправитель» и «к».Если я сохраню только электронную почту (а не имя), проблема решена.Это говорит мне о том, что AppEngine выводит параметры в sendmail без подходящих кавычек.Так что-то вроде:

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

Очевидно, что это вызовет конфликты параметров, потому что оболочка не может знать, что является частью электронной почты отправителя, и это вызывает проблему.

Любая идеяКак решить эту проблему?Я хочу сохранить имена в письмах.

Кстати, это прекрасно работает, когда я загружаю свой код в AppEngine, но я хочу решить его локально, чтобы избежать необходимости каждый раз менять кодтестирование.

1 Ответ

2 голосов
/ 24 декабря 2010

Для этого есть проблема в трекере проблем App Engine, который включает в себя патч для добавления кавычек вокруг адресов, в http://code.google.com/p/googleappengine/issues/detail?id=3106

...