|
1 | 1 | import queue |
2 | | -import socket |
| 2 | +import smtplib |
3 | 3 | import threading |
4 | 4 |
|
5 | 5 | import pytest |
@@ -91,25 +91,23 @@ def login_smtp_imap(smtp, imap): |
91 | 91 |
|
92 | 92 | def test_no_vrfy(chatmail_config): |
93 | 93 | domain = chatmail_config.mail_domain |
94 | | - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
95 | | - sock.settimeout(10) |
96 | | - try: |
97 | | - sock.connect((domain, 25)) |
98 | | - except socket.timeout: |
99 | | - pytest.skip(f"port 25 not reachable for {domain}") |
100 | | - banner = sock.recv(1024) |
101 | | - print(banner) |
102 | | - sock.send(b"VRFY wrongaddress@%s\r\n" % (chatmail_config.mail_domain.encode(),)) |
103 | | - result = sock.recv(1024) |
| 94 | + |
| 95 | + s = smtplib.SMTP(domain) |
| 96 | + s.starttls() |
| 97 | + |
| 98 | + s.putcmd("vrfy", f"wrongaddress@{chatmail_config.mail_domain}") |
| 99 | + result = s.getreply() |
104 | 100 | print(result) |
105 | | - sock.send(b"VRFY echo@%s\r\n" % (chatmail_config.mail_domain.encode(),)) |
106 | | - result2 = sock.recv(1024) |
| 101 | + s.putcmd("vrfy", f"echo@{chatmail_config.mail_domain}") |
| 102 | + result2 = s.getreply() |
107 | 103 | print(result2) |
108 | | - assert result[0:10] == result2[0:10] |
109 | | - sock.send(b"VRFY wrongaddress\r\n") |
110 | | - result = sock.recv(1024) |
| 104 | + assert result[0] == result2[0] == 252 |
| 105 | + assert result[1][0:6] == result2[1][0:6] == b"2.0.0 " |
| 106 | + s.putcmd("vrfy", "wrongaddress") |
| 107 | + result = s.getreply() |
111 | 108 | print(result) |
112 | | - sock.send(b"VRFY echo\r\n") |
113 | | - result2 = sock.recv(1024) |
| 109 | + s.putcmd("vrfy", "echo") |
| 110 | + result2 = s.getreply() |
114 | 111 | print(result2) |
115 | | - assert result[0:10] == result2[0:10] == b"252 2.0.0 " |
| 112 | + assert result[0] == result2[0] == 252 |
| 113 | + assert result[1][0:6] == result2[1][0:6] == b"2.0.0 " |
0 commit comments