Package: mailping Severity: wishlist Tags: patch This patch adds support for specifying witch mailserver to hand the ping-mail to.
This started out because I run qmail, via tcpserver, and don't want it to listen to all ip's on the machine, thus one ip-per-tcpserver, so it doesn't listen to localhost. The other case I use it is to test the primary/secondary mailserver explicit. -- Anton Lundin +46702-161604
diff -ur mailping-0.0.4.orig/MailPing/config.py
mailping-0.0.4/MailPing/config.py
--- mailping-0.0.4.orig/MailPing/config.py 2004-04-16 19:36:08.000000000
+0200
+++ mailping-0.0.4/MailPing/config.py 2008-10-28 14:51:04.000000000 +0100
@@ -16,7 +16,7 @@
t = default
return t
-def getEmail(configdir, name, default=_NoDefault):
+def getString(configdir, name, default=_NoDefault):
path = os.path.join(configdir, name)
try:
f=file(path)
diff -ur mailping-0.0.4.orig/MailPing/probe.py mailping-0.0.4/MailPing/probe.py
--- mailping-0.0.4.orig/MailPing/probe.py 2004-12-03 10:13:37.000000000
+0100
+++ mailping-0.0.4/MailPing/probe.py 2008-10-28 14:54:02.000000000 +0100
@@ -65,14 +65,14 @@
return msg
-def send(msg, sender, recipient):
+def send(msg, sender, recipient, server):
s = smtplib.SMTP()
- s.connect()
+ s.connect(server)
s.sendmail(sender, [recipient], msg.as_string())
s.quit()
def process(statedir, interval, curtime,
- fromAddress, toAddress, adminAddress):
+ fromAddress, toAddress, adminAddress, server):
if shouldSend(statedir, interval, curtime):
ident = randomIdent()
msg = makeProbe(ident=ident,
@@ -81,7 +81,8 @@
adminAddress=adminAddress)
send(msg,
sender=fromAddress,
- recipient=toAddress)
+ recipient=toAddress,
+ server=server)
pending = os.path.join(statedir, 'pending')
try:
diff -ur mailping-0.0.4.orig/MailPing/test/test_config.py
mailping-0.0.4/MailPing/test/test_config.py
--- mailping-0.0.4.orig/MailPing/test/test_config.py 2004-04-14
14:42:01.000000000 +0200
+++ mailping-0.0.4/MailPing/test/test_config.py 2008-10-28 14:51:32.000000000
+0100
@@ -29,18 +29,18 @@
def testEmailFail(self):
self.assertRaises(config.NoSuchConfigItem,
- config.getEmail,
+ config.getString,
self.configdir, 'not-exist')
def testEmailDefault(self):
class Unique:
pass
self.assertEquals(Unique,
- config.getEmail(self.configdir, 'not-exist',
+ config.getString(self.configdir, 'not-exist',
Unique))
def testEmailOK(self):
fileutil.writeFile(os.path.join(self.configdir, 'sometimes'),
'42\n')
- self.assertEquals(config.getEmail(self.configdir, 'sometimes'),
+ self.assertEquals(config.getString(self.configdir, 'sometimes'),
'42')
diff -ur mailping-0.0.4.orig/bin/mailping-cron mailping-0.0.4/bin/mailping-cron
--- mailping-0.0.4.orig/bin/mailping-cron 2004-04-16 17:47:36.000000000
+0200
+++ mailping-0.0.4/bin/mailping-cron 2008-10-28 14:56:10.000000000 +0100
@@ -35,8 +35,8 @@
interval = config.getTime(configPath, 'interval', 10*60)
- fromAddress = config.getEmail(configPath, 'from', None)
- toAddress = config.getEmail(configPath, 'to', None)
+ fromAddress = config.getString(configPath, 'from', None)
+ toAddress = config.getString(configPath, 'to', None)
if fromAddress is None or toAddress is None:
user = pwd.getpwuid(os.getuid()).pw_name
host = socket.getfqdn()
@@ -44,14 +44,16 @@
fromAddress = '[EMAIL PROTECTED]' % (user, host)
if toAddress is None:
toAddress = '[EMAIL PROTECTED]' % (user, dirname, host)
- adminAddress = config.getEmail(configPath, 'admin', None)
+ adminAddress = config.getString(configPath, 'admin', None)
+
+ server = config.getEmail(configPath, 'server', 'localhost')
curtime = time.time()
if os.path.isdir(os.path.join(statePath, 'incoming')):
incoming.process(statePath)
probe.process(statePath, interval, curtime,
- fromAddress, toAddress, adminAddress)
+ fromAddress, toAddress, adminAddress, server)
if __name__ == '__main__':
if sys.argv[1:]:
pgpzdsxs9m0Sp.pgp
Description: PGP signature

