0

Thunderbird: E-Mails ohne Datum reparieren

Ich hab in meinem Postfach einige Mails, welche ein falsches Datum haben. Genauer gesagt haben diese gar kein Datum. Deshalb zeigt Thunderbird immer das aktuelle Datum an, an dem er die E-Mail das erste Mal abgerufen hat.
Das ist nervig, da so bei einem erneutem Einrichten des Kontos in Thunderbird, diese uralten Mails wieder ganz nach oben geholt werden.

Um das Ganze zu reparieren muss man das Datum in der Mail ändern, bzw. hinzufügen. Das geht nicht direkt, deshalb exportiert man die betroffenen E-Mails, aktualisiert diese und importiert sie dann wieder.

Dafür nutze ich das Thunderbird Add-on ImportExportTools.

Zunächst wählt man die betroffenen Mails im Thunderbird aus. Sollte schnell gehen, da ja alle das gleiche Datum und die gleiche Uhrzeit haben. Dann macht man einen Rechtsklick und wählt Gewählte Nachrichten speichern -> als Mbox-Datei (neu) aus.
Die gespeicherte Datei hat keine Endung, ist aber mit einem gewöhnlichen Texteditor lesbar. Die E-Mails sind darin untereinander aufgelistet. Man sucht in jeder E-Mail den Header und fügt dort Date: ein. Wer nicht Bescheid weiß, Wikipedia hilft hier weiter. In der selben Zeile listet man auch das Datum, welches im E-Mail-Client angezeigt werden soll. Ich hab immer einfach den Zeitstempel aus den Received-Zeilen darüber genommen. Das Ganze schaut dann z.B. so aus:

To: …
From: …
Subject: …
Date: 29 Dec 2009 12:15:00 +0100

Dann speichert man die Datei ab und importiert diese wieder in Thunderbird. Beim Importieren ist zu beachten, dass man zuerst den Lokalen Ordner auswählt und dann oben im Menü auf Extras -> ImportExportTools -> Mbox-Dateien importieren -> Bestimmte Mbox-Dateien zum Importieren auswählen klickt.
Wechselt man zuvor nicht auf den Lokalen Ordner, so wird Thunderbird folgenden Fehler bringen:

Importieren in diesen Ordner ist nicht möglich:

Vermutlich handelt es sich um ein IMAP-Konto oder eine Newsgruppe.

Hat alles geklappt, dann sollte jetzt ein neuer Ordner mit dem Namen eurer Mbox-Datei im Lokalen Ordner auftauchen in dem eure reparierten E-Mails sind. Thunderbird sollte jetzt auch direkt das richtige Datum anzeigen. Dann einfach die E-Mails in euer eigentliches E-Mail-Konto ziehen und die originalen E-Mails dort löschen.

2

Thunderbird: Yahoo IMAP Y! Conversations-Ordner entfernen

Bin seit einigen Tagen von POP3 auf IMAP umgestiegen, um meine E-Mails mittels Thunderbird von meiner Yahoo-E-Mail-Adresse abzurufen.
Allerdings taucht dann auf einmal ein Ordner namens „Y! Conversations“ in der Ordnerstruktur auf. Da ich den Yahoo-Chat nicht verwende, fand ich es störend, dass der Chat-Verlauf dann in meinem E-Mail-Client auftauchen soll.

Ein einfaches Löschen per Rechtsklick im Thunderbird lässt der Yahoo-Server nicht zu.
Stattdessen muss man einen Rechtsklick auf das Konto machen und dann auf Abonnieren klicken. Dann erscheint ein Pop-Up, in dem man dann das Häkchen vor dem unnötigen Ordner entfernen kann.

0

.htaccess: Redirect www – Error 403 – Zugriff verweigert

Ich hab mir eine neue Domain bestellt, mit der eine neue Webseite auf dem selben Webserver laufen soll. Dazu hab ich jetzt beide Webseiten in Unterordner geschoben und Confixx so konfiguriert, dass die Domains jeweils auf einen Unterordner zeigen.
Sprich ich nutze zwei Domains für zwei Seiten, wobei beide auf nur einem Webspace liegen.
Die folgende ASCII-Grafik veranschaulicht den Aufbau:

                    html
                    |
www.domain1.de -->  |-- ordner1
                    |
www.domain2.de -->  |-- ordner2

