| '\" t |
| .\" Title: git-imap-send |
| .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
| .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> |
| .\" Date: 11/13/2018 |
| .\" Manual: Git Manual |
| .\" Source: Git 2.19.1.1052.gd166e6afe |
| .\" Language: English |
| .\" |
| .TH "GIT\-IMAP\-SEND" "1" "11/13/2018" "Git 2\&.19\&.1\&.1052\&.gd166e" "Git Manual" |
| .\" ----------------------------------------------------------------- |
| .\" * Define some portability stuff |
| .\" ----------------------------------------------------------------- |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .\" http://bugs.debian.org/507673 |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .ie \n(.g .ds Aq \(aq |
| .el .ds Aq ' |
| .\" ----------------------------------------------------------------- |
| .\" * set default formatting |
| .\" ----------------------------------------------------------------- |
| .\" disable hyphenation |
| .nh |
| .\" disable justification (adjust text to left margin only) |
| .ad l |
| .\" ----------------------------------------------------------------- |
| .\" * MAIN CONTENT STARTS HERE * |
| .\" ----------------------------------------------------------------- |
| .SH "NAME" |
| git-imap-send \- Send a collection of patches from stdin to an IMAP folder |
| .SH "SYNOPSIS" |
| .sp |
| .nf |
| \fIgit imap\-send\fR [\-v] [\-q] [\-\-[no\-]curl] |
| .fi |
| .sp |
| .SH "DESCRIPTION" |
| .sp |
| This command uploads a mailbox generated with \fIgit format\-patch\fR into an IMAP drafts folder\&. This allows patches to be sent as other email is when using mail clients that cannot read mailbox files directly\&. The command also works with any general mailbox in which emails have the fields "From", "Date", and "Subject" in that order\&. |
| .sp |
| Typical usage is something like: |
| .sp |
| git format\-patch \-\-signoff \-\-stdout \-\-attach origin | git imap\-send |
| .SH "OPTIONS" |
| .PP |
| \-v, \-\-verbose |
| .RS 4 |
| Be verbose\&. |
| .RE |
| .PP |
| \-q, \-\-quiet |
| .RS 4 |
| Be quiet\&. |
| .RE |
| .PP |
| \-\-curl |
| .RS 4 |
| Use libcurl to communicate with the IMAP server, unless tunneling into it\&. Ignored if Git was built without the USE_CURL_FOR_IMAP_SEND option set\&. |
| .RE |
| .PP |
| \-\-no\-curl |
| .RS 4 |
| Talk to the IMAP server using git\(cqs own IMAP routines instead of using libcurl\&. Ignored if Git was built with the NO_OPENSSL option set\&. |
| .RE |
| .SH "CONFIGURATION" |
| .sp |
| To use the tool, imap\&.folder and either imap\&.tunnel or imap\&.host must be set to appropriate values\&. |
| .SS "Variables" |
| .PP |
| imap\&.folder |
| .RS 4 |
| The folder to drop the mails into, which is typically the Drafts folder\&. For example: "INBOX\&.Drafts", "INBOX/Drafts" or "[Gmail]/Drafts"\&. Required\&. |
| .RE |
| .PP |
| imap\&.tunnel |
| .RS 4 |
| Command used to setup a tunnel to the IMAP server through which commands will be piped instead of using a direct network connection to the server\&. Required when imap\&.host is not set\&. |
| .RE |
| .PP |
| imap\&.host |
| .RS 4 |
| A URL identifying the server\&. Use an |
| \fBimap://\fR |
| prefix for non\-secure connections and an |
| \fBimaps://\fR |
| prefix for secure connections\&. Ignored when imap\&.tunnel is set, but required otherwise\&. |
| .RE |
| .PP |
| imap\&.user |
| .RS 4 |
| The username to use when logging in to the server\&. |
| .RE |
| .PP |
| imap\&.pass |
| .RS 4 |
| The password to use when logging in to the server\&. |
| .RE |
| .PP |
| imap\&.port |
| .RS 4 |
| An integer port number to connect to on the server\&. Defaults to 143 for imap:// hosts and 993 for imaps:// hosts\&. Ignored when imap\&.tunnel is set\&. |
| .RE |
| .PP |
| imap\&.sslverify |
| .RS 4 |
| A boolean to enable/disable verification of the server certificate used by the SSL/TLS connection\&. Default is |
| \fBtrue\fR\&. Ignored when imap\&.tunnel is set\&. |
| .RE |
| .PP |
| imap\&.preformattedHTML |
| .RS 4 |
| A boolean to enable/disable the use of html encoding when sending a patch\&. An html encoded patch will be bracketed with <pre> and have a content type of text/html\&. Ironically, enabling this option causes Thunderbird to send the patch as a plain/text, format=fixed email\&. Default is |
| \fBfalse\fR\&. |
| .RE |
| .PP |
| imap\&.authMethod |
| .RS 4 |
| Specify authenticate method for authentication with IMAP server\&. If Git was built with the NO_CURL option, or if your curl version is older than 7\&.34\&.0, or if you\(cqre running git\-imap\-send with the |
| \fB\-\-no\-curl\fR |
| option, the only supported method is |
| \fICRAM\-MD5\fR\&. If this is not set then |
| \fIgit imap\-send\fR |
| uses the basic IMAP plaintext LOGIN command\&. |
| .RE |
| .SS "Examples" |
| .sp |
| Using tunnel mode: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| [imap] |
| folder = "INBOX\&.Drafts" |
| tunnel = "ssh \-q \-C user@example\&.com /usr/bin/imapd \&./Maildir 2> /dev/null" |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| Using direct mode: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| [imap] |
| folder = "INBOX\&.Drafts" |
| host = imap://imap\&.example\&.com |
| user = bob |
| pass = p4ssw0rd |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| Using direct mode with SSL: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| [imap] |
| folder = "INBOX\&.Drafts" |
| host = imaps://imap\&.example\&.com |
| user = bob |
| pass = p4ssw0rd |
| port = 123 |
| sslverify = false |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SH "EXAMPLES" |
| .sp |
| To submit patches using GMail\(cqs IMAP interface, first, edit your ~/\&.gitconfig to specify your account settings: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| [imap] |
| folder = "[Gmail]/Drafts" |
| host = imaps://imap\&.gmail\&.com |
| user = user@gmail\&.com |
| port = 993 |
| sslverify = false |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| .sp |
| You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error that the "Folder doesn\(cqt exist"\&. |
| .sp |
| Once the commits are ready to be sent, run the following command: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| $ git format\-patch \-\-cover\-letter \-M \-\-stdout origin/master | git imap\-send |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| Just make sure to disable line wrapping in the email client (GMail\(cqs web interface will wrap lines no matter what, so you need to use a real IMAP client)\&. |
| .SH "CAUTION" |
| .sp |
| It is still your responsibility to make sure that the email message sent by your email program meets the standards of your project\&. Many projects do not like patches to be attached\&. Some mail agents will transform patches (e\&.g\&. wrap lines, send them as format=flowed) in ways that make them fail\&. You will get angry flames ridiculing you if you don\(cqt check this\&. |
| .sp |
| Thunderbird in particular is known to be problematic\&. Thunderbird users may wish to visit this web page for more information: \m[blue]\fBhttp://kb\&.mozillazine\&.org/Plain_text_e\-mail_\-_Thunderbird#Completely_plain_email\fR\m[] |
| .SH "SEE ALSO" |
| .sp |
| \fBgit-format-patch\fR(1), \fBgit-send-email\fR(1), mbox(5) |
| .SH "GIT" |
| .sp |
| Part of the \fBgit\fR(1) suite |