ajack 2004/03/04 09:54:18
Modified: python/gump/output nag.py
python/gump/net mailer.py
Log:
Be a little more sensetive to mail failures.
Revision Changes Path
1.24 +12 -7 gump/python/gump/output/nag.py
Index: nag.py
===================================================================
RCS file: /home/cvs/gump/python/gump/output/nag.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- nag.py 4 Mar 2004 17:26:09 -0000 1.23
+++ nag.py 4 Mar 2004 17:54:18 -0000 1.24
@@ -335,6 +335,7 @@
#
toaddrs=[ toaddr ]
+ sent=0
try:
log.info('Send Nag e-mail to: ' + str(toaddr) + \
@@ -356,18 +357,22 @@
#print 'Server:' + `self.workspace.mailserver`
#print 'e-mail:' + `email`
# Fire ...
- mail(toaddrs,fromaddr,email, \
- self.workspace.mailserver, \
- self.workspace.mailport)
+ sent=mail(toaddrs,fromaddr,email, \
+ self.workspace.mailserver, \
+ self.workspace.mailport)
except Exception, details:
+ sent=0
log.error('Failed to send nag e-mail: ' + str(details), \
exc_info=1)
-
+
+ if not sent:
self.addUnsent(subject,content)
log.error('Failed with to: ['+str(toaddr)+'] from: ['+str(fromaddr)+']'
)
+ return sent
+
def getNamedTypedContent(self,object,feedPrefix=None,message=None):
content="""To whom it may engage...
1.9 +13 -4 gump/python/gump/net/mailer.py
Index: mailer.py
===================================================================
RCS file: /home/cvs/gump/python/gump/net/mailer.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- mailer.py 4 Mar 2004 17:45:17 -0000 1.8
+++ mailer.py 4 Mar 2004 17:54:18 -0000 1.9
@@ -131,19 +131,28 @@
else:
data = EmailMessage(toaddrs,fromaddr,'',str(message)).getSerialized()
+ sent=0
try:
#
# Attach to the SMTP server to send....
#
server = smtplib.SMTP(server,port)
server.set_debuglevel(1)
- server.sendmail(sane_fromaddr, sane_toaddrs, data)
+ failures = server.sendmail(sane_fromaddr, sane_toaddrs, data)
server.quit()
+ # Note: w/o an exception it was accepted to some folk...
+ # Failures is a list of tuples of error code plus recipient
+ # that was refused.
+ if not failures: sent=1
+
except Exception, details:
+ sent=0
log.error('Failed to send e-mail: ' + str(details))
log.error(data, exc_info=1)
log.error('Server :' + str(server) + ' From :' + str(fromaddr) + ' To
:' + str(toaddrs))
+
+ return sent
def sanitizeAddress(addr):
parts=addr.split('<')
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]