You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
4.8 KiB
183 lines
4.8 KiB
git-imap-send(1) |
|
================ |
|
|
|
NAME |
|
---- |
|
git-imap-send - Send a collection of patches from stdin to an IMAP folder |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
'git imap-send' [-v] [-q] [--[no-]curl] |
|
|
|
|
|
DESCRIPTION |
|
----------- |
|
This command uploads a mailbox generated with 'git format-patch' |
|
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. |
|
|
|
Typical usage is something like: |
|
|
|
git format-patch --signoff --stdout --attach origin | git imap-send |
|
|
|
|
|
OPTIONS |
|
------- |
|
|
|
-v:: |
|
--verbose:: |
|
Be verbose. |
|
|
|
-q:: |
|
--quiet:: |
|
Be quiet. |
|
|
|
--curl:: |
|
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. |
|
|
|
--no-curl:: |
|
Talk to the IMAP server using git's own IMAP routines instead of |
|
using libcurl. Ignored if Git was built with the NO_OPENSSL option |
|
set. |
|
|
|
|
|
CONFIGURATION |
|
------------- |
|
|
|
To use the tool, imap.folder and either imap.tunnel or imap.host must be set |
|
to appropriate values. |
|
|
|
Variables |
|
~~~~~~~~~ |
|
|
|
imap.folder:: |
|
The folder to drop the mails into, which is typically the Drafts |
|
folder. For example: "INBOX.Drafts", "INBOX/Drafts" or |
|
"[Gmail]/Drafts". Required. |
|
|
|
imap.tunnel:: |
|
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. |
|
|
|
imap.host:: |
|
A URL identifying the server. Use a `imap://` prefix for non-secure |
|
connections and a `imaps://` prefix for secure connections. |
|
Ignored when imap.tunnel is set, but required otherwise. |
|
|
|
imap.user:: |
|
The username to use when logging in to the server. |
|
|
|
imap.pass:: |
|
The password to use when logging in to the server. |
|
|
|
imap.port:: |
|
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. |
|
|
|
imap.sslverify:: |
|
A boolean to enable/disable verification of the server certificate |
|
used by the SSL/TLS connection. Default is `true`. Ignored when |
|
imap.tunnel is set. |
|
|
|
imap.preformattedHTML:: |
|
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 `false`. |
|
|
|
imap.authMethod:: |
|
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're running git-imap-send with the `--no-curl` |
|
option, the only supported method is 'CRAM-MD5'. If this is not set |
|
then 'git imap-send' uses the basic IMAP plaintext LOGIN command. |
|
|
|
Examples |
|
~~~~~~~~ |
|
|
|
Using tunnel mode: |
|
|
|
.......................... |
|
[imap] |
|
folder = "INBOX.Drafts" |
|
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null" |
|
.......................... |
|
|
|
Using direct mode: |
|
|
|
......................... |
|
[imap] |
|
folder = "INBOX.Drafts" |
|
host = imap://imap.example.com |
|
user = bob |
|
pass = p4ssw0rd |
|
......................... |
|
|
|
Using direct mode with SSL: |
|
|
|
......................... |
|
[imap] |
|
folder = "INBOX.Drafts" |
|
host = imaps://imap.example.com |
|
user = bob |
|
pass = p4ssw0rd |
|
port = 123 |
|
sslverify = false |
|
......................... |
|
|
|
|
|
EXAMPLE |
|
------- |
|
To submit patches using GMail's IMAP interface, first, edit your ~/.gitconfig |
|
to specify your account settings: |
|
|
|
--------- |
|
[imap] |
|
folder = "[Gmail]/Drafts" |
|
host = imaps://imap.gmail.com |
|
user = user@gmail.com |
|
port = 993 |
|
sslverify = false |
|
--------- |
|
|
|
You might need to instead use: folder = "[Google Mail]/Drafts" if you get an error |
|
that the "Folder doesn't exist". |
|
|
|
Once the commits are ready to be sent, run the following command: |
|
|
|
$ git format-patch --cover-letter -M --stdout origin/master | git imap-send |
|
|
|
Just make sure to disable line wrapping in the email client (GMail's web |
|
interface will wrap lines no matter what, so you need to use a real |
|
IMAP client). |
|
|
|
CAUTION |
|
------- |
|
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't check this. |
|
|
|
Thunderbird in particular is known to be problematic. Thunderbird |
|
users may wish to visit this web page for more information: |
|
http://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email |
|
|
|
SEE ALSO |
|
-------- |
|
linkgit:git-format-patch[1], linkgit:git-send-email[1], mbox(5) |
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|