Dies ist der Befehl offlineimap, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
offlineimap – Postfächer und Mailverzeichnisse synchronisieren
ZUSAMMENFASSUNG
offlineimap (Optionen)
BESCHREIBUNG
Synchronisieren Sie die in der Konfigurationsdatei konfigurierten Konten über IMAP. Jedes Konto hat
zwei Seiten.
Eine Seite muss ein IMAP-Server sein. Die andere Seite kann entweder ein Maildir oder ein anderes sein
IMAP-Server.
OPTIONAL
-h, --Hilfe
Zusammenfassung der Optionen anzeigen.
--Version
Ausgabeversion.
--Probelauf
Im Trockenlaufmodus laufen lassen.
Ändern Sie keinen Speicher, sondern prüfen Sie, welche Synchronisierungsaktionen ausgeführt werden, und drucken Sie diese aus
würde genommen werden, wenn eine Synchronisierung durchgeführt würde. Es wird nicht genau das genaue geben
Informationen, was passieren wird. Wenn wir beispielsweise einen Ordner erstellen müssen, wird dieser lediglich ausgegeben
Möchten erstellen Flyer X, aber nicht wie viele und welche Mails es übertragen würde.
--die Info
Informationen zu den konfigurierten E-Mail-Repositorys ausgeben.
Nützlich zum Debuggen und zur Fehlerberichterstattung. Zur Begrenzung in Verbindung mit der Option -a verwenden
die Ausgabe auf ein einziges Konto. Dieser Modus verhindert, dass eine tatsächliche Synchronisierung stattfindet
wird beendet, nachdem die Debug-Informationen ausgegeben wurden.
-1
Beschränken Sie Multithreading-Vorgänge und führen Sie ausschließlich eine Single-Thread-Synchronisierung durch.
Dadurch werden effektiv die maxsyncaccounts und alle maxconnections-Konfigurationsdateien festgelegt
Variablen auf 1. Das ist 1, die Zahl.
-P
Versetzen Sie OfflineIMAP in den Profilmodus.
Das Programm erstellt ein Verzeichnis (es darf noch nicht vorhanden sein). Während es läuft, Python-Profilerstellung
Informationen zu jedem Thread werden in Profiledir protokolliert. Bitte beachten Sie: Diese Option ist
Ist nur zum Debuggen und Optimieren vorhanden und sollte NICHT verwendet werden, es sei denn, Sie haben eine
konkreten Grund dafür. Es wird möglicherweise die Programmleistung erheblich beeinträchtigen
Dies verringert die Zuverlässigkeit und kann große Datenmengen erzeugen. Diese Option impliziert -1
.
-A
Überschreibt den Abschnitt „Konten“ in der Konfigurationsdatei.
Ermöglicht die Angabe eines bestimmten Kontos oder einer Gruppe von Konten für die Synchronisierung, ohne dass dies erforderlich ist
um die Konfigurationsdatei zu bearbeiten.
-C
Gibt eine zu verwendende Konfigurationsdatei an.
-D
Aktiviert das Debuggen für OfflineIMAP.
Dies ist nützlich, wenn Sie eine Fehlfunktion aufspüren oder herausfinden möchten, was vor sich geht
unter der Haube. Diese Option erfordert einen oder mehrere durch Kommas getrennte Debugtypen.
Diese definieren, was genau debuggt wird, und umfassen bisher zwei Optionen: imap,
Thread, Maildir oder ALL. Die IMAP-Option aktiviert den IMAP-Protokoll-Stream und die Analyse
Debuggen. Beachten Sie, dass die Ausgabe möglicherweise Passwörter enthält. Entfernen Sie diese daher unbedingt
aus der Debug-Ausgabe, bevor Sie sie an andere senden. Die Maildir-Option wird
Aktivieren Sie das Debuggen für bestimmte Maildir-Vorgänge. Die Verwendung einer beliebigen Debug-Option (es sei denn
Faden enthalten ist), impliziert die Single-Thread-Option -1.
-l
Protokolle senden an .
-s
Protokolle an Syslog senden.
-F
Synchronisieren Sie nur die angegebenen Ordner.
Die Ordnernamen sind die nicht übersetzten Ordnernamen des Remote-Repositorys. Das
Die Befehlszeilenoption überschreibt alle Ordnerfilter und Ordner enthält Optionen in der
Konfigurationsdatei.
-k <[Abschnitt:]Option=Wert
Überschreiben Sie alle Konfigurationsdateioptionen.
Wenn „Abschnitt“ weggelassen wird, wird standardmäßig „allgemein“ verwendet. Alle Unterstriche im Abschnittsnamen
werden durch Leerzeichen ersetzt: zum Beispiel, um die Option „autorefresh“ im zu überschreiben
Im Abschnitt „[Account Personal]“ in der Konfigurationsdatei würde man „-k“ verwenden
Account_Personal:autorefresh=30". Wiederholen Sie diese Option so oft wie nötig, um sie neu zu definieren
mehrere Optionen.
-o
Nur einmal ausführen.
Ignorieren Sie alle Einstellungen für die automatische Aktualisierung in der Konfigurationsdatei.
-q
Führen Sie nur schnelle Synchronisierungen durch.
Ignorieren Sie alle Flag-Updates auf IMAP-Servern. Wenn sich ein Flag auf dem Remote-IMAP ändert, und wir
Wenn Sie die Nachricht lokal haben, bleibt sie im Handumdrehen unberührt. Diese Option ist
Wird ignoriert, wenn maxage festgelegt ist.
-u
Gibt eine alternative Benutzeroberfläche an, die verwendet werden soll.
Dadurch wird der in der Konfigurationsdatei angegebene Standardwert überschrieben. Die mit angegebene Benutzeroberfläche
Die Verwendung von -u wird erzwungen, auch wenn Prüfungen ergeben, dass es nicht verwendbar ist. Möglich
Schnittstellenoptionen sind: Quiet, Basic, Syslog, TTYUI, Blinkenlights, MachineUI.
--Spalte[= ], --no-column
Branchenliste in Spalten anzeigen. Die Option finden Sie in der Konfigurationsvariablen „column.branch“.
Syntax.--column und --no-column ohne Optionen sind äquivalent zu immer und niemals
beziehungsweise.
Diese Option ist nur im nicht ausführlichen Modus anwendbar.
SYNCHRONISATION PERFORMANCE
Standardmäßig verwenden wir recht konservative Einstellungen, die für die Synchronisierung sicher sind, aber das könnte sein
nicht derjenige mit der besten Leistung sein. Sobald Sie alles eingerichtet und ausgeführt haben, möchten Sie vielleicht
um zu prüfen, wie Sie Ihre Synchronisierung beschleunigen können. Hier ein paar Hinweise und Tipps dazu
um das zu erreichen.
1. Verwenden Sie maxconnections > 1.
Standardmäßig verwenden wir nur eine Verbindung zu einem IMAP-Server. Mit 2 oder sogar 3 Geschwindigkeiten
in den meisten Fällen erheblich nach oben. Diese Einstellung geht in das [Repository XXX]
.
2. Verwenden Sie Ordnerfilter.
Die schnellste Synchronisierung ist eine Synchronisierung, bei der einige Ordner ignoriert werden können. Ich sortiere meinen Posteingang nach Monaten
Ordner und ignoriere jeden Ordner, der älter als 2-3 Monate ist, das lässt mich nur
Überprüfen Sie bei jeder Synchronisierung einen Teil meiner E-Mails. Wenn Sie dies noch nicht getan haben, tun Sie es :).
Sehen Sie sich im Abschnitt „Ordnerfilter“ das Beispiel „offlineimap.conf“ an.
3. Der Cache.
Der Standard-Statuscache ist eine reine Textdatei, die die gesamte Datei ausschreibt
für jede einzelne neue Nachricht (oder sogar geänderte Flagge) in eine temporäre Datei. Wenn Sie haben
Viele Dateien in einem Ordner, das sind ein paar hundert Kilo bis Megabyte für jede E-Mail und
wird die Dinge zwangsläufig langsamer machen. Ich empfehle dafür das SQLite-Backend zu verwenden. Sehen
die Einstellung status_backend = sqlite im Beispiel offlineimap.conf. Du wirst brauchen
Ich muss Python-SQLite installiert haben, um dies nutzen zu können. Dadurch sparen Sie viel Speicherplatz
Aktivität. Beachten Sie, dass das SQLite-Backend immer noch als experimentell gilt
wurde erst kürzlich aufgenommen (obwohl ein Verlust Ihres Statuscaches kein Grund sein sollte).
Tragödie, da diese Datei automatisch neu erstellt werden kann)
4. Verwenden Sie die Schnellsynchronisierung.
Bei einer regelmäßigen Synchronisierung werden alle Flags und alle UIDs aller E-Mails in jedem Ordner abgefragt
dauert ziemlich lange. A schnell sync vergleicht nur die Anzahl der Nachrichten in einem Ordner
auf der IMAP-Seite (es erkennt jedoch Flag-Änderungen auf der Maildir-Seite). A
Die schnelle Synchronisierung auf meinem kleineren Konto dauert 7 Sekunden statt 40 Sekunden. ZB, ich
Führen Sie ein Cron-Skript aus, das einmal am Tag eine regelmäßige Synchronisierung durchführt und nur schnelle Synchronisierungen (-q) durchführt
dazwischen das „-f INBOX“ synchronisieren.
5. Schalten Sie fsync aus.
Im Abschnitt [allgemein] können Sie fsync auf True oder False setzen. Wenn Sie 110 % spielen möchten
Sicher sein und warten, bis alle Vorgänge auf der Festplatte angekommen sind, bevor Sie fortfahren. Sie können dies festlegen
zu Wahr. Wenn Sie den Wert auf „Falsch“ setzen, verlieren Sie einen Teil dieser Sicherheit und tauschen sie gegen Geschwindigkeit ein.
UPGRADE DURCHFÜHREN AB EBENE TEXT TO SQLITE CACHE FORMAT
OfflineImap verwendet einen Cache, um den letzten bekannten Status von E-Mails (Flags usw.) zu speichern.
In der Vergangenheit bedeutete das reine Textdateien, aber vor Kurzem haben wir SQLite-basierte Dateien eingeführt
Cache, der die Leistung und CPU-Auslastung bei großen Ordnern verbessert. Hier erfahren Sie, wie Sie ein Upgrade durchführen
vorhandene Nur-Text-Cache-Installationen auf SQLite-Basis:
1. Synchronisieren Sie, um sicherzustellen, dass die Dinge einigermaßen ähnlich sind.
2. Ändern Sie den Kontoabschnitt in „status_backend = sqlite“.
3. Führen Sie eine neue Synchronisierung durch.
Dadurch wird Ihr Nur-Text-Cache in einen SQLite-Cache umgewandelt (der alte Plain-Text-Cache bleibt jedoch erhalten).
Textcache zum einfachen Zurücksetzen). Dies muss schnell erfolgen und darf keine Post erfordern
hochladen/herunterladen.
4. Sehen Sie, ob es funktioniert! :-)
5. Wenn es nicht funktioniert, kehren Sie zur alten Version zurück oder setzen Sie „status_backend = plain“
6. Löschen Sie die alten Text-Cache-Dateien.
Sobald Sie sicher sind, dass es funktioniert, können Sie es löschen ~/.offlineimap/Account-foo/LocalStatus
Ordner (der neue Cache befindet sich im Ordner LocalStatus-sqlite)
SICHERHEIT UND SSL
Standardmäßig stellt OfflineIMAP eine Verbindung mit einer beliebigen Methode her openssl unterstützt, das heißt
SSLv2, SSLv3 oder TLSv1.
Beachten Sie, dass SSLv2 notorisch unsicher und veraltet ist. Leider ist dies bei Python2 nicht der Fall
bieten einfache Möglichkeiten, SSLv2 zu deaktivieren. Es wird empfohlen, dass Sie Ihr Setup testen und sicherstellen, dass dies der Fall ist
Der Mailserver verwendet keine SSLv2-Verbindung. Verwenden Sie z. B. „openssl s_client -host
mail.server -port 443“, um herauszufinden, welche Verbindung standardmäßig verwendet wird.
· Zertifikatsprüfung
Leider überprüfen wir standardmäßig nicht das Zertifikat eines IMAP TLS/SSL-Servers
Wir stellen eine Verbindung her, daher ist die Verbindung über SSL keine Garantie gegen Man-in-the-Middle-Angriffe.
Bei der Überprüfung eines Serverzertifikats wird die Überprüfung des Fingerabdrucks empfohlen. Es gibt
Derzeit gibt es nur eine sichere Möglichkeit, um sicherzustellen, dass Sie sich in einem mit dem richtigen Server verbinden
verschlüsselte Weise: Sie können eine angeben sslcacertfile Einstellung in Ihrem Repository-Bereich
von offlineimap.conf verweist auf eine Datei, die (unter anderem) ein CA-Zertifikat enthält
im PEM-Format, das Ihr Serverzertifikat validiert. In diesem Fall prüfen wir
dass:
1. Das Server-SSL-Zertifikat wird durch das CA-Zertifikat validiert.
2. Der Hostname des Servers stimmt mit dem SSL-Zertifikat überein.
3. Das Serverzertifikat hat sein Ablaufdatum nicht überschritten.
In den FAQ finden Sie einen Eintrag zum Erstellen eines eigenen Zertifikats und CA-Zertifikats.
· StartTLS
Wenn Sie Ihr Konto ohnehin nicht für die Verbindung über SSL konfiguriert haben, wird OfflineImap dies tun
Versuchen Sie dennoch, eine SSL-Verbindung über die STARTTLS-Funktion aufzubauen, falls die imap
Server unterstützt es.
Bei Verwendung von STARTTLS ist überhaupt keine Zertifikats- oder Fingerabdruckprüfung erforderlich
(Die zugrunde liegende Imaplib-Bibliothek unterstützt dies noch nicht). Das bedeutet, dass Sie es tun werden
vor passiv mithörenden Lauschern geschützt werden, und das wird ihnen auch nicht möglich sein
Sehen Sie sich Ihr Passwort oder den Inhalt Ihrer E-Mail an. Dies schützt Sie jedoch nicht davor, aktiv zu sein
Angriffe wie Man-In-The-Middle-Angriffe, die dazu führen, dass Sie sich mit dem Falschen verbinden
Server und geben Sie vor, Ihr Mailserver zu sein.
VERLASSEN SIE SICH NICHT AUF STARTTLS ALS EINE SICHERE VERBINDUNG, DIE DIE AUTHENTIZITÄT IHRES GARANTIERT
IMAP-SERVER!
UNIX SIGNALE
OfflineImap hört auf die Unix-Signale SIGUSR1, SIGUSR2, SIGTERM, SIGINT, SIGHUP,
SIGQUIT.
· Wenn ein SIGUSR1 gesendet wird, wird der aktuelle (oder zukünftige) Ruhezustand aller Konten abgebrochen
die auf „Autorefresh“ konfiguriert sind. Tatsächlich wird dadurch eine vollständige Synchronisierung aller ausgelöst
Abrechnungen schnellstmöglich durchzuführen.
· Wenn ein SIGUSR2 gesendet wird, wird der „Autorefresh-Modus“ für alle Konten gestoppt. Das heißt, Konten
bricht den aktuellen Ruhezustand ab und wird nach einer aktuell laufenden Synchronisierung beendet
hat beendet. Dieses Signal kann verwendet werden, um eine laufende Offlineimap ordnungsgemäß zu verlassen
„Dämon“.
· SIGTERM, SIGINT und SIGHUP werden alle so behandelt, dass sie so schnell wie möglich ordnungsgemäß beendet werden.
Dies bedeutet, dass die Synchronisierung des aktuellen Ordners in jedem Konto abgeschlossen und Keep Alive geschlossen wird
Verbindungen herstellen, Kontensperren entfernen und beenden.
Es kann bis zu 10 Sekunden dauern, wenn die automatische Aktualisierungsoption verwendet wird.
· Wenn SIGQUIT gesendet wird, werden Stack-Traces für alle Threads ausgegeben und versucht, den Prozesskern zu sichern.
BEKANNT PROBLEME
· SSL3-Schreibvorgang steht aus.
Benutzer, die SSL aktivieren, stoßen möglicherweise auf einen Fehler bezüglich „SSL3-Schreibvorgang ausstehend“. Wenn ja, das/die Konto(s)
bleibt ab dem Zeitpunkt des Auftretens des Fehlers unsynchronisiert. Das erneute Ausführen von OfflineIMAP kann
Hilfe. Wir arbeiten noch an diesem Fehler. Patches oder ausführliche Fehlerberichte wären das
hochgeschätzt. Bitte überprüfen Sie, ob Sie die letzte stabile Version verwenden, und senden Sie uns einen Bericht
zur Mailingliste einschließlich des vollständigen Protokolls.
· Die IDLE-Unterstützung ist unvollständig und experimentell. Es können Fehler auftreten.
· Für „Nach einer IDLE-Antwort ausführen“ existiert kein Hook.
Die E-Mail wird angezeigt, aber möglicherweise erst beim nächsten Aktualisierungszyklus verarbeitet.
· nametrans wird möglicherweise nicht korrekt unterstützt.
· IMAP IDLE <→ IMAP IDLE funktioniert noch nicht.
· IDLE stoppt möglicherweise die Synchronisierung, wenn das System angehalten/wieder aufgenommen wird.
· IDLE funktioniert möglicherweise nur „einmal“ pro Aktualisierung.
Wenn Sie auf diesen Fehler stoßen, senden Sie bitte einen Bericht an die Liste!
· Maildir-Unterstützung im Windows-Laufwerk.
Maildir verwendet Doppelpunkte (:) in Nachrichtendateinamen. Colon ist jedoch verboten
Zeichen in Windows-Laufwerken. Für diese Situation gibt es mehrere Problemumgehungen:
1. Aktivieren Sie die Zeichenübersetzung von Dateinamen in der Windows-Registrierung (nicht getestet).
· http://support.microsoft.com/kb/289627
2. Verwenden Sie den von Cygwin verwalteten Mount (nicht getestet).
· Seit Cygwin 1.7 nicht mehr verfügbar
3. Verwenden Sie die OfflineIMAP-Konfiguration des Kontos „maildir-windows-kompatible = ja“.
· Das führt dazu, dass OfflineIMAP ein Ausrufezeichen (!) anstelle eines Doppelpunkts verwendet
Speichern von Nachrichten. Solche Dateien können auf Windows-Partitionen geschrieben werden. Aber du
wird wahrscheinlich die Kompatibilität mit anderen Programmen verlieren, die versuchen, dasselbe zu lesen
Maildir.
· Das Ausrufezeichen wurde aufgrund der Anmerkung in gewählt
http://docs.python.org/library/mailbox.html
· Wenn Sie bereits einige Nachrichten ohne diese Option gespeichert haben, müssen Sie dies tun
Synchronisieren Sie sie erneut
· OfflineIMAP verwirrt nach Systemunterbrechung.
Wenn eine unterbrochene Sitzung wieder aufgenommen wird, behandelt OfflineIMAP die unterbrochene Sitzung nicht sauber
Socket(s), wenn die Option socktimeout nicht gesetzt ist. Sie sollten diese Option mit einem Wert aktivieren
wie 10.
· OfflineIMAP verwirrt, wenn sich E-Mails während einer Synchronisierung ändern.
Wenn OfflineIMAP synchronisiert wird, passieren einige Ereignisse seit dem Aufruf auf Remote- oder
Die lokale Seite wird schlecht behandelt. OfflineIMAP verfolgt während der Synchronisierung keine Änderungen.
· Teilen eines Mailverzeichnisses mit mehreren IMAP-Servern.
Generell ist Vorsicht geboten, wenn IMAP-Repositorys im selben Maildir-Stammverzeichnis gemischt werden. Du
muss aufpassen, dass du niemals Verwenden Sie denselben Maildir-Ordner für zwei IMAP-Server. In
Im besten Fall ist der Ordner MD5 ein anderer und Sie erhalten dort eine Schleife
Laden Sie Ihre E-Mails nacheinander (unendlich!) auf beide Server hoch, so wie es denkt, dass Sie sie abgelegt haben
neue Mails im lokalen Maildir. Im schlimmsten Fall ist der MD5 derselbe (wahrscheinlich) und
E-Mail-UIDs überschneiden sich (wahrscheinlich auch!) und einige E-Mails werden nicht so synchronisiert, wie es denkt
sind bereits vorhanden.
Ich würde ein neues lokales Maildir-Repository für das persönliche Gmail erstellen und ein verwenden
Um hier auf der sicheren Seite zu sein, verwenden Sie bitte eine andere Wurzel. Sie könnten z. B. verwenden
`~/mail/Pro` als Maildir-Root für ProGmail und
`~/mail/Persönlich` als Wurzel für das Persönliche.
Wenn Sie dann auf Ihren lokalen Köter oder das von Ihnen verwendete MUA zeigen ~/mail/ als root, it
sollte weiterhin alle Ordner erkennen.
· Edge-Fälle mit Maxage führen dazu, dass zu viele Nachrichten synchronisiert werden.
Alle Nachrichten von höchstens fünf Tagen (+/- ein paar Stunden, je nach Zeitzone)
werden synchronisiert, es gibt jedoch Fälle, in denen auch ältere Nachrichten synchronisiert werden können. Das
passiert, wenn die UID einer Nachricht deutlich höher ist als die anderer Nachrichten mit
Ähnliche Daten, z. B. wenn Nachrichten zum lokalen Ordner hinter offlineimap hinzugefügt werden
zurück, wodurch ihnen eine neue UID zugewiesen wird, oder wenn offlineimap zum ersten Mal synchronisiert wird
bereits vorhandenes Maildir. Im letzteren Fall könnte es so aussehen, als ob ein auffälliges und
Eine zufällige Teilmenge alter Nachrichten wird synchronisiert.
MAIN AUTOREN
John Goerzen, Sebastian Spaetz, Eygene Ryabinkin, Nicolas Sebrecht.
Verwenden Sie offlineimap online über die Dienste von onworks.net