[ndncert.smtp]
# Address or hostname of SMTP server
smtp_server =
# SMTP server port number; usually 25, 465, or 587
smtp_port =
# One of ssl/starttls/none
encrypt_mode =
# Optional username and password for SMTP authentication
#smtp_user =
#smtp_password =

[ndncert.email]
from = NDN Certificate Robot <noreply@ndncert.named-data.net>
subject = Your NDNCERT verification code
text_template = Your email was recently used to apply for a digital certificate from NDNCERT.
    Here is the verification code to enter into your application and complete the certificate issuance process. Do not share this code with anyone else.

    Your verification code is: ${secret}
    CA name: ${ca_name}
    Certificate name: ${cert_name}

    If you do not know what is going on, please ignore this message.
html_template = <!DOCTYPE html>
    <p>Your email was recently used to apply for a digital certificate from NDNCERT.<br>
    Here is the verification code to enter into your application and complete the certificate issuance process. Do not share this code with anyone else.</p>
    <p><strong>Your verification code is: <code>${secret}</code></strong><br>
    CA name: <code>${ca_name}</code><br>
    Certificate name: <code>${cert_name}</code></p>
    <p>If you do not know what is going on, please ignore this message.</p>
