'\" t
.\"     Title: git-imap-send
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 2024-04-25
.\"    Manual: Git Manual
.\"    Source: Git 2.45.0.rc1.8.ge326e52010
.\"  Language: English
.\"
.TH "GIT\-IMAP\-SEND" "1" "2024\-04\-25" "Git 2\&.45\&.0\&.rc1\&.8\&.ge3" "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, \fBimap\&.folder\fR and either \fBimap\&.tunnel\fR or \fBimap\&.host\fR must be set to appropriate values\&.
.sp
Everything above this line in this section isn\(cqt included from the \fBgit-config\fR(1) documentation\&. The content that follows is the same as what\(cqs found there:
.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 set up 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 the authentication method for authenticating with the 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
.SH "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
.\}
.sp
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.sp
You may want to use \fBsslVerify=false\fR while troubleshooting, if you suspect that the reason you are having trouble connecting is because the certificate you use at the private server \fBexample\&.com\fR you are trying to set up (or have set up) may not be verified correctly\&.
.sp .5v
.RE
.sp
Using Gmail\(cqs IMAP interface:
.sp
.if n \{\
.RS 4
.\}
.nf
[imap]
        folder = "[Gmail]/Drafts"
        host = imaps://imap\&.gmail\&.com
        user = user@gmail\&.com
        port = 993
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.sp
You might need to instead use: \fBfolder = "[Google Mail]/Drafts"\fR if you get an error that the "Folder doesn\(cqt exist"\&.
.sp .5v
.RE
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.sp
If your Gmail account is set to another language than English, the name of the "Drafts" folder will be localized\&.
.sp .5v
.RE
.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]\fBhttps://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
