0
我使用sendmail在本地運行時(即dev_appserver.py)能夠從AppEngine發送郵件。這裏是我的代碼:AppEngine與sendmail空間問題
mail.send_mail(
sender="SenderName <[email protected]",
to= "ReceiverName <[email protected]>",
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 <[email protected]> ReceiverName <[email protected]>
顯然,這將導致參數衝突,因爲shell不能知道是發件人的電子郵件的一部分,這是造成問題的原因。
任何想法如何解決這個問題?我想保留郵件中的名字。
順便說一句,當我將我的代碼上傳到AppEngine時,這很有效,但我也想在本地解決它,以避免每次測試時都要更改代碼。
非常感謝的人! – Rafid 2010-12-24 08:28:07