SYNOPSIS
'git imap-send' [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>]
'git imap-send' --list
DESCRIPTION
このコマンドは、 git format-patch で生成された mailbox を IMAP ドラフトフォルダーにアップロードします。これにより、mailbox ファイルを直接読み取れないメールクライアントを使用している場合でも、他のメールと同様にパッチを送信できます。このコマンドは、電子メールのフィールドが From、Date、Subject の順で並んでいる一般的な mailbox でも動作します。
一般的な使用法は以下のようになります:
$ git format-patch --signoff --stdout --attach origin | git imap-send
OPTIONS
-
-v -
--verbose -
にぎやかにしろや。
-
-q -
--quiet -
静かにしろや。
-
-f<folder> -
--folder=<folder> -
電子メールを保存する必要があるフォルダーを指定します。たとえば
--folder=[Gmail]/Draftsや-fINBOX/Draftsです。 -
--curl -
トンネリングしない限り、libcurl を使用してIMAPサーバーと通信します。Gitが USE_CURL_FOR_IMAP_SEND オプションを設定せずにビルドされた場合は無視されます。
-
--no-curl -
libcurl を使用する代わりに、git独自のIMAPルーチンを使用してIMAPサーバーと通信します。Gitが NO_OPENSSL オプションを設定してビルドされた場合は無視されます。
-
--list -
IMAP の LIST コマンドを実行し、存在するすべてのフォルダーの一覧を出力します。
CONFIGURATION
このツールを使用するには、 imap.folder と、 imap.tunnel または imap.host のいずれかを、適切な値に設定する必要があります。
このセクションのこの行より上にあるものはすべて、 git-config(1) ドキュメントには含まれていません。 以下の内容に関しては、git-config(1) ドキュメント にあるものと同一です。
- imap.folder
-
メールを投入するフォルダーで、 通常は下書き(Drafts)フォルダーです。 例えば:
INBOX.Drafts,INBOX/Drafts, [Gmail]/Draftsです。 IMAP で操作するフォルダーは必ず指定する必要があります。 この設定変数の値は、--folderオプションが指定されていない場合のフォールバックのデフォルト値として使用されます。 - imap.tunnel
-
サーバーへ直接ネットワーク接続する代わりに、 コマンドがパイプされるIMAPサーバーへのトンネルを設定するために使用されるコマンド。 imap.host が設定されていない場合に必須です。
- imap.host
-
サーバーを識別するURL。 非セキュア接続には
imap://プレフィックスを使用し、セキュア接続にはimaps://プレフィックスを使用します。 imap.tunnel が設定されている場合は無視されますが、それ以外の場合は必須です。 - imap.user
-
サーバーにログインするときに使用するユーザー名。
- imap.pass
-
サーバーにログインするときに使用するパスワード。
- imap.port
-
サーバー上で接続する整数のポート番号。 デフォルトは、 imap:// ホストの場合は143、 imaps:// ホストの場合は993です。 imap.tunnel が設定されている場合は無視されます。
- imap.sslverify
-
SSL/TLS接続で使用されるサーバー証明書の検証を有効/無効にするブール値。デフォルトは
trueです。 imap.tunnel が設定されている場合は無視されます。 - imap.preformattedHTML
-
パッチを送信するときにhtmlエンコーディングの使用を有効/無効にするブール値。 htmlでエンコードされたパッチは <pre> で囲まれ、コンテンツタイプは text/html になります。皮肉なことに、このオプションを有効にすると、Thunderbirdはパッチを plane/text の format=fixed メールとして送信します。デフォルトは
falseです。 - imap.authMethod
-
IMAP サーバーとの認証に使用する認証方式を指定します。 Git が NO_CURL オプション付きでビルドされている場合、 または curl のバージョンが 7.34.0 未満の場合、 または git-imap-send を
--no-curlオプション付きで実行している場合、 サポートされる方式はPLAINとCRAM-MD5とOAUTHBEARERとXOAUTH2のみです。 この設定がされていない場合、gitimap-sendは基本的な IMAP 平文のLOGINコマンド(the basic IMAP plaintextLOGINcommand)を使用します。
GETTING A LIST OF AVAILABLE FOLDERS
特定のフォルダーに電子メールを送信するには、mailbox 内で意図したフォルダーの正しい名前を知る必要があります。さまざまなメールクライアントで表示される "Junk" や "Trash" などの名前は、メールプロバイダーのメールサーバーに保存されているフォルダーの実際の名前と一致するとは限りません。
git imap-send で使用する正しいフォルダー名を得るには、git imap-send --list を実行できます。これにより、有効なフォルダー名の一覧が表示されます。Gmail アカウントで実行した場合の出力例は以下のとおりです:
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\HasChildren \Noselect) "/" "[Gmail]"
* LIST (\All \HasNoChildren) "/" "[Gmail]/All Mail"
* LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Drafts"
* LIST (\HasNoChildren \Important) "/" "[Gmail]/Important"
* LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail"
* LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam"
* LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Starred"
* LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"
ここでは、"Junk" フォルダーの正しい名前が [Gmail]/Spam であり、"Trash" フォルダーの正しい名前が [Gmail]/Trash であることが分かります。同様の考え方で、他のフォルダーも判断できます。
EXAMPLES
トンネル(tunnel)モード使用:
[imap]
folder = "INBOX.Drafts"
tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"
直接(direct)モード使用:
[imap]
folder = "INBOX.Drafts"
host = imap://imap.example.com
user = bob
pass = p4ssw0rd
SSLで直接モードを使用:
[imap]
folder = "INBOX.Drafts"
host = imaps://imap.example.com
user = bob
pass = p4ssw0rd
port = 123
; sslVerify = false
|
Note
|
接続の問題が、セットアップしようとしている(またはセットアップ済の)プライベートサーバー example.com で使用している証明書が正しく検証されていないことが原因であると思われる場合、トラブルシューティング中に sslVerify=false を使用することをお勧めします。 |
GmailのIMAPインターフェースの使用:
[imap]
folder = "[Gmail]/Drafts"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
Gmail では、git imap-send に通常のパスワードを使用できません。Gmail アカウントで多要素認証を設定している場合は、git imap-send で使用するアプリ固有のパスワードを生成できます。作成するには https://security.google.com/settings/security/apppasswords を参照してください。あるいは、以下で説明する OAuth2.0 認証を使用してください。
|
Note
|
"Folder doesn’t exist" というエラーが出た場合は、代わりに folder = "[Google Mail]/Drafts" を使用する必要があるかもしれません。利用可能なフォルダーの一覧を取得するには、git imap-send --list を実行することもできます。 |
|
Note
|
Gmailアカウントが英語以外の言語に設定されている場合、 "Drafts" フォルダの名前がローカライズされます。 |
OAuth2.0 ベースの認証を使用したい場合は、設定で OAUTHBEARER または XOAUTH2 のメカニズムを指定できます。これはアプリ固有のパスワードを使うよりも安全であり、多要素認証を必須にもしません。この認証を使用する場合、パスワードの代わりに OAuth2.0 アクセス・トークンを使用する必要があります。
[imap]
folder = "[Gmail]/Drafts"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993
authmethod = OAUTHBEARER
Outlook の IMAP インターフェイスを使用する場合:
Gmail とは異なり、Outlook は OAuth2.0 ベースの認証のみをサポートします。また、メカニズムとしては XOAUTH2 のみをサポートします。
[imap]
folder = "Drafts"
host = imaps://outlook.office365.com
user = user@outlook.com
port = 993
authmethod = XOAUTH2
コミットを送信する準備ができたら、以下のコマンドを実行します:
$ git format-patch --cover-letter -M --stdout origin/master | git imap-send
メールクライアントで行の折り返しを無効にしてください(GmailのWebインターフェイスは何があっても行を折り返すため、実際のIMAPクライアント(real IMAP client)を使用する必要があります)。
OAuth2.0 認証を使用している場合は、認証情報ヘルパーを使ってトークンを生成するほうが簡単です。git-send-email(1) で提案されている認証情報ヘルパーは、git imap-send にも使用できます。
CAUTION
電子メールプログラムによって送信される電子メールメッセージがプロジェクトの基準を満たしていることを確認するのは、依然としてあなたの責任です。多くのプロジェクトは、パッチを電子メールに添付することを好みません。一部のメールエージェントは、パッチを失敗させる方法でパッチを変換します(たとえば、行を折り返し、format=flowed として送信します)。これをチェックしておかないと、怒りの炎があなたを襲います。
特に Thunderbird は問題があることが知られています。 Thunderbird のユーザーは下記Webページにアクセスして詳細を確認できます: https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
SEE ALSO
git-format-patch(1), git-send-email(1), mbox(5)
GIT
Part of the git(1) suite