English ▾ Themen ▾ Neueste Version ▾ git-imap-send zuletzt aktualisiert in 2.51.0

NAME

git-imap-send - Sendet eine Sammlung von Patches von stdin an einen IMAP-Ordner

SYNOPSIS

git imap-send [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>]
git imap-send --list

BESCHREIBUNG

Dieser Befehl lädt eine mit git format-patch erstellte Mailbox in einen IMAP-Entwürfe-Ordner hoch. Dies ermöglicht das Senden von Patches wie andere E-Mails, wenn Mail-Clients verwendet werden, die keine Mailbox-Dateien direkt lesen können. Der Befehl funktioniert auch mit jeder allgemeinen Mailbox, in der E-Mails die Felder From, Date und Subject in dieser Reihenfolge enthalten.

Typische Verwendung ist etwa so

$ git format-patch --signoff --stdout --attach origin | git imap-send

OPTIONEN

-v
--verbose

Ausführlich sein.

-q
--quiet

Seien Sie leise.

-f <ordner>
--folder=<ordner>

Gibt den Ordner an, in dem die E-Mails gespeichert werden sollen. Zum Beispiel: --folder=[Gmail]/Entwürfe oder -f POSTFACH/Entwürfe.

--curl

Verwendet libcurl zur Kommunikation mit dem IMAP-Server, es sei denn, es wird in diesen hineingetunnelt. Wird ignoriert, wenn Git ohne die Option USE_CURL_FOR_IMAP_SEND erstellt wurde.

--no-curl

Spricht mit dem IMAP-Server unter Verwendung der eigenen IMAP-Routinen von Git anstelle von libcurl. Wird ignoriert, wenn Git mit der Option NO_OPENSSL erstellt wurde.

--list

Führt den IMAP-LIST-Befehl aus, um eine Liste aller vorhandenen Ordner auszugeben.

KONFIGURATION

Um das Werkzeug zu verwenden, müssen imap.folder und entweder imap.tunnel oder imap.host auf entsprechende Werte gesetzt sein.

Alles oberhalb dieser Zeile in diesem Abschnitt ist nicht in der Dokumentation von git-config[1] enthalten. Der nachfolgende Inhalt ist derselbe wie dort zu finden.

imap.folder

Der Ordner, in den die E-Mails abgelegt werden sollen, typischerweise der Ordner Entwürfe. Zum Beispiel: POSTFACH.Entwürfe, POSTFACH/Entwürfe oder [Gmail]/Entwürfe. Der zu interagierende IMAP-Ordner MUSS angegeben werden; der Wert dieser Konfigurationsvariablen wird als Standardwert verwendet, wenn die Option --folder nicht angegeben ist.

imap.tunnel

Befehl zum Einrichten eines Tunnels zum IMAP-Server, durch den Befehle statt einer direkten Netzwerkverbindung zum Server geleitet werden. Erforderlich, wenn imap.host nicht gesetzt ist.

imap.host

Eine URL, die den Server identifiziert. Verwenden Sie ein imap:// Präfix für ungesicherte Verbindungen und ein imaps:// Präfix für gesicherte Verbindungen. Wird ignoriert, wenn imap.tunnel gesetzt ist, ist aber andernfalls erforderlich.

imap.user

Der Benutzername, der beim Anmelden am Server verwendet wird.

imap.pass

Das Passwort, das beim Anmelden am Server verwendet wird.

imap.port

Eine Ganzzahl, die die Portnummer angibt, zu der auf dem Server eine Verbindung hergestellt werden soll. Standardmäßig 143 für imap://-Hosts und 993 für imaps://-Hosts. Wird ignoriert, wenn imap.tunnel gesetzt ist.

imap.sslverify

Ein boolescher Wert zum Aktivieren/Deaktivieren der Überprüfung des Serverzertifikats, das von der SSL/TLS-Verbindung verwendet wird. Standard ist true. Wird ignoriert, wenn imap.tunnel gesetzt ist.

imap.preformattedHTML

Ein boolescher Wert zum Aktivieren/Deaktivieren der Verwendung von HTML-Encoding beim Senden eines Patches. Ein HTML-codierter Patch wird mit <pre> umschlossen und hat den Inhaltstyp text/html. Ironischerweise bewirkt die Aktivierung dieser Option, dass Thunderbird den Patch als E-Mail vom Typ plain/text, format=fixed sendet. Standard ist false.

imap.authMethod

Gibt die Authentifizierungsmethode für die Authentifizierung beim IMAP-Server an. Wenn Git mit der Option NO_CURL erstellt wurde, oder wenn Ihre Curl-Version älter als 7.34.0 ist, oder wenn Sie git-imap-send mit der Option --no-curl ausführen, sind die einzigen unterstützten Methoden PLAIN, CRAM-MD5, OAUTHBEARER und XOAUTH2. Wenn dies nicht gesetzt ist, verwendet git imap-send den grundlegenden IMAP-Klartextbefehl LOGIN.

AUFLISTUNG VERFÜGBARER ORDNER ERHALTEN

Um eine E-Mail an einen bestimmten Ordner zu senden, müssen Sie den korrekten Namen des beabsichtigten Ordners in Ihrem Postfach kennen. Die Namen wie "Junk", "Trash" usw., die von verschiedenen E-Mail-Clients angezeigt werden, müssen nicht die tatsächlichen Namen der Ordner sein, die auf dem Mailserver Ihres E-Mail-Anbieters gespeichert sind.

