KB68 Newsletter registration and deregistration.

Change-Id: Ic79fe64f03ce887879bffc7623e59cb697065ee6
diff --git a/src/main/resources/templates/NewsletterResource/completeRegistration.html b/src/main/resources/templates/NewsletterResource/completeRegistration.html
new file mode 100644
index 0000000..0cdb874
--- /dev/null
+++ b/src/main/resources/templates/NewsletterResource/completeRegistration.html
@@ -0,0 +1,24 @@
+{#include base.html}
+
+{#title}Newsletter Registration — Benki{/title}
+{#siteSection}Newsletter{/siteSection}
+{#wikiClass}this-page{/wikiClass}
+
+{#nav}{#navbar siteSection="Newsletter" /}
+
+{#head}{/head}
+
+{#body}
+<article id="newsletter-registration">
+  <header>
+    <h1>Newsletter Registration</h1>
+  </header>
+
+  <section>
+    <p>In order to complete your registration, please check your email inbox and click
+      the link in the confirmation mail.</p>
+  </section>
+</article>
+{/body}
+
+{/include}
diff --git a/src/main/resources/templates/NewsletterResource/index.html b/src/main/resources/templates/NewsletterResource/index.html
new file mode 100644
index 0000000..84098bd
--- /dev/null
+++ b/src/main/resources/templates/NewsletterResource/index.html
@@ -0,0 +1,32 @@
+{#include base.html}
+
+{#title}Newsletter &#8212; Benki{/title}
+{#siteSection}Newsletter{/siteSection}
+{#wikiClass}this-page{/wikiClass}
+
+{#nav}{#navbar siteSection="Newsletter" /}
+
+{#head}{/head}
+
+{#body}
+<article id="newsletter-registration">
+  <header>
+    <h1>Newsletter</h1>
+  </header>
+
+  <section>
+    <p>To get a weekly digest of all posted articles and bookmarks into your email inbox,
+      enter your email address and submit the form below.</p>
+
+    <p>Your registration is subject to the <a href="/privacy">privacy policy</a>.</p>
+
+    <form class="pure-form pure-form-aligned" action="/newsletter/register" method="post">
+      <label for="email-input">E-mail address: </label>
+      <input type="email" name="email" id="email-input" placeholder="E-mail address" required/>
+      <input class="pure-button pure-button-primary" type="submit" value="Subscribe"/>
+    </form>
+  </section>
+</article>
+{/body}
+
+{/include}
diff --git a/src/main/resources/templates/NewsletterResource/registered.html b/src/main/resources/templates/NewsletterResource/registered.html
new file mode 100644
index 0000000..e82618e
--- /dev/null
+++ b/src/main/resources/templates/NewsletterResource/registered.html
@@ -0,0 +1,26 @@
+{#include base.html}
+
+{#title}Newsletter Registration &#8212; Benki{/title}
+{#siteSection}Newsletter{/siteSection}
+{#wikiClass}this-page{/wikiClass}
+
+{#nav}{#navbar siteSection="Newsletter" /}
+
+{#head}{/head}
+
+{#body}
+<article id="newsletter-registration">
+  <header>
+    <h1>Newsletter Registration</h1>
+  </header>
+
+  <section>
+    <p>Thank you. You are now subscribed to the weekly email digest.</p>
+
+    <p>To unsubscribe, send an email to
+      <a href="mailto:mulkcms+unsubscribe@benkard.de">mulkcms+unsubscribe@benkard.de</a>.</p>
+  </section>
+</article>
+{/body}
+
+{/include}
diff --git a/src/main/resources/templates/NewsletterResource/registrationMail.txt b/src/main/resources/templates/NewsletterResource/registrationMail.txt
new file mode 100644
index 0000000..c86b385
--- /dev/null
+++ b/src/main/resources/templates/NewsletterResource/registrationMail.txt
@@ -0,0 +1,12 @@
+{@java.lang.String registrationKey}
+Hello!
+
+Someone (you, one would hope) entered your email address to subscribe to the MulkCMS
+benkard.de newsletter.  In order to complete your registration, open the following
+link in your web browser:
+
+    https://matthias.benkard.de/newsletter/finish-registration?key={registrationKey}
+
+If someone is playing a trick on you and you would not actually like to subscribe to
+the newsletter, you may ignore this email.  In this case, your registration record
+will be deleted within a week.
\ No newline at end of file