Merge branch 'rs/imap'
* rs/imap: Documentation: Improve documentation for git-imap-send(1) imap-send.c: more style fixes imap-send.c: style fixes git-imap-send: Support SSL git-imap-send: Allow the program to be run from subdirectories of a git treemaint
commit
c8a4cbc239
|
@ -3,7 +3,7 @@ git-imap-send(1)
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-imap-send - Dump a mailbox from stdin into an imap folder
|
git-imap-send - Send a collection of patches from stdin to an IMAP folder
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
|
@ -13,9 +13,9 @@ SYNOPSIS
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This command uploads a mailbox generated with git-format-patch
|
This command uploads a mailbox generated with 'git-format-patch'
|
||||||
into an imap drafts folder. This allows patches to be sent as
|
into an IMAP drafts folder. This allows patches to be sent as
|
||||||
other email is sent with mail clients that cannot read mailbox
|
other email is when using mail clients that cannot read mailbox
|
||||||
files directly.
|
files directly.
|
||||||
|
|
||||||
Typical usage is something like:
|
Typical usage is something like:
|
||||||
|
@ -26,21 +26,75 @@ git format-patch --signoff --stdout --attach origin | git imap-send
|
||||||
CONFIGURATION
|
CONFIGURATION
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
'git-imap-send' requires the following values in the repository
|
To use the tool, imap.folder and either imap.tunnel or imap.host must be set
|
||||||
configuration file (shown with examples):
|
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 to use imap-send.
|
||||||
|
|
||||||
|
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 to use imap-send.
|
||||||
|
|
||||||
|
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 to use imap-send
|
||||||
|
otherwise.
|
||||||
|
|
||||||
|
imap.user::
|
||||||
|
The username to use when logging in to the server.
|
||||||
|
|
||||||
|
imap.password::
|
||||||
|
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.
|
||||||
|
|
||||||
|
Examples
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
Using tunnel mode:
|
||||||
|
|
||||||
..........................
|
..........................
|
||||||
[imap]
|
[imap]
|
||||||
Folder = "INBOX.Drafts"
|
folder = "INBOX.Drafts"
|
||||||
|
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
|
||||||
|
..........................
|
||||||
|
|
||||||
[imap]
|
Using direct mode:
|
||||||
Tunnel = "ssh -q user@server.com /usr/bin/imapd ./Maildir 2> /dev/null"
|
|
||||||
|
|
||||||
|
.........................
|
||||||
[imap]
|
[imap]
|
||||||
Host = imap.server.com
|
folder = "INBOX.Drafts"
|
||||||
User = bob
|
host = imap://imap.example.com
|
||||||
Pass = pwd
|
user = bob
|
||||||
Port = 143
|
pass = p4ssw0rd
|
||||||
|
..........................
|
||||||
|
|
||||||
|
Using direct mode with SSL:
|
||||||
|
|
||||||
|
.........................
|
||||||
|
[imap]
|
||||||
|
folder = "INBOX.Drafts"
|
||||||
|
host = imaps://imap.example.com
|
||||||
|
user = bob
|
||||||
|
pass = p4ssw0rd
|
||||||
|
port = 123
|
||||||
|
sslverify = false
|
||||||
..........................
|
..........................
|
||||||
|
|
||||||
|
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -1222,7 +1222,9 @@ endif
|
||||||
git-%$X: %.o $(GITLIBS)
|
git-%$X: %.o $(GITLIBS)
|
||||||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
|
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
|
||||||
|
|
||||||
git-imap-send$X: imap-send.o $(LIB_FILE)
|
git-imap-send$X: imap-send.o $(GITLIBS)
|
||||||
|
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
||||||
|
$(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL)
|
||||||
|
|
||||||
http.o http-walker.o http-push.o transport.o: http.h
|
http.o http-walker.o http-push.o transport.o: http.h
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,11 @@
|
||||||
#include <iconv.h>
|
#include <iconv.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef NO_OPENSSL
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* On most systems <limits.h> would have given us this, but
|
/* On most systems <limits.h> would have given us this, but
|
||||||
* not on some systems (e.g. GNU/Hurd).
|
* not on some systems (e.g. GNU/Hurd).
|
||||||
*/
|
*/
|
||||||
|
|
922
imap-send.c
922
imap-send.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue