summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2007-10-06 16:30:29 +0000
committerMarius Mauch <genone@gentoo.org>2007-10-06 16:30:29 +0000
commit314c8fe35ae30bdce0148af29d744af5a411655a (patch)
treeeefc6f28bce77bc67882b207e323c4abe0472408
parenta44cc3f7efbc1dfc5abed527a3bf752cd51a5b5c (diff)
downloadportage-314c8fe35ae30bdce0148af29d744af5a411655a.tar.gz
portage-314c8fe35ae30bdce0148af29d744af5a411655a.tar.bz2
portage-314c8fe35ae30bdce0148af29d744af5a411655a.zip
Handle Exceptions in mod_mail_summary.finalize() and check if the server actually supports TLS, bug #183808
svn path=/main/trunk/; revision=7984
-rw-r--r--pym/portage/elog/mod_mail_summary.py6
-rw-r--r--pym/portage/mail.py4
2 files changed, 9 insertions, 1 deletions
diff --git a/pym/portage/elog/mod_mail_summary.py b/pym/portage/elog/mod_mail_summary.py
index 7410f05af..d0b2577ae 100644
--- a/pym/portage/elog/mod_mail_summary.py
+++ b/pym/portage/elog/mod_mail_summary.py
@@ -4,6 +4,7 @@
# $Id$
import portage.mail, socket, os, time
+from portage.exception import PortageException
from email.MIMEText import MIMEText as TextMessage
_items = {}
@@ -48,6 +49,9 @@ def _finalize(mysettings, items):
mymessage = portage.mail.create_message(myfrom, myrecipient, mysubject,
mybody, attachments=items.values())
- portage.mail.send_mail(mysettings, mymessage)
+ try:
+ portage.mail.send_mail(mysettings, mymessage)
+ except PortageException, e:
+ print str(e)
return
diff --git a/pym/portage/mail.py b/pym/portage/mail.py
index 0c39b4cc9..cf6ebd134 100644
--- a/pym/portage/mail.py
+++ b/pym/portage/mail.py
@@ -74,7 +74,11 @@ def send_mail(mysettings, message):
try:
if int(mymailport) > 100000:
myconn = smtplib.SMTP(mymailhost, int(mymailport) - 100000)
+ myconn.ehlo()
+ if not myconn.has_extn("STARTTLS"):
+ raise portage.exception.PortageException("!!! TLS support requested for logmail but not suported by server")
myconn.starttls()
+ myconn.ehlo()
else:
myconn = smtplib.SMTP(mymailhost, mymailport)
if mymailuser != "" and mymailpasswd != "":