コード例 #1
0
 def test_send_envelope_conversion_failure(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test \x81\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     result.set_exception(IsA(PermanentRelayError))
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #2
0
 def test_send_envelope_conversion_failure(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test \x81\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     result.set_exception(IsA(PermanentRelayError))
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #3
0
 def test_send_envelope_conversion(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test \x81\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n250 Ok\r\n354 Go ahead\r\n')
     self.sock.sendall('From: [email protected]\r\nContent-Transfer-Encoding: base64\r\n\r\ndGVzdCB0ZXN0IIENCg==\n\r\n.\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test', binary_encoder=encode_base64)
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #4
0
 def test_send_envelope_conversion(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test \x81\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n250 Ok\r\n354 Go ahead\r\n')
     self.sock.sendall('From: [email protected]\r\nContent-Transfer-Encoding: base64\r\n\r\ndGVzdCB0ZXN0IIENCg==\n\r\n.\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test', binary_encoder=encode_base64)
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #5
0
 def test_send_envelope_badrcpts(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n550 Not ok\r\n354 Go ahead\r\n')
     self.sock.sendall('.\r\nRSET\r\n')
     self.sock.recv(IsA(int)).AndReturn('550 Yikes\r\n250 Ok\r\n')
     result.set_exception(IsA(PermanentRelayError))
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #6
0
 def test_send_envelope_badrcpts(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n550 Not ok\r\n354 Go ahead\r\n')
     self.sock.sendall('.\r\nRSET\r\n')
     self.sock.recv(IsA(int)).AndReturn('550 Yikes\r\n250 Ok\r\n')
     result.set_exception(IsA(PermanentRelayError))
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #7
0
 def test_send_envelope(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.sock.sendall('RCPT TO:<*****@*****.**>\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.sock.sendall('DATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('354 Go ahead\r\n')
     self.sock.sendall('From: [email protected]\r\n\r\ntest test\r\n.\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator)
     client._connect()
     client._send_envelope(result, env)
コード例 #8
0
 def test_send_envelope_rset_exception(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n250 Ok\r\n450 No!\r\n')
     result.set_exception(IsA(TransientRelayError))
     self.sock.sendall('RSET\r\n')
     self.sock.recv(IsA(int)).AndRaise(ConnectionLost)
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     with self.assertRaises(ConnectionLost):
         client._send_envelope(result, env)
コード例 #9
0
 def test_send_envelope_rset_exception(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('EHLO test\r\n')
     self.sock.recv(IsA(int)).AndReturn('250-Hello\r\n250 PIPELINING\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n250 Ok\r\n450 No!\r\n')
     result.set_exception(IsA(TransientRelayError))
     self.sock.sendall('RSET\r\n')
     self.sock.recv(IsA(int)).AndRaise(ConnectionLost)
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as='test')
     client._connect()
     client._ehlo()
     with assert_raises(ConnectionLost):
         client._send_envelope(result, env)
コード例 #10
0
 def test_send_envelope_baddata(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope("*****@*****.**", ["*****@*****.**"])
     env.parse("From: [email protected]\r\n\r\ntest test\r\n")
     self.sock.sendall("EHLO test\r\n")
     self.sock.recv(IsA(int)).AndReturn("250-Hello\r\n250 PIPELINING\r\n")
     self.sock.sendall("MAIL FROM:<*****@*****.**>\r\nRCPT TO:<*****@*****.**>\r\nDATA\r\n")
     self.sock.recv(IsA(int)).AndReturn("250 Ok\r\n250 Ok\r\n354 Go ahead\r\n")
     self.sock.sendall("From: [email protected]\r\n\r\ntest test\r\n.\r\n")
     self.sock.recv(IsA(int)).AndReturn("450 Yikes\r\n")
     result.set_exception(IsA(TransientRelayError))
     self.sock.sendall("RSET\r\n")
     self.sock.recv(IsA(int)).AndReturn("250 Ok\r\n")
     self.mox.ReplayAll()
     client = SmtpRelayClient(None, self.queue, socket_creator=self._socket_creator, ehlo_as="test")
     client._connect()
     client._ehlo()
     client._send_envelope(result, env)
コード例 #11
0
 def test_send_envelope(self):
     result = self.mox.CreateMock(AsyncResult)
     env = Envelope('*****@*****.**', ['*****@*****.**'])
     env.parse('From: [email protected]\r\n\r\ntest test\r\n')
     self.sock.sendall('MAIL FROM:<*****@*****.**>\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.sock.sendall('RCPT TO:<*****@*****.**>\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.sock.sendall('DATA\r\n')
     self.sock.recv(IsA(int)).AndReturn('354 Go ahead\r\n')
     self.sock.sendall('From: [email protected]\r\n\r\ntest test\r\n.\r\n')
     self.sock.recv(IsA(int)).AndReturn('250 Ok\r\n')
     self.mox.ReplayAll()
     client = SmtpRelayClient(None,
                              self.queue,
                              socket_creator=self._socket_creator)
     client._connect()
     client._send_envelope(result, env)