diff mercurial/mail.py @ 4483:a11e13d50645

patchbomb: Validate email config before we start prompting for info.
author Bryan O'Sullivan <bos@serpentine.com>
date Sun, 27 May 2007 14:40:14 -0700
parents 49237d6ae97d
children 23889160905a
line wrap: on
line diff
--- a/mercurial/mail.py
+++ b/mercurial/mail.py
@@ -68,3 +68,15 @@ def connect(ui):
 
 def sendmail(ui, sender, recipients, msg):
     return connect(ui).sendmail(sender, recipients, msg)
+
+def validateconfig(ui):
+    '''determine if we have enough config data to try sending email.'''
+    method = ui.config('email', 'method', 'smtp')
+    if method == 'smtp':
+        if not ui.config('smtp', 'host'):
+            raise util.Abort(_('smtp specified as email transport, '
+                               'but no smtp host configured'))
+    else:
+        if not util.find_exe(method):
+            raise util.Abort(_('%r specified as email transport, '
+                               'but not in PATH') % method)