diff options
| -rw-r--r-- | handler.go | 24 | ||||
| -rw-r--r-- | server.go | 10 | ||||
| -rw-r--r-- | static/css/style.css | 3 | ||||
| -rw-r--r-- | views/about.html | 1 | ||||
| -rw-r--r-- | views/howto.html | 30 | ||||
| -rw-r--r-- | views/howto_de.html | 31 | ||||
| -rw-r--r-- | views/index.html | 7 | ||||
| -rw-r--r-- | views/index_de.html | 18 | ||||
| -rw-r--r-- | views/server.html | 7 | ||||
| -rw-r--r-- | views/server_de.html | 4 |
10 files changed, 87 insertions, 48 deletions
@@ -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) } @@ -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 »</a></p> + <p><a class="btn btn-primary btn-raised" href="/about" role="button"><span class="fa fa-lock"></span> About us »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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> |