Um den korrekten Ordnernamen für die Verwendung mit git imap-send zu erhalten, können Sie git imap-send --list ausführen. Dies zeigt eine Liste gültiger Ordnernamen an. Ein Beispiel für eine solche Ausgabe bei einem Gmail-Konto ist

* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\HasChildren \Noselect) "/" "[Gmail]"
* LIST (\All \HasNoChildren) "/" "[Gmail]/All Mail"
* LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Drafts"
* LIST (\HasNoChildren \Important) "/" "[Gmail]/Important"
* LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail"
* LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam"
* LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Starred"
* LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"

Hier können Sie beobachten, dass der korrekte Name für den "Junk"-Ordner [Gmail]/Spam und für den "Trash"-Ordner [Gmail]/Trash lautet. Ähnliche Logik kann verwendet werden, um auch andere Ordner zu ermitteln.

BEISPIELE

Verwendung des Tunnelmodus

[imap]
    folder = "INBOX.Drafts"
    tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"

Verwendung des Direktmodus

[imap]
    folder = "INBOX.Drafts"
    host = imap://imap.example.com
    user = bob
    pass = p4ssw0rd

Verwendung des Direktmodus mit SSL

[imap]
    folder = "INBOX.Drafts"
    host = imaps://imap.example.com
    user = bob
    pass = p4ssw0rd
    port = 123
    ; sslVerify = false
Hinweis
Möglicherweise möchten Sie sslVerify=false während der Fehlersuche verwenden, wenn Sie vermuten, dass der Grund für Verbindungsprobleme darin liegt, dass das von Ihnen verwendete Zertifikat am privaten Server example.com, das Sie einrichten (oder eingerichtet haben), möglicherweise nicht korrekt verifiziert wird.

Verwendung der IMAP-Schnittstelle von Gmail

[imap]
    folder = "[Gmail]/Drafts"
    host = imaps://imap.gmail.com
    user = user@gmail.com
    port = 993

Gmail erlaubt nicht die Verwendung Ihres normalen Passworts für git imap-send. Wenn Sie die Zwei-Faktor-Authentifizierung in Ihrem Gmail-Konto eingerichtet haben, können Sie ein anwendungsspezifisches Passwort für die Verwendung mit git imap-send generieren. Besuchen Sie https://security.google.com/settings/security/apppasswords, um es zu erstellen. Alternativ können Sie die OAuth2.0-Authentifizierung wie unten beschrieben verwenden.

Hinweis
Möglicherweise müssen Sie stattdessen Folgendes verwenden: ordner = "[Google Mail]/Entwürfe, wenn Sie eine Fehlermeldung erhalten, dass der "Ordner nicht existiert". Sie können auch git imap-send --list ausführen, um eine Liste der verfügbaren Ordner zu erhalten.
Hinweis
Wenn Ihr Gmail-Konto in einer anderen Sprache als Englisch eingerichtet ist, wird der Name des "Entwürfe"-Ordners lokalisiert.

Wenn Sie eine OAuth2.0-basierte Authentifizierung verwenden möchten, können Sie den Mechanismus OAUTHBEARER oder XOAUTH2 in Ihrer Konfiguration angeben. Dies ist sicherer als die Verwendung anwendungsspezifischer Passwörter und erzwingt auch nicht die Notwendigkeit der Zwei-Faktor-Authentifizierung. Sie müssen einen OAuth2.0-Zugriffstoken anstelle Ihres Passworts verwenden, wenn Sie diese Authentifizierung verwenden.

[imap]
    folder = "[Gmail]/Drafts"
    host = imaps://imap.gmail.com
    user = user@gmail.com
    port = 993
    authmethod = OAUTHBEARER

Verwendung der IMAP-Schnittstelle von Outlook

Im Gegensatz zu Gmail unterstützt Outlook nur die OAuth2.0-basierte Authentifizierung. Außerdem unterstützt es nur XOAUTH2 als Mechanismus.

[imap]
    folder = "Drafts"
    host = imaps://outlook.office365.com
    user = user@outlook.com
    port = 993
    authmethod = XOAUTH2

Sobald die Commits zum Senden bereit sind, führen Sie den folgenden Befehl aus

$ git format-patch --cover-letter -M --stdout origin/master | git imap-send

Stellen Sie einfach sicher, dass Sie den Zeilenumbruch im E-Mail-Client deaktivieren (die Weboberfläche von Gmail wird die Zeilen unabhängig von allem umbrechen, daher müssen Sie einen echten IMAP-Client verwenden).

Wenn Sie OAuth2.0-Authentifizierung verwenden, ist es einfacher, Anmeldeinformationshelfer zum Generieren von Tokens zu verwenden. Die in git-send-email[1] vorgeschlagenen Anmeldeinformationshelfer können auch für git imap-send verwendet werden.

VORSICHT

Es liegt immer noch in Ihrer Verantwortung sicherzustellen, dass die von Ihrem E-Mail-Programm gesendete Nachricht den Standards Ihres Projekts entspricht. Viele Projekte mögen keine angehängten Patches. Einige Mail-Agenten transformieren Patches (z. B. Zeilenumbrüche, senden sie als format=flowed), sodass sie fehlschlagen. Sie werden wütende Flammen erleben, die Sie verspotten, wenn Sie dies nicht überprüfen.

Thunderbird ist insbesondere dafür bekannt, problematisch zu sein. Thunderbird-Benutzer möchten möglicherweise diese Webseite für weitere Informationen besuchen: https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email

SIEHE AUCH

GIT

Teil der git[1] Suite