summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--handler.go24
-rw-r--r--server.go10
-rw-r--r--static/css/style.css3
-rw-r--r--views/about.html1
-rw-r--r--views/howto.html30
-rw-r--r--views/howto_de.html31
-rw-r--r--views/index.html7
-rw-r--r--views/index_de.html18
-rw-r--r--views/server.html7
-rw-r--r--views/server_de.html4
10 files changed, 87 insertions, 48 deletions
diff --git a/handler.go b/handler.go
index 9035f87..021a852 100644
--- a/handler.go
+++ b/handler.go
@@ -10,6 +10,7 @@ func IndexHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -30,6 +31,7 @@ func RegisterHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/register"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -99,6 +101,7 @@ func AboutHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/about"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -119,6 +122,7 @@ func ServerHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/server"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -139,6 +143,7 @@ func HowtoHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/howto"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -159,6 +164,7 @@ func UserHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/user"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -179,6 +185,7 @@ func PasswordHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println("Info: ", err)
}
+ session.Values["page"] = "/password"
flash := Flash{}
flash.Error = session.Flashes("error")
@@ -239,7 +246,11 @@ func ChangePasswordHandler(w http.ResponseWriter, r *http.Request) {
}
func ChangeLocaleHandler(w http.ResponseWriter, r *http.Request) {
- err := r.ParseForm()
+ session, err := store.Get(r, "_SID")
+ if err != nil {
+ log.Println("Info: ", err)
+ }
+ err = r.ParseForm()
if err != nil {
log.Panic(err)
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -248,11 +259,18 @@ func ChangeLocaleHandler(w http.ResponseWriter, r *http.Request) {
locale := r.URL.Query().Get("to")
+ var page string
+ if session.Values["page"] == "" {
+ page = "/"
+ } else {
+ page = session.Values["page"].(string)
+ }
+
if len(locale) == 0 {
- http.Redirect(w, r, "/", 302)
+ http.Redirect(w, r, page, 302)
return
}
cookie := http.Cookie{Name: "lang", Value: locale}
http.SetCookie(w, &cookie)
- http.Redirect(w, r, "/", 302)
+ http.Redirect(w, r, page, 302)
}
diff --git a/server.go b/server.go
index 387b5b6..975b549 100644
--- a/server.go
+++ b/server.go
@@ -25,9 +25,13 @@ func CreateNewEntry(email, password string) error {
// Checks for correct DNS
if !vD.ValidateDomainMX(server) {
- if !vD.ValidateDomain(server) {
- return errors.New("Neither the MX record nor the domain itself point to this server. Please fix your DNS.")
- }
+ return errors.New("Wrong DNS setup. The MX record does not point to this server. Please fix your DNS.")
+
+ // We require the correct MX entry, not just a A record.
+ //
+ //if !vD.ValidateDomain(server) {
+ // return errors.New("Neither the MX record nor the domain itself point to this server. Please fix your DNS.")
+ //}
}
if !vD.DomainExists() {
diff --git a/static/css/style.css b/static/css/style.css
index e28ece7..4504e38 100644
--- a/static/css/style.css
+++ b/static/css/style.css
@@ -67,3 +67,6 @@ body {
.lp {
margin-top: 25px;
}
+.italic {
+ font-style: italic;
+}
diff --git a/views/about.html b/views/about.html
index 8992d8c..0e75f60 100644
--- a/views/about.html
+++ b/views/about.html
@@ -53,6 +53,7 @@
Debian - Operating System
</p-->
<br>
+ <br>
<h2 id="warranty">Warranty</h2>
<p>
THERE IS ABSOLUT NO WARRANTY IN ANY WAY, BE IT UPTIME, BACKUP OR ABUSE. THE USER IS RESPONSIBLE FOR HIS OWN DOING.
diff --git a/views/howto.html b/views/howto.html
index ae8d9fe..03bb4f7 100644
--- a/views/howto.html
+++ b/views/howto.html
@@ -8,24 +8,18 @@
<h1>How to</h1>
<br>
<div class="well well-lg">
- <h2 id="create_new">Create new adress</h2>
- <p>To create a new mail adress follow and fill out <a href="/register" title="Sign up">this</a> link.
+ <h2 id="create_new">Create new address</h2>
+ <p>To create a new mail address follow and fill out <a href="/register" title="Sign up">this</a> link.
<br>
- You can use <strong>email.iamfabulous.de</strong> or <strong>user.iamfabulous.de</strong> as a base domain, so e.g. 'post@email.iamfabulous.de' or 'tidyupmyroom@user.iamfabulous.de' are valid entries.
+ You can use <strong>email.iamfabulous.de</strong> or <strong>user.iamfabulous.de</strong> as a base domain, so e.g. '<span class="italic">post@email.iamfabulous.de</span>' or '<span class="italic">tidyupmyroom@user.iamfabulous.de</span>' are valid entries.
<br>
Try it out, if the mail is already taken it will prompt you with more details.
</p>
<br>
- <h2 id="own_domain">Use other domains</h2>
- <p>It is possible to use other domains as well. If you own one, we can do the mail hosting for you.
- <br>
- The requirements are a valid MX entry in your DNS. MX means 'mail exchange' and is a special resource record which points the responsible mail server. The correct entry is <strong>mx.iamfabulous.de</strong>.
- </p>
- <br>
<h2 id="login">Login</h2>
- <p>The easiest way is to use our webmail interface. You can find it <a href="https://iamfabulous.de/webmail" title="Webmail" target="_blank">here <span class="fa fa-external-link"></span></a>.
+ <p>The easiest way to login is using our webmail interface with your browser. You can find it <a href="https://iamfabulous.de/webmail" title="Webmail" target="_blank">here <span class="fa fa-external-link"></span></a>.
<br>
- Log in with your full mail adress and your password.
+ <strong>Your login name is your full mail address.</strong>
<br>
<br>
If you want to use your own client, see <a href="/server" title="Server">here</a> for connection details.
@@ -37,6 +31,20 @@
<br>
Follow this link <a href="/password" title="Change Password">here <span class="fa fa-lock"></span></a>.
</p>
+ <br>
+ <h2 id="own_domain">Use other domains</h2>
+ <p>It is possible to use other domains as well. If you own one, we can do the mail hosting for you.
+ </p>
+ <p>
+ The requirements are a valid MX entry in your DNS. MX means 'mail exchange' and is a special resource record which points the responsible mail server. The correct entry is <strong>mx.iamfabulous.de</strong>.
+ <br>
+ <strong>For hassle-free mail delivery a valid SPF entry is mandatory. A valid TXT record may look like </strong>
+ <br>
+ <code>v=spf1 mxipv4:62.210.138.105 -all</code>.
+ </p>
+ <p>
+ We also recommend to sign your mails with DKIM. To set up DKIM send me a notice, because it's not possible to automate this procedure.
+ </p>
</div>
</div>
</div>
diff --git a/views/howto_de.html b/views/howto_de.html
index 5b0f9a5..b573a09 100644
--- a/views/howto_de.html
+++ b/views/howto_de.html
@@ -9,34 +9,39 @@
<br>
<div class="well well-lg">
<h2 id="create_new">Neue Adresse</h2>
- <p>Um eine neue E-Mail Adresse auszufüllen folgen Sie <a href="/register" title="Sign up">diesem</a> link.
+ <p>Um eine neue E-Mail Adresse zu erstellen folgen Sie <a href="/register" title="Sign up">diesem</a> Link.
<br>
- Sie können <strong>email.iamfabulous.de</strong> oder <strong>user.iamfabulous.de</strong> als Basis nehmen, zum Beispiel 'post@email.iamfabulous.de' oder 'tidyupmyroom@user.iamfabulous.de' sind gültige Einträge.
+ Es steht u.a. <strong>email.iamfabulous.de</strong> oder <strong>user.iamfabulous.de</strong> als Domain zur Verfügung, zum Beispiel '<span class="italic">post@email.iamfabulous.de</span>' oder '<span class="italic">tidyupmyroom@user.iamfabulous.de</span>' sind gültige Adressen.
<br>
- Probieren Sie es aus. Wenn die Adresse schon vergeben ist, wird Ihnen eine Fehlermeldung mit mehr Informationen gezeigt.
- </p>
- <br>
- <h2 id="own_domain">Eigene Domain</h2>
- <p>Es ist möglich Libremail auch mit anderen Domains zu verwenden. Wenn Sie eine besitzen, dann können wir das E-Mail hosting für sie übernehmen.
- <br>
- Verlangt wird ein gültiger MX Eintrag in Ihrem DNS. MX bedeutet 'mail exchange' und ist ein spezieller Eintrag welcher auf den verantwortlichen Mail Server zeigt. Der korrekte Eintrag lautet <strong>mx.iamfabulous.de</strong>.
+ Probieren Sie es aus. Wenn die Adresse schon vergeben ist, wird Ihnen eine Meldung mit mehr Informationen angezeigt.
</p>
<br>
<h2 id="login">Login</h2>
- <p>Am einfachsten ist es, wenn Sie unser Webmail benutzen. Sie finden es <a href="https://iamfabulous.de/webmail" title="Webmail" target="_blank">hier <span class="fa fa-external-link"></span></a>.
+ <p>Am einfachsten ist es, wenn Sie sich über Ihren Browser einloggen. Sie finden unser Webmail Angebot <a href="https://iamfabulous.de/webmail" title="Webmail" target="_blank">hier <span class="fa fa-external-link"></span></a>.
<br>
- Benutzen Sie ihre volle E-Mail Adresse und ihr Passwort als Login.
+ <strong>Benutzen Sie Ihre volle E-Mail Adresse als Loginname.</strong>
<br>
<br>
- Wenn Sie Ihren eigenen Klienten (Smartphone oder Thunderbird etc.) benutzen wollen, können Sie <a href="/server" title="Server">hier</a> für Details zur Verbindung sehen.
+ Wenn Sie Ihren eigenen Klienten (Smartphone oder Thunderbird etc.) benutzen wollen, können Sie <a href="/server" title="Server">hier</a> Details zur Verbindungsherstellung einsehen.
</p>
<br>
<h2 id="change_password">Passwort ändern</h2>
<p>
- Sie können einfach und bequem Ihr Passwort durch diese Webseite ändern. Sie benötigen dafür noch ihr altes Passwort.
+ Sie können einfach und bequem Ihr Passwort über diese Webseite ändern. Sie benötigen dafür Ihr altes Passwort.
<br>
Folgen Sie dafür einfach <a href="/password" title="Change Password">diesem <span class="fa fa-lock"></span></a> Link.
</p>
+ <br>
+ <h2 id="own_domain">Eigene Domain</h2>
+ <p>Es ist möglich Libremail auch mit anderen Domains zu verwenden. Wenn Sie eine eigene Domain besitzen, dann können wir uns um die E-Mail Geschichte kümmern.
+ </p>
+ <p>
+ Verlangt wird ein gültiger MX Eintrag in Ihrem DNS. MX bedeutet 'Mail Exchange' und ist ein spezieller Eintrag welcher auf den verantwortlichen Mail Server zeigt. Der korrekte Eintrag lautet <strong>mx.iamfabulous.de</strong>.
+ <br>
+ <strong>Für eine korrekte Mail Zustellung ist außerdem mindestens ein gültiger SPF Record im DNS notwendig. Ein gültiger Eintrag könnte als TXT Record so aussehen.</strong><br> <code>v=spf1 mxipv4:62.210.138.105 -all</code>
+ </p>
+ <p>Wir empfehlen außerdem die Signierung der E-Mails mit DKIM. Sollten Sie einen DKIM Eintrag wünschen, setzen Sie sich mit mir in Kontakt, da dieser Vorgang nicht automatisiert werden kann.
+ </p>
</div>
</div>
</div>
diff --git a/views/index.html b/views/index.html
index d443b7b..423f176 100644
--- a/views/index.html
+++ b/views/index.html
@@ -23,13 +23,12 @@
<div class="col-md-4">
<h2><span class="fa fa-lock"></span> Secure</h2>
<p>We do our best to keep up-to-date with the latest technologies and not only suggest, but rather enforce encryption on every step.</p>
- <p><a class="btn btn-primary btn-raised" href="/about" role="button"><span class="fa fa-file"></span> About us &raquo;</a></p>
+ <p><a class="btn btn-primary btn-raised" href="/about" role="button"><span class="fa fa-lock"></span> About us &raquo;</a></p>
</div>
<div class="col-md-4">
<h2><span class="fa fa-globe"></span> Own Domain</h2>
- <p>You own a domain? We will gladly do the mail hosting for you. Set up your DNS and get everything out of the box. <br>
- Please read the docs for more info.</p>
- <p><a class="btn btn-primary btn-raised" href="/howto#own_domain" role="button"><span class="fa fa-plus-circle"></span> Read More &raquo;</a></p>
+ <p>You want to send and recieve e-mails with your own domain? We will gladly do the mail hosting for you. Follow our instructions and we will do the rest.
+ <p><a class="btn btn-primary btn-raised" href="/howto#own_domain" role="button"><span class="fa fa-globe"></span> Read More &raquo;</a></p>
</div>
</div>
</div>
diff --git a/views/index_de.html b/views/index_de.html
index 327af8f..839c5c6 100644
--- a/views/index_de.html
+++ b/views/index_de.html
@@ -16,19 +16,19 @@
<div class="col-md-4">
<h2><span class="fa fa-user"></span> Schnell & Einfach</h2>
<p>Nur noch 10 Sekunden bis zur neuen Mail Adresse.
- Wähle Sie eine freie Adresse und registrieren Sie sich.<br>
- Trauen Sie sich! Es ist frei und wir beißen nicht.</p>
+ Wählen Sie sich eine freie Adresse aus und lassen Sie sie registrieren.
+ Trauen Sie sich! Es ist frei wie in Freibier und wir beißen nicht.</p>
<p><a class="btn btn-primary btn-raised" href="/register" role="button"><span class="fa fa-user-plus"></span> Registrieren &raquo;</a></p>
</div>
<div class="col-md-4">
<h2><span class="fa fa-lock"></span> Sicher</h2>
- <p>Wir geben unser bestes um immer aktuell zu sein und die neuesten Technologien zu benutzen. Deswegen empfehlen wir nicht nur Verschlüsselung, sondern erzwingen sie wo immer es geht.
- <p><a class="btn btn-primary btn-raised" href="/about" role="button"><span class="fa fa-file"></span> Über uns &raquo;</a></p>
+ <p>Wir benutzen die aktuellesten Technologien und Methoden. Deswegen empfehlen wir nicht nur eine für den Nutzer transparente Verschlüsselung der Daten, sondern erzwingen sie wann und wo immer es geht.
+ <p><a class="btn btn-primary btn-raised" href="/about" role="button"><span class="fa fa-lock"></span> Über uns &raquo;</a></p>
</div>
<div class="col-md-4">
<h2><span class="fa fa-globe"></span> Eigene Domain</h2>
- <p>Sie besitzen eine Domain? Wir kümmerns uns gerne um Ihre E-Mail setup. Setzen Sie ihr DNS und bekommen Sie alles auf einmal.</p>
- <p><a class="btn btn-primary btn-raised" href="/howto#own_domain" role="button"><span class="fa fa-plus-circle"></span> Lese wie es geht &raquo;</a></p>
+ <p>Sie verfügen über eine eigene Domain? Und Sie möchten E-Mails darüber versenden und empfangen können? Folgen Sie unserer Anleitung und wir kümmern uns um den Rest.</p>
+ <p><a class="btn btn-primary btn-raised" href="/howto#own_domain" role="button"><span class="fa fa-globe"></span> Lies wie es geht &raquo;</a></p>
</div>
</div>
</div>
@@ -37,9 +37,9 @@
<div class="row">
<div class="col-md-12">
<h2><span class="fa fa-question-circle"></span> Warum</h2>
- <p><strong>Libremail</strong> ist das Ergebnis meiner Bemühungen, als ich einen stressfreien E-Mail Anbieter ohne großes Brimborium drumherum gesucht habe. Inzwischen vertrauen einige Leute darauf, dass ihre E-Mails zugestellt werden. Wir hosten sogar Mailing Listen auf diesem Server.
- Wenn Sie interessiert sind, dann können Sie meinen Blog folgen.</p>
- <p><a class="btn btn-primary btn-raised" href="https://www.iamfabulous.de" role="button"><span class="fa fa-plus"></span> Folge Mir &raquo;</a></p>
+ <p><strong>Libremail</strong> ist das Ergebnis meiner Bemühungen, als ich einen stressfreien E-Mail Anbieter ohne großes Brimborium drumherum gesucht habe. Inzwischen vertrauen einige Leute darauf, dass ihre E-Mails zugestellt werden. Wir betreiben sogar Mailing Listen auf diesem Server.
+ Wenn Sie interessiert sind, folgen Sie meinem Blog. Ich arbeite noch an anderen interessanten Projekten.</p>
+ <p><a class="btn btn-primary btn-raised" href="https://www.iamfabulous.de" role="button"><span class="fa fa-plus"></span> Lies mehr &raquo;</a></p>
</div>
</div>
</div>
diff --git a/views/server.html b/views/server.html
index 5fb17de..b14fbf6 100644
--- a/views/server.html
+++ b/views/server.html
@@ -16,10 +16,11 @@
<br>
<strong>Use your mail adress and the passwort as credentials to log in.</strong>
<br>
- <br>
The TLS certificate is signed to 'webmail.iamfabulous.de'
- <br>
- Please note: Unfortunalety roundcube does not support GPG encryption yet.</p>
+ </p>
+ <p>
+ <strong>Please note:</strong> Unfortunalety roundcube does not support GPG encryption yet.
+ </p>
</li>
<li>
<h2>SMTP</h2>
diff --git a/views/server_de.html b/views/server_de.html
index 997a78c..8cdebf5 100644
--- a/views/server_de.html
+++ b/views/server_de.html
@@ -17,8 +17,8 @@
<strong>Loggen Sie sich mit Ihrer kompletten E-Mail Adresse und ihrem Passwort ein.</strong>
<br>
Das TLS Zertifikat ist auf 'webmail.iamfabulous.de' signiert.
- <br>
- <br>
+ </p>
+ <p>
<strong>Bitte beachten Sie:</strong> Leider unterstützt Roundcube noch keine GPG Verschlüsselung.</p>
</li>
<li>