git-imap-send.1 (7513B)
- '\" t
- .\" Title: git-imap-send
- .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
- .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/>
- .\" Date: 2025-03-14
- .\" Manual: Git Manual
- .\" Source: Git 2.49.0
- .\" Language: English
- .\"
- .TH "GIT\-IMAP\-SEND" "1" "2025-03-14" "Git 2\&.49\&.0" "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
- .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\fR \fB=\fR "[\fBGoogle\fR \fBMail\fR]\fB/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