Das hat auch soweit geklappt.
Jetzt möchte ich noch gerne Duplicate Content vermeiden, indem ich jeden Besucher automatisch auf die entsprechende URL mit einem „www“ vorne dran weiterleite. Das geht mit der .htaccess-Datei, welche auf den Server gelegt wird.
Da das Ganze für beide URLs gelten soll, hab ich zwei .htaccess erstellt und jeweils in den Root-Ordner der jeweiligen Domain gelegt. Also eine in ordner1 und eine in ordner2. Der Inhalt ist jeweils der Gleiche, nur die ULRs müssen logischerweise angepasst werden.

RewriteEngine On
# Force www
RewriteCond %{HTTP_HOST} ^domain1\.de/$ [NC]
RewriteRule ^(.*)$ http://www.domain2.de/$1 [R=301,L]

Bei der alten Domain hat alles einwandfrei geklappt. Rufe ich domain1.de auf, so wird man zu www.domain1.de umgeleitet. Bei der neuen domain2.de ging aber gar nichts mehr. Es kam nur folgender Fehler:

Zugriff verweigert!

Der Zugriff auf das angeforderte Verzeichnis ist nicht möglich. Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.

Error 403

Nach langem rumprobieren bin ich auf die Lösung gekommen:

Ich musste in Confixx auch für die neue Domain unter Einstellungen -> Httpd Spezial ->WebServer mod_rewrite erst auf „on“ setzen!

Dann funktioniert auch das 301 Redirect der zweiten Domain.

2

jQuery in HTML einbinden: Immer aktuellste Version benutzen

Will man JavaScript direkt in einer html-Datei benutzen, ohne den Code in einer separaten js-Datei auf den Server zu hinterlegen, so kann man dies einfach in dem head-Bereich machen:

<html>
    <head>
        <script type="text/javascript">
            // hier steht mein Code
        </script>
    </head>
    <body>
    <!-- hier ist die Webseite -->
    </body>
</html>

Will man zusätzliche JavaScript-Funktionen verwenden, so kann man die jQuery-Bibliothek entweder auch auf seinen Server legen, oder man lädt diese direkt von einem Hoster. Hoster, die die jQuery-API bereitstellen, gibt es mehrere. Ebenfalls werden immer verschiedene jQuery-Versionen angeboten (sowohl Versionsnummern als auch Funktionsumfang), z.B.

  • http://code.jquery.com/jquery-2.0.3.js
  • http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
  • http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  • http://ajax.microsoft.com/ajax/jQuery/jquery-1.9.1.min.js

Will man immer die aktuellste Version verwenden, so kann man sich mittels diesem Link helfen:

  • http://code.jquery.com/jquery-latest.min.js

Lässt man das „http:“ weg, so klappt die Verwendung sowohl bei HTTP– als auch bei HTTPS-Verbindungen.

Das Ganze wird dann ebenfalls in den head-Bereich des html-Dokuments eingebaut. An welcher Stelle das jQuery hier eingebunden wird ist egal. Wichtig ist jedoch, den schließenden Tag

</script>

zu verwenden. Die abgekürzte Schreibweise

<script ... />

funktioniert hier nicht.

<html>
    <head>
        <script src="//code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            // hier verwende ich jQuery
        </script>
    </head>
    <body>
    <!-- hier ist die Webseite -->
    </body>
</html>
0

JavaScript: Automatisch ans Seitenende scrollen

Ich habe eine Logdatei auf dem Server liegen, die gerne etwas länger wird. Um nicht immer nach unten zu den neusten Einträgen scrollen zu müssen, habe ich jetzt etwas JavaScript in die html-Datei eingefügt, das genau das tut:

<script type="text/javascript">
    window.onload = function() {
        window.scrollTo(0, document.body.scrollHeight);
    };
</script>
0

JavaScript: doument.body is NULL

Wollte gerade etwas in JavaScript einbauen, da tauchte in der Console der Fehler

doument.body is NULL

Dabei wollte ich nämlich ganz am Anfang des Skripts auf document.body zugreifen. Problem ist aber, dass der JavaScript-Code schon ausgeführt ist, bevor sich die Seite ganz aufbauen konnte. Lösung ist also, den Code erst auszuführen, wenn die Webseite geladen hat:

<script type="text/javascript">
    window.onload = function() {
        // do stuff here
    };
</script>