send-email-challenge: improve default email templates

And use built-in interpolation of ConfigParser

Change-Id: Ifb534d1a49a6ab4fcbd08b49082e8676646797c6
diff --git a/ndncert-send-email-challenge.py b/ndncert-send-email-challenge.py
index a220f92..00aae82 100755
--- a/ndncert-send-email-challenge.py
+++ b/ndncert-send-email-challenge.py
@@ -6,14 +6,22 @@
 
 # init arg parser and parse
 parser = argparse.ArgumentParser(description='Email challenge sender for NDNCERT CA')
-parser.add_argument('email', help='email address of the recipient')
+parser.add_argument('recipient', help='email address of the recipient')
 parser.add_argument('secret', help='secret code for the challenge')
 parser.add_argument('ca_name', help='name of the certificate authority')
 parser.add_argument('cert_name', help='name of the certificate being requested')
 args = parser.parse_args()
 
+vars = {
+    'ca_name': args.ca_name,
+    'cert_name': args.cert_name,
+    'recipient': args.recipient,
+    'secret': args.secret,
+}
+
 # open config file
-confParser = configparser.ConfigParser()
+confParser = configparser.ConfigParser(empty_lines_in_values=True,
+                                       interpolation=configparser.ExtendedInterpolation())
 confParser.read('@SYSCONFDIR@/ndncert/ndncert-mail.conf')
 
 # read smtp settings
@@ -24,15 +32,15 @@
 password = confParser.get('ndncert.smtp', 'smtp_password')
 
 # read email settings
-from_addr = confParser.get('ndncert.email', 'mail_from')
-subject = confParser.get('ndncert.email', 'subject')
-text = confParser.get('ndncert.email', 'text_template').format(args.secret, args.ca_name, args.cert_name)
-html = confParser.get('ndncert.email', 'html_template').format(args.secret, args.ca_name, args.cert_name)
+from_addr = confParser.get('ndncert.email', 'from', vars=vars)
+subject = confParser.get('ndncert.email', 'subject', vars=vars)
+text = confParser.get('ndncert.email', 'text_template', vars=vars)
+html = confParser.get('ndncert.email', 'html_template', vars=vars)
 
 # create email message
 msg = EmailMessage()
 msg['From'] = from_addr
-msg['To'] = args.email
+msg['To'] = args.recipient
 msg['Subject'] = subject
 msg.set_content(text)
 msg.add_alternative(html, subtype='html')