使用GAE本地环境发送邮件

时间:2014-10-07 18:43:52

标签: python google-app-engine email

我无法在不部署的情况下找到如何在我的本地项目中发送电子邮件。 我无法设置发件人电子邮件,该方法无效......

class MailHandler(BaseHandler):
def get(self):
    message = mail.EmailMessage()
    message.sender = 'my@email.com'
    message.to = 'some@email.com'
    message.subject = 'test'
    message.body = "Email test, that's all."
    message.send()
    self.render_ok()

3 个答案:

答案 0 :(得分:1)

您可以使用以下命令行参数设置Appengine启动器[编辑 - >应用程序设置]:

--enable_sendmail --smtp_host=... --smtp_port=... --smtp_user=... --smtp_password=...

请参阅: https://cloud.google.com/appengine/docs/python/tools/devserver#Python_Command-line_arguments

要进行测试,设置本地邮件服务器非常有用。

答案 1 :(得分:0)

documentation解释了您正在寻找的内容。默认情况下,它只会记录消息内容。

答案 2 :(得分:0)

单元测试收集存根中的已发送消息,可在此类测试期间/之后打印或测试:

class EmailTestCase(unittest.TestCase):
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_mail_stub()

    def tearDown(self):
        mail_stub = self.testbed.get_stub(testbed.MAIL_SERVICE_NAME)
        for message in mail_stub.get_sent_messages():
            print message.body
        self.testbed.deactivate()

    def test_mailhandler(self):
        # put your tests here. something like
        MailHandler().get()

As described here