在问题的回答Error sending e-mail via SMTP server on App Engine development server有一个nice solution by Blixt :
"dev_appserver.py does not support TLS
which is required by Gmail. You can
enable it by adding a few lines in api/mail_stub.py:"
# After smtp.connect(self._smtp_host, self._smtp_port)
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
但 Windows Vista 不允许我更改 api/mail_stub.py
有没有其他方法可以从开发服务器发送邮件。其他选项(Sendmail 和 ISP 不适合我)。谢谢!
编辑
我根据说明更改了 api/mail_stub.py
here我使用以下命令行选项:
dev_appserver.py
--smtp_host=smtp.gmail.com
--smtp_port=25
--smtp_user=xxxx@gmail.com
--smtp_password=gmail_pw
C:\Users\A\Desktop\repeater # path to root directory
但我从日志控制台收到此错误:
***********************************************************
2010-11-18 10:24:37 Running command: "['C:\\Python26\\pythonw.exe',
'C:\\Program Files(x86)\\Google\\google_appengine\\dev_appserver.py',
'--admin_console_server=',
'--port=8080',
u'dev_appserver.py',
u'--smtp_host=smtp.gmail.com',
u'--smtp_port=25',
u'--smtp_user=xxxx@gmail.com',
u'--smtp_password=gmail_pw
C:\\Users\\A\\Desktop\\repeater',
'C:\\Users\\A\\Desktop\\repeater']"
Runs a development application server for an application.
dev_appserver.py [options] <application root>
Application root must be the path to the application to run in this server.
Must contain a valid app.yaml or app.yml file.
****************************************************
这是 app.yaml:
application: re-peater
version: 1
runtime: python
api_version: 1
handlers:
- url: /favicon.ico
static_files: static/images/favicon.ico
upload: static/images/favicon.ico
- url: /stylesheets
static_dir: stylesheets
- url: /.*
script: repeater.py
所有这些都可以在没有这些命令行选项的情况下工作。为什么这不起作用有什么建议吗?
最佳答案
如果您真的、真的需要从 dev_appserver 发送真实的电子邮件,您应该在您的机器上设置您自己的邮件中继,并将 SDK 指向它。不过,我很好奇为什么发送真实的电子邮件如此重要 - 这是开发服务器,您不应该将它用于开发以外的任何用途。
关于google-app-engine - 使用 --smtp_host=smtp.gmail.com 从开发服务器发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211747/