Something went wrong on our end
-
Stéphane Diemer authoredStéphane Diemer authored
test_postfix.py 1.07 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
Check that postfix listen correctly the port 25.
'''
import os
import re
import subprocess
import sys
if not os.path.exists('/etc/postfix'):
print('Postfix dir does not exists, test skipped.')
else:
out = subprocess.check_output('netstat -pant | grep \':25\'', shell=True)
out = out.decode('utf-8') if out else ''
# netstat -pant output columns are:
# Proto | Recv-Q | Send-Q | Local address | Foreign address | State | PID/Program name
expected = r'tcp +\d +\d +127\.0\.0\.1:25 +0\.0\.0\.0:\* +LISTEN +[\d]+/master'
found = False
if out:
for line in out.split('\n'):
line = re.sub(r' +', ' ', line)
if line:
if not re.match(expected, line):
print('Unexpected result for postfix listening ports:\n%s' % line)
sys.exit(1)
else:
found = True
if not found:
print('The port 25 is not listened by any process.')
sys.exit(1)
print('Postfix listening port: OK.')