summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-10-12 05:51:13 +0000
committerZac Medico <zmedico@gentoo.org>2007-10-12 05:51:13 +0000
commit25710c946ee439e3eee94c3417648c873e66399a (patch)
tree60eefdcfe3af0caf7e2016d2a8b34b9bc803e6dd /pym
parentc3cd9d603edffed4b2b183875c2aa29ac2af6244 (diff)
downloadportage-25710c946ee439e3eee94c3417648c873e66399a.tar.gz
portage-25710c946ee439e3eee94c3417648c873e66399a.tar.bz2
portage-25710c946ee439e3eee94c3417648c873e66399a.zip
Handle Exceptions in mod_mail_summary.finalize() and
check if the server actually supports TLS, bug #183808 (trunk r7984 and r8058) svn path=/main/branches/2.1.2/; revision=8059
Diffstat (limited to 'pym')
-rw-r--r--pym/elog_modules/mod_mail_summary.py7
-rw-r--r--pym/portage_mail.py4
2 files changed, 10 insertions, 1 deletions
diff --git a/pym/elog_modules/mod_mail_summary.py b/pym/elog_modules/mod_mail_summary.py
index d42f6453e..c89613131 100644
--- a/pym/elog_modules/mod_mail_summary.py
+++ b/pym/elog_modules/mod_mail_summary.py
@@ -4,6 +4,8 @@
# $Id: mod_mail.py 3484 2006-06-10 22:38:44Z genone $
import portage_mail, socket, os, time
+from portage_exception import PortageException
+from portage_util import writemsg
from email.MIMEText import MIMEText as TextMessage
_items = {}
@@ -48,6 +50,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:
+ writemsg("%s\n" % str(e), noiselevel=-1)
return
diff --git a/pym/portage_mail.py b/pym/portage_mail.py
index 99ed77fda..d12f85c07 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 != "":