2014-10-07 2 views
0

Я не могу найти, как отправлять письма в моем локальном проекте без развертывания. Я не могу установить адрес электронной почты отправителя, метод не делает ничего ...отправка почты с помощью локальной среды GAE

class MailHandler(BaseHandler): 
def get(self): 
    message = mail.EmailMessage() 
    message.sender = '[email protected]' 
    message.to = '[email protected]' 
    message.subject = 'test' 
    message.body = "Email test, that's all." 
    message.send() 
    self.render_ok() 
+0

Это нормально. DevServer не «трогает» Интернет. Как он будет отправлять электронную почту? – Patrice

ответ

0

documentation объясняет то, что вы ищете. По умолчанию он ничего не делает, кроме как записывать содержимое сообщения.

+0

Примечание. Если вы используете sendmail, ваши тестовые письма будут классифицироваться как спам почти по каждому фильтру. –

0

UnitTests собирать отправленные сообщения в заглушке и может быть распечатан или испытаниями, во время/после испытания, как это:

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

1

Вы можете настроить свой Appengine пусковых [Edit- > настройки приложения] со следующими параметрами командной строки:

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

См: https://cloud.google.com/appengine/docs/python/tools/devserver#Python_Command-line_arguments

Для тестирования, настройки локального сервера электронной почты является полезным.

Смежные вопросы