mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Fix closes Issue11281 - smtplib.STMP gets source_address parameter, which adds the ability to bind to specific source address on a machine with multiple interfaces. Patch by Paulo Scardine.
This commit is contained in:
parent
f83e4acbae
commit
3d23fd6493
5 changed files with 75 additions and 22 deletions
|
@ -72,6 +72,14 @@ class GeneralTests(unittest.TestCase):
|
|||
smtp = smtplib.SMTP(HOST, self.port)
|
||||
smtp.close()
|
||||
|
||||
def testSourceAddress(self):
|
||||
mock_socket.reply_with(b"220 Hola mundo")
|
||||
# connects
|
||||
smtp = smtplib.SMTP(HOST, self.port,
|
||||
source_address=('127.0.0.1',19876))
|
||||
self.assertEqual(smtp.source_address, ('127.0.0.1', 19876))
|
||||
smtp.close()
|
||||
|
||||
def testBasic2(self):
|
||||
mock_socket.reply_with(b"220 Hola mundo")
|
||||
# connects, include port in host name
|
||||
|
@ -206,6 +214,15 @@ class DebuggingServerTests(unittest.TestCase):
|
|||
smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=3)
|
||||
smtp.quit()
|
||||
|
||||
def testSourceAddress(self):
|
||||
# connect
|
||||
smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=3,
|
||||
source_address=('127.0.0.1', 19876))
|
||||
self.assertEqual(smtp.source_address, ('127.0.0.1', 19876))
|
||||
self.assertEqual(smtp.local_hostname, 'localhost')
|
||||
print(dir(smtp))
|
||||
smtp.quit()
|
||||
|
||||
def testNOOP(self):
|
||||
smtp = smtplib.SMTP(HOST, self.port, local_hostname='localhost', timeout=3)
|
||||
expected = (250, b'Ok')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue