3

我正在尝试 GAE,并且在开发和生产中从我的应用程序发送电子邮件时遇到了一些问题。我知道开发服务器首先需要一些配置,但生产应该是发送电子邮件。查看控制台没有任何错误(我通过终端窗口启动服务器),并且在生产应用程序中没有报告任何错误。

编码:

def contactSend():
message = mail.EmailMessage()
message.sender = "myaddress@gmail.com"
message.to = "myaddress@gmail.com"
message.subject = "Test email from python"
message.body = "This is the test"
message.send()

到目前为止我检查过的内容:代码似乎是正确的。- 发件人(和)地址具有项目的管理员级别权限。-Project 配置为 Python 2.7(我猜是 2.5 上的一些问题)。- 我的垃圾邮件文件夹。

我确信我可能会错过一些简单的东西,因为我对 GAE 很陌生。任何想法将不胜感激。

编辑:我也试过mail.sendmail:

mail.send_mail(sender="myaddress@gmail.com",
          to="myaddress@gmail.com",
          subject="This is the test 1124pm",
          body="TEST!")

那里也没有运气。我可能需要注册一个域或设置一个 Google Apps 帐户吗?

Edit2 上午 11:52:我已经尝试了 check_valid_email 来确定,结果恢复正常。我看到了“send_mail_to_admins”功能并试了一下,假设它可能限制较少并且可能有效,但也没有。

Edit3:我不知道它是否有帮助,但这是请求处理程序:

class contactSend(webapp2.RequestHandler):
    def post(self):
        self.response.headers['Content-Type'] = 'text/html'
        contactSend()
        self.response.out.write("sent! ")  
4

2 回答 2

1

您的代码片段似乎是正确的(除了您的第一个函数的缩进不当),因此我将提供一些调试信息来帮助您解决问题。

  1. 检查您的应用程序的日志以查看您的代码是否引发了任何异常,这可能会阻止事情按预期工作。
    https://appengine.google.com/logs?&app_id= YOUR_APP_ID
  2. 检查您的应用程序的配额详细信息,以查看是否已发送任何电子邮件。 https://appengine.google.com/dashboard/quotadetails?&app_id= YOUR_APP_ID
  3. 确保sender电子邮件地址已接受 App Engine 邀请并且未在“权限”页面上列为“待处理”。 https://appengine.google.com/permissions?&app_id= YOUR_APP_ID
  4. 仔细检查tosender电子邮件地址。复制/粘贴它们并尝试通过您选择的电子邮件应用程序直接向他们发送电子邮件。
于 2013-09-21T22:56:41.247 回答
0

为了能够从某个地址发送电子邮件,您需要先设置一个域,并授予应用程序访问权限以使用它发送电子邮件。

如果您不想/不需要设置域,并且您的应用程序需要登录,您可以简单地使用:

mail.send_mail(sender=users.get_current_user().email(),
      to="myaddress@gmail.com",
      subject="This is the test 1124pm",
      body="TEST!")
于 2015-11-27T19:10:39.060 回答