--- rss2email.py.dist 2009-11-22 13:06:45.720483066 +0100 +++ rss2email.py 2009-11-22 14:37:00.800483213 +0100 @@ -149,7 +149,14 @@ fromhdr = formataddr((sender_name, sender_addr)) msg['From'] = fromhdr - + + from hashlib import md5 + from time import time + from socket import getfqdn + from random import random + msgid = '<%s@%s>' % (md5('%d%d' % (time(), random())).hexdigest().upper(), getfqdn()) + msg['Message-ID'] = msgid + msg_as_string = msg.as_string() #DEPRECATED if QP_REQUIRED: #DEPRECATED ins, outs = SIO(msg_as_string), SIO() @@ -174,8 +181,25 @@ if AUTHREQUIRED: try: smtpserver.ehlo() + except KeyboardInterrupt: + raise + except Exception, e: + print >>warn, "" + print >>warn, ('Fatal error: could not reach mail server "%s"' % SMTP_SERVER) + if hasattr(e, 'reason'): + print >>warn, "Reason:", e.reason + sys.exit(1) + try: smtpserver.starttls() smtpserver.ehlo() + except KeyboardInterrupt: + raise + except Exception, e: + print >>warn, "" + print >>warn, ('Warning: could not negotiate STARTTLS with server "%s"' % SMTP_SERVER) + if hasattr(e, 'reason'): + print >>warn, "Reason:", e.reason + try: smtpserver.login(SMTP_USER, SMTP_PASS) except KeyboardInterrupt: raise