SYNOPSIS
'git send-email' [<options>] (<file>|<directory>)...
'git send-email' [<options>] <format-patch-options>
'git send-email' --dump-aliases
'git send-email' --translate-aliases
DESCRIPTION
コマンドラインで指定されたパッチを取得し、電子メールで送信します。 パッチは、ファイルまたは、ディレクトリ(ディレクトリ内のすべてのファイルを送信します)または、リビジョンリストとして直接指定できます。 上記SYNOPSISの最後のケースでは、git-format-patch(1) によって受け入れられる任意のフォーマットと、git-format-patch(1) によって理解されるオプションを「git send-email」に渡すことができます。
電子メールのヘッダーは、コマンドラインオプションを使用して構成できます。 コマンドラインで指定されていない場合、ReadLine対応のインターフェイスでユーザーが必要な情報を提供するためのプロンプトが表示されます。
パッチファイルに使用できる形式は2つあります:
-
mbox形式ファイル
これは、 git-format-patch(1) が生成するものです。 ほとんどのヘッダーとMIMEフォーマットは無視されます。
-
Greg Kroah-Hartman の
send_lots_of_email.plスクリプトで使用されたオリジナル形式この形式では、ファイルの1行目に「Cc:」値が含まれ、2行目としてメッセージの「Subject:」が含まれている必要があります。
OPTIONS
電子メール作成
-
--annotate -
送信しようとしている各パッチを確認して編集します。 デフォルトは
sendemail.annotateの値です。 `sendemail.multiEdit`の「CONFIGURATION」セクションを参照してください。 -
--bcc=<address>,... -
メールごとに「Bcc:」の値を指定します。 デフォルトは
sendemail.bccの値です。このオプションは複数回指定できます。
-
--cc=<address>,... -
各電子メールの開始「Cc:」値(starting "Cc:" value)を指定します。 デフォルトは
sendemail.ccの値です。このオプションは複数回指定できます。
-
--compose -
テキストエディタ(git-var(1)の GIT_EDITOR 参照)を呼び出して、パッチシリーズの紹介メッセージ(introductory message)を編集します。
--composeが使用される場合、gitsend-emailはメッセージ内で指定されたFrom,To,Cc,Bcc,Subject,Reply-To,In-Reply-Toヘッダーを使用します。 メッセージの本文(ヘッダーと空行の後にあなたが入力する内容)が、 空行(またはGit:で始まる行)のみを含む場合、 サマリーは送信されませんが、 上記のヘッダーは削除されない限り使用されます。FromヘッダーまたはIn-Reply-Toヘッダーが無い場合は、入力を促すプロンプトが表示されます。sendemail.multiEditの「CONFIGURATION」セクションを参照してください。 -
--from=<address> -
電子メールの送信者(sender)を指定します。 コマンドラインで指定されていない場合は、
sendemail.from構成オプションの値が使用されます。 コマンドラインオプションもsendemail.fromも設定されていない場合、ユーザーは値の入力を求められます。 そのプロンプトのデフォルトは、gitvar-lによって返される、GIT_AUTHOR_IDENTの値、または、GIT_AUTHOR_IDENTが設定されていない場合はGIT_COMMITTER_IDENTの値になります。 -
--reply-to=<address> -
受信者からの返信先(reply)のアドレスを指定します。 メッセージへの応答(reply)が
--fromパラメーターで指定されたものとは別のアドレスに送信される必要がある場合は、これを使用します。 -
--in-reply-to=<identifier> -
最初のメール(または
--no-thread指定の全てのメール)を、指定の Message-ID への応答(reply)として表示します。これにより、スレッドが壊れて新しいパッチシリーズが提供されるのを防ぎます。 2回目以降のメールは、--[no-]chain-reply-to設定に従って返信(reply)として送信されます。そのため、例えば
--threadと--no-chain-reply-toを指定すると、以下のように [PATCHv20/3] が [PATCH0/2] に対する返信になるように、2番目以降のパッチは最初のパッチへの返信になります:[PATCH 0/2] Here is what I did... [PATCH 1/2] Clean up and tests [PATCH 2/2] Implementation [PATCH v2 0/3] Here is a reroll [PATCH v2 1/3] Clean up [PATCH v2 2/3] New tests [PATCH v2 3/3] Implementation--composeも設定されている場合のみ必要です。--composeが設定されていない場合は、プロンプトが表示されます。 -
--outlook-id-fix -
--no-outlook-id-fix -
Microsoft Outlook の SMTP サーバーは、電子メールで送信された Message-ID を破棄して新しいランダムな Message-ID を割り当てるため、スレッドが壊れます。
--outlook-id-fixを指定すると、gitsend-emailは Outlook サーバー固有の仕組みを使って、サーバーが割り当てた Message-ID を取得し、スレッドを修正します。サーバーが書き換えた Message-ID を Outlook サーバーと同じ方法で報告することが分かっている場合にのみ使用してください。このオプションを指定しない場合でも、smtp.office365.com または smtp-mail.outlook.com と通信するときはデフォルトで修正が行われます。これら 2 つのサーバーと通信するときも無効にするには
--no-outlook-id-fixを使用してください。 -
--subject=<string> -
メールスレッドの最初の件名を指定します。
--composeも設定されている場合にのみ必要です。--composeが設定されていない場合、これはプロンプトが表示されます。 -
--to=<address>,... -
生成された電子メールの主な受信者(primary recipient)を指定します。 通常、これは関連するプロジェクトの上流のメンテナになります。 デフォルトは、
sendemail.to構成値の値です。 それが指定されておらず、--to-cmdが指定されていない場合、プロンプトが表示されます。このオプションは複数回指定できます。
-
--8bit-encoding=<encoding> -
エンコードを宣言していない非ASCIIメッセージまたは件名に遭遇した場合は、 ヘッダー/引用符 を追加して、<encoding>でエンコードされていることを示します。 デフォルトは
sendemail.assume8bitEncodingの値です。 それが指定されていない場合に非ASCIIファイルが検出された場合はプロンプトが表示されます。注意:エンコーディングを検証する試みは一切行われないことに注意してください。
-
--compose-encoding=<encoding> -
作成するッセージのエンコードを指定します。 デフォルトは
sendemail.composeEncodingの値です。 それが指定されていない場合は、UTF-8 を想定します。 -
--transfer-encoding=(7bit|8bit|quoted-printable|base64|auto) -
SMTP経由でメッセージを送信するために使用する転送エンコーディングを指定します。 非ASCIIメッセージに遭遇すると、
7bitは失敗します。quoted-printableは、リポジトリにキャリッジリターンを含むファイルが含まれている場合に役立ちますが、生のパッチ電子メールファイル(MUAで保存されたもの)を手動で検査するのがとても難しくなります。base64はさらに確実ですが、さらに不透明です。autoは、可能な場合は8bitを使用し、それ以外の場合はquoted-printableを使用します。デフォルトは、
sendemail.transferEncoding構成値です。 それが指定されていない場合、デフォルトはautoです。 -
--xmailer -
--no-xmailer -
X-Mailer:ヘッダーを追加(または追加を防止)します。 デフォルトでは追加されますが、sendemail.xmailer構成変数をfalseに設定することでオフにできます。
電子メール送信
-
--envelope-sender=<address> -
メールの送信に使用するエンベロープ(envelope)の送信者を指定します。 これは、デフォルトのメールアドレスがメーリングリストに申し込まれているメールアドレスではない場合に役立ちます。
Fromアドレスを使用するには、値をautoに設定します。 sendmailバイナリを使用する場合は、-fパラメータに適切な権限が必要です。 デフォルトは、sendemail.envelopeSender構成変数の値です。 それが指定されていない場合、エンベロープ送信者の選択はMTAに任されています。 -
--sendmail-cmd=<command> -
電子メールを送信するために実行するコマンドを指定します。 コマンドはsendmailのようなものでなければなりません。 具体的には、
-iオプションをサポートする必要があります。 コマンドは、必要に応じてシェルで実行されます。 デフォルトはsendemail.sendmailCmd構成の値です。sendemail.sendmailCmd構成の値が指定されていない場合、かつ、--smtp-serverも指定されていない場合、git-send-emailは/usr/sbinと/usr/libと$PATHでsendmailを検索します。 -
--smtp-encryption=<encryption> -
SMTP 接続の暗号化を開始する方法を指定します。有効な値は
sslとtlsです。その他の値はプレーン(暗号化されていない) SMTP に戻り、デフォルトはポート 25 になります。sslとtlsという名前に関係なく、どちらの値も同じ新しいバージョンの TLS を使用しますが、歴史的な理由からこれらの名前が付けられています。sslとは「暗黙的」暗号化 (しばしば SMTPS とも呼ばれる)を指し、デフォルトでポート 465 を使用します。tlsとは、デフォルトでポート 25 を使用する「明示的」暗号化(しばしば STARTTLS と呼ばれる)を指します。 SMTP サーバーでは他のポートが使用される場合がありますが、これはデフォルトではありません。一般的にTLSおよび暗号化されていない代替ポートは 587 です。プロバイダーのドキュメントまたはサーバー構成を確認して、自分の場合にに当てはまるかどうかを確認する必要があります。 デフォルトはsendemail.smtpEncryptionの値です。 -
--smtp-domain=<FQDN> -
SMTPサーバーへの HELO/EHLO コマンドで使用される完全修飾ドメイン名(FQDN)を指定します。 一部のサーバーでは、FQDNがIPアドレスと一致する必要があります。 設定されていない場合、
gitsend-emailはFQDNを自動的に判別しようとします。 デフォルトはsendemail.smtpDomainの値です。 -
--smtp-auth=<mechanisms> -
許可されたSMTP-AUTHメカニズムの空白で区切られた(Whitespace-separated)リスト。 この設定は、リストされたメカニズムのみを使用するように強制します。 例:
$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...指定されたメカニズムの少なくとも1つがSMTPサーバによって宣伝(advertise)されたメカニズムと一致し、利用されるSASLライブラリによってサポートされている場合、そのメカニズムが認証に使用されます。
sendemail.smtpAuthと--smtp-authのどちらも指定されない場合、SASL ライブラリでサポートされているすべてのメカニズムが使用される可能性があります。 特別な値としてnoneを指定すると、--smtp-userと独立して認証を完全に無効にすることができます。 -
--smtp-pass[=<password>] -
SMTP-AUTHのパスワード。 引数はオプションです。引数が指定されていない場合は、空の文字列がパスワードとして使用されます。 デフォルトは
sendemail.smtpPassの値ですが、--smtp-passは常にsendemail.smtpPassの値を上書きします。さらに、パスワードを設定ファイルやコマンドラインで指定する必要はありません。ユーザー名が(
--smtp-userまたはsendemail.smtpUserで)指定されている一方で、パスワードが(--smtp-passまたはsendemail.smtpPassで)指定されていない場合は、git-credential(1) を使ってパスワードを取得します。 -
--no-smtp-auth -
SMTP認証を無効にします。
--smtp-auth=noneの省略形 -
--smtp-server=<host> -
設定されている場合、使用する送信SMTPサーバを指定します(例:
smtp.example.comまたは生のIPアドレス)。 これが未指定の場合で、かつ、--sendmail-cmdも未指定の場合、デフォルトでは/usr/sbinと/usr/libと$PATHにあるsendmailを探します。それが存在しなければlocalhostにフォールバックされます。下位互換性のために、このオプションでは、代わりにsendmailのようなプログラムの絶対パス名を指定することもできます。 プログラムは
-iオプションをサポートする必要があります。 このメソッドは、引数の受け渡しや平文コマンド名の使用をサポートしていません。 これらの場合には、代わりに--sendmail-cmdの使用を検討してください。 -
--smtp-server-port=<port> -
デフォルトのポートとは異なるポートを指定します(SMTP サーバーは通常 smtp ポート 25 をリッスンしますが、submission ポート 587 や、一般的な SSL smtp ポート 465 をリッスンする場合もあります)。シンボリックなポート名(例: 587 の代わりに
submission)も受け付けます。ポートはsendemail.smtpServerPort設定変数でも設定できます。 -
--smtp-server-option=<option> -
設定されている場合、使用する送信SMTPサーバーオプションを指定します。 デフォルト値は、
sendemail.smtpServerOption構成オプションで指定できます。--smtp-server-optionオプションは、サーバーに渡したいオプションごとに繰り返し指定する必要があります。同様に、設定ファイルでもオプションごとに別の行を使用する必要があります。 -
--smtp-ssl -
--smtp-encryptionsslのレガシーなエイリアスです。 -
--smtp-ssl-cert-path -
SMTP SSL/TLS 証明書検証のための、信頼された CA 証明書ストアへのパスです(
c_rehashによって処理されたディレクトリ、または 1 つ以上の PEM 形式証明書を連結した単一ファイル。これらについての詳細は https://docs.openssl.org/master/man1/openssl-verify/ [OpenSSL の verify(1) マニュアルページ] の-CAfile<file> および-CApath<dir> オプションの説明を参照してください)。証明書検証を無効にするには空文字列を設定します。デフォルトは、設定されていればsendemail.smtpSSLCertPath設定変数の値、そうでなければ基盤となる SSL ライブラリにコンパイル時に組み込まれたデフォルト値です(ほとんどのプラットフォームで最良の選択になるはずです)。 -
--smtp-user=<user> -
SMTP-AUTHのユーザー名。 デフォルトは
sendemail.smtpUserの値です。 (--smtp-userまたはsendemail.smtpUserで)ユーザー名が指定されていない場合、認証は試行されません。 -
--smtp-debug=(0|1) -
デバッグ出力を有効(1)または無効(0)にします。 有効にすると、SMTPコマンドとその応答が出力されます。 TLS接続と認証の問題をデバッグするのに役立ちます。
-
--imap-sent-folder=<folder> -
一部のメールプロバイダー(例: iCloud)では、SMTP を使って送信したメールのコピーが、メールボックス内の
Sentフォルダーなどに保存されません。このオプションを使うと、gitimap-sendを使って、指定したフォルダーへメールのコピーを送信します。gitimap-send--listを実行すると、メールボックス内のSentフォルダーの正しい名前を含む、有効なフォルダー名の一覧を取得できます。また、このオプションを使って、任意の専用 IMAP フォルダーへメールを送ることもできます。この機能を使うには
gitimap-sendの設定が必要です。手順は git-imap-send(1) を参照してください。 -
--use-imap-only -
--no-use-imap-only -
これを設定すると、すべてのメールは
--imap-sent-folderまたはsendemail.imapSentFolderで指定した IMAP フォルダーにのみコピーされ、受信者には送信されません。メールの下書きだけを作成し、別のメールクライアントを使って送信したい場合に便利です。--no-use-imap-onlyで無効にすると、メールは通常どおり送信されます。デフォルトでは無効ですが、sendemail.useImapOnly設定変数を使って有効にできます。
+
この機能を使うには git imap-send の設定が必要です。手順は git-imap-send(1) を参照してください。
-
--batch-size=<num> -
一部のメールサーバー(例: smtp.163.com)は、セッション(接続)あたりに送信できるメール数を制限しており、多数のメッセージを送ると失敗することがあります。このオプションを使うと、send-email は <num> 通送信した後に切断し、数秒待って(
--relogin-delayを参照)再接続することで、この制限を回避します。これが起きるたびにパスワードを再入力しなくて済むよう、何らかのクレデンシャルヘルパーを使うとよいでしょう。デフォルトはsendemail.smtpBatchSize設定変数です。 -
--relogin-delay=<int> -
SMTP サーバーへ再接続する前に <int> 秒待機します。
--batch-sizeオプションと併せて使用します。デフォルトはsendemail.smtpReloginDelay設定変数です。
自動化
-
--no-to -
--no-cc -
--no-bcc -
設定で以前に指定した
To:、Cc:、Bcc:アドレスのリストをすべてクリアします。 -
--no-identity -
configで設定された
sendemail.identityから読み取られた値があるならば、その値をクリアします。 -
--to-cmd=<command> -
パッチファイルごとに 1 回実行するコマンドを指定し、パッチファイル固有の
To:エントリを生成するようにします。このコマンドの出力は 1 行につき 1 つのメールアドレスでなければなりません。デフォルトはsendemail.toCmd設定値です。 -
--cc-cmd=<command> -
パッチファイルごとに 1 回実行するコマンドを指定し、パッチファイル固有の
Cc:エントリを生成するようにします。このコマンドの出力は 1 行につき 1 つのメールアドレスでなければなりません。デフォルトはsendemail.ccCmd設定値です。 -
--header-cmd=<command> -
送信メッセージごとに 1 回実行され、挿入する RFC 2822 形式のヘッダー行を出力するコマンドを指定します。
sendemail.headerCmd設定変数が設定されている場合、その値が常に使用されます。コマンドラインで--header-cmdを指定した場合、その値はsendemail.headerCmd設定変数よりも優先されます。 -
--no-header-cmd -
使用中のヘッダー・コマンドを無効にします。
-
--chain-reply-to -
--no-chain-reply-to -
これが設定されている場合、各メールは前に送信されたメールへの返信として送信されます。
--no-chain-reply-toで無効にすると、最初のメール以降のすべてのメールが、最初に送信したメールへの返信として送信されます。これを使用する場合、最初に与えるファイルはパッチシリーズ全体の概要であることが推奨されます。デフォルトでは無効になっていますが、sendemail.chainReplyTo設定変数を使用して有効にできます。 -
--identity=<identity> -
設定ID。指定すると、
sendemail.<identity> サブセクションの値がsendemailセクションの値よりも優先されます。デフォルトのIDはsendemail.identityの値です。 -
--signed-off-by-cc -
--no-signed-off-by-cc -
これが設定されている場合、
Signed-off-byトレーラーまたはCc:行で見つかったメールアドレスを cc リストに追加します。デフォルトはsendemail.signedOffByCc設定値です。これが未指定の場合、デフォルトは--signed-off-by-ccになります。 -
--cc-cover -
--no-cc-cover -
これが設定されている場合、シリーズの最初のパッチ(通常はカバーレター)の
Cc:ヘッダーで見つかったメールアドレスが、各メールの cc リストに追加されます。デフォルトはsendemail.ccCover設定値です。これが未指定の場合、デフォルトは--no-cc-coverになります。 -
--to-cover -
--no-to-cover -
これが設定されている場合、シリーズの最初のパッチ(通常はカバーレター)の
To:ヘッダーで見つかったメールアドレスが、各メールの to リストに追加されます。デフォルトはsendemail.toCover設定値です。これが未指定の場合、デフォルトは--no-to-coverになります。 -
--suppress-cc=<category> -
自動CC(auto-cc)を抑制するために、以下の追加受信者カテゴリを指定します:
-
authorは、パッチの作者を含めないようにします。 -
selfは送信者を含めないようにします。 -
ccは、self を除き(その場合はselfを使用します)、パッチヘッダー内の Cc 行で言及されている人を含めないようにします。 -
bodyccは、self を除き(その場合はselfを使用します)、パッチ本体(コミットメッセージ)内の Cc 行で言及されている人を含めないようにします。 -
sobは、self を除き(その場合はselfを使用します)、Signed-off-by トレーラーで言及されている人を含めないようにします。 -
misc-byは、Signed-off-by を除き(それにはsobを使用します)、パッチ本体にある Acked-by、Reviewed-by、Tested-by およびその他の "-by" 行で言及されている人を含めないようにします。 -
cccmdは、--cc-cmd を実行しないようにします。 -
bodyはsob+bodycc+misc-byと同じです。 -
allは、すべての自動 cc 値を抑制します。
デフォルトは
sendemail.suppressCc設定値です。sendemail.suppressCcが未指定の場合、--suppress-fromが指定されていればデフォルトはselfとなり、--no-signed-off-ccが指定されていればbodyもデフォルトになります。 -
-
--suppress-from -
--no-suppress-from -
これが設定されている場合、
From:アドレスをCc:リストに追加しません。デフォルトはsendemail.suppressFrom設定値です。これが未指定の場合、デフォルトは--no-suppress-fromになります。 -
--thread -
--no-thread -
これが設定されている場合、送信される各メールに
In-Reply-ToおよびReferencesヘッダーが追加されます。各メールが前のメールを参照するか(gitformat-patchの文言に従ったdeepスレッディング)、最初のメールを参照するか(shallowスレッディング)は、--[no-]chain-reply-toによって制御されます。--no-threadで無効にすると、それらのヘッダーは追加されません(--in-reply-toで指定されている場合を除きます)。デフォルトはsendemail.thread設定値です。これが未指定の場合、デフォルトは--threadになります。gitsend-emailに In-Reply-To ヘッダーの追加を指示したときに、In-Reply-To ヘッダーがすでに存在しないことを確認するのはユーザーの責任です(特に、gitformat-patchはそれ自体でスレッド化するように設定できることに注意してください)。これを怠ると、受信者の MUA で期待どおりの結果にならないことがあります。 -
--mailmap -
--no-mailmap -
mailmap ファイル(gitmailmap(5) 参照)を使用して、すべてのアドレスを正規の実名とメールアドレスにマッピングします。
gitsend-email固有の追加の mailmap データはsendemail.mailmap.fileまたはsendemail.mailmap.blob設定値を使って提供できます。デフォルトはsendemail.mailmapです。
管理
-
--confirm=<mode> -
送信する直前に確認(confirm)します:
-
alwaysは送信前に常に確認します。 -
neverは送信前に確認しません。 -
ccは、send-email がパッチから Cc リストにアドレスを自動的に追加した場合に、送信前に確認します。 -
composeは、--composeを使用している場合に、最初のメッセージを送信する前に確認します。 -
autoはcc+composeと同じです。
デフォルトは
sendemail.confirm設定値です。これが未指定の場合、抑制オプションのいずれかが指定されていない限りデフォルトはautoで、指定されている場合はデフォルトがcomposeになります。 -
-
--dry-run -
実際にメールを送信する以外はすべて行います。
-
--format-patch -
--no-format-patch -
引数が参照としてもファイル名としても解釈できる場合、それを format-patch 引数(
--format-patch)として解釈するか、ファイル名(--no-format-patch)として解釈するかを選択します。デフォルトでは、このような競合が発生するとgitsend-emailは失敗します。 -
--quiet -
gitsend-emailの出力を少なくします。出力されるのはメール 1 通につき 1 行だけになるはずです。 -
--validate -
--no-validate -
パッチの健全性チェックを実行します。 現状、検証(validation)とは以下のことを意味します:
-
sendemail-validate フックが存在する場合はそれを呼び出します(githooks(5) 参照)。
-
以下より長い行を含むパッチについて警告します 適切な転送エンコーディング (
auto,base64, またはquoted-printable)が使用されていない場合は 998 文字です; これは https://www.ietf.org/rfc/rfc5322.txt. で説明されている SMTP の制限によるものです。
デフォルトは
sendemail.validateの値です。 これが設定されていない場合、デフォルトは--validateになります。 -
-
--force -
安全チェックで防止できる場合でも、電子メールを送信してください。
情報
-
--dump-aliases -
通常の動作の代わりに、設定されたエイリアスファイルから短縮エイリアス名をダンプし、アルファベット順に 1 行に 1 つずつ出力します。これにはエイリアス名のみが含まれ、展開後のメールアドレスは含まれないことに注意してください。エイリアスの詳細は
sendemail.aliasesFileを参照してください。 -
--translate-aliases -
通常の動作の代わりに標準入力から読み込み、各行をメールエイリアスとして解釈します。設定されたエイリアスファイルに従って変換します。変換後の名前とメールアドレスを標準出力に 1 行ずつ出力します。エイリアスの詳細は
sendemail.aliasFileを参照してください。
CONFIGURATION
このセクションの以下のすべては、 git-config(1) ドキュメントの抜粋です。 内容は git-config(1) ドキュメント にあるものと同一です:
- sendemail.identity
-
構成ID。 指定すると、
sendemail.<identity> サブセクションの値がsendemailセクションの値よりも優先されます。 デフォルトのIDは、 `sendemail.identity`の値です。 - sendemail.smtpEncryption
-
説明については、 git-send-email(1) を参照してください。 注意: この設定は
identityメカニズムの対象ではないことに注意してください。 - sendemail.smtpSSLCertPath
-
ca-certificatesへのパス(ディレクトリまたは単一ファイルのどちらか)。 証明書の検証を無効にするには、空の文字列に設定します。
- sendemail.<identity>.*
-
以下の
sendemail.*パラメータのID固有のバージョン。コマンドラインまたはsendemail.identityのいずれかを使用して、このIDが選択された場合のパラメータよりも優先されます。 - sendemail.multiEdit
-
true(デフォルト) の場合、編集する必要があるファイルを編集するために単一のエディター・インスタンスが生成されます(--annotateが使用されている場合はパッチ、--composeが使用されている場合は要約)。falseの場合、ファイルは次々に編集され、そのたびに新しいエディター・インスタンスが生成されます。 - sendemail.confirm
-
送信前に確認するかどうかのデフォルトを設定します。
alwaysまたはneverまたはccまたはcomposeまたはautoのいずれかでなければなりません。 これらの値の意味については、 git-send-email(1) ドキュメントの--confirmを参照してください。 - sendemail.mailmap
-
trueの場合 git-send-email(1) は--mailmapを想定し、 それ以外の場合は--no-mailmapを想定します。 デフォルトではfalseです。 - sendemail.mailmap.file
-
git-send-email(1) 固有の拡張メールマップ(mailmap)・ファイルの場所。 デフォルトのメールマップと
mailmap.fileが最初にロードされます。 したがって、 このファイル内のエントリは、 デフォルトのメールマップの場所(locations)内のエントリよりも優先されます。 gitmailmap(5) を参照してください。 - sendemail.mailmap.blob
-
sendemail.mailmap.fileと似ていますが、 値はリポジトリ内の BLOB への参照として考慮されます。sendemail.mailmap.file内のエントリは、 このエントリより優先されます。 gitmailmap(5) を参照してください。 - sendemail.aliasesFile
-
長い電子メール・アドレスのタイピングを回避するには、1 つまたは複数の電子メール・エイリアス・ファイルを指定します。
sendemail.aliasFileTypeも指定する必要があります。 - sendemail.aliasFileType
-
sendemail.aliasesFileで指定されたファイルの形式。mutt,mailrc,pine,elm,gnus,sendmailのいずれかでなければなりません。各形式のエイリアス・ファイルがどのようなものかは、同名の電子メール・プログラムのドキュメントに記載されています。 標準フォーマットとの相違点と制限事項は以下のとおりです:
- sendmail
-
-
引用エイリアス(quoted aliases)と引用アドレス(quoted addresses)はサポートされていません。 " 記号を含む行は無視されます。
-
ファイル(
/path/name)またはパイプ(|command)へのリダイレクトはサポートされていません。 -
ファイル・インクルード(
:include:/path/name)はサポートされていません。 -
明示的にサポートされていない構造(constructs)、およびパーサーによって認識されないその他の行については、警告が標準エラー出力に出力されます。
-
- sendemail.annotate
- sendemail.bcc
- sendemail.cc
- sendemail.ccCmd
- sendemail.chainReplyTo
- sendemail.envelopeSender
- sendemail.from
- sendemail.headerCmd
- sendemail.signedOffByCc
- sendemail.smtpPass
- sendemail.suppressCc
- sendemail.suppressFrom
- sendemail.to
- sendemail.toCmd
- sendemail.smtpDomain
- sendemail.smtpServer
- sendemail.smtpServerPort
- sendemail.smtpServerOption
- sendemail.smtpUser
- sendemail.imapSentFolder
- sendemail.useImapOnly
- sendemail.thread
- sendemail.transferEncoding
- sendemail.validate
- sendemail.xmailer
-
これらの構成変数はすべて、git-send-email(1) コマンドライン・オプションのデフォルトを提供します。 詳細については、そのドキュメントを参照してください。
- sendemail.outlookidfix
-
trueに設定すると、 git-send-email(1) が--outlook-id-fixを指定したものとみなします。falseに設定すると、--no-outlook-id-fixを指定したものとみなします。 指定されていない場合、--outlook-id-fixを指定しなかった場合と同一の振る舞いになります。 - sendemail.signedOffCc (非推奨)
-
sendemail.signedOffByCcの非推奨のエイリアス。 - sendemail.smtpBatchSize
-
接続ごとに送信されるメッセージの数。その後、再ログインが発生します。 値が
0または未定義の場合、すべてのメッセージを1つの接続で送信します。 git-send-email(1) の--batch-sizeオプションも参照してください。 - sendemail.smtpReloginDelay
-
SMTP サーバーに再接続する前に待機する秒数。 git-send-email(1)の
--relogin-delayオプションも参照してください。 - sendemail.forbidSendmailVariables
-
一般的な設定ミスを回避するために、 git-send-email(1) は、
sendmailの設定オプションが存在する場合、警告とともに中止します。 チェックをバイパスするには、この変数を設定します。
EXAMPLES OF SMTP SERVERS
Gmail を SMTP サーバーとして使用する
git send-email を使って Gmail SMTP サーバー経由でパッチを送信するには、~/.gitconfig を編集してアカウント設定を指定します:
[sendemail]
smtpEncryption = ssl
smtpServer = smtp.gmail.com
smtpUser = yourname@gmail.com
smtpServerPort = 465
Gmail では git send-email に通常のパスワードを使用できません。Gmail アカウントで多要素認証を設定している場合、 git send-email 用のアプリ固有パスワードを生成できます。作成するには https://security.google.com/settings/security/apppasswords にアクセスしてください。
別の方法として、アプリ固有パスワードを使う代わりに、Gmail で OAuth2.0 認証を使用できます。OAuth2.0 はアプリ固有パスワードより安全で、多要素認証を設定しているかどうかに関係なく動作します。 OAUTHBEARER と XOAUTH2 は、この種の認証で一般的に使われる仕組みです。Gmail は両方をサポートしています。例として OAUTHBEARER を使いたい場合、~/.gitconfig を編集し、アカウント設定に smtpAuth = OAUTHBEARER を追加します:
[sendemail]
smtpEncryption = ssl
smtpServer = smtp.gmail.com
smtpUser = yourname@gmail.com
smtpServerPort = 465
smtpAuth = OAUTHBEARER
別の代替手段として、Google が開発した sendgmail というツールを使って、git send-email でメールを送信する方法もあります。
Use Microsoft Outlook as the SMTP Server
Gmail とは異なり、Microsoft Outlook はアプリ固有パスワードをサポートしなくなりました。そのため、Outlook では OAuth2.0 認証を使用する必要があります。また、サポートされる認証メカニズムは XOAUTH2 のみです。
~/.gitconfig を編集して Outlook 用のアカウント設定を指定し、git send-email でその SMTP サーバーを使用します:
[sendemail]
smtpEncryption = tls
smtpServer = smtp.office365.com
smtpUser = yourname@outlook.com
smtpServerPort = 587
smtpAuth = XOAUTH2
SENDING PATCHES
あなたのコミットをメーリングリストに送信する準備ができたら、以下のコマンドを実行します:
$ git format-patch --cover-letter -M origin/master -o outgoing/
$ edit outgoing/0000-*
$ git send-email outgoing/*
初めて実行すると、資格情報の入力を求められます。必要に応じて、アプリ固有パスワードまたは通常のパスワードを入力します。
クレデンシャルヘルパーを設定している場合(git-credential(1) 参照)、パスワードはクレデンシャルストアに保存され、次回入力する必要はありません。
OAuth2.0 認証を使用している場合、入力を求められたらパスワードの代わりにアクセストークンを使用する必要があります。OAuth2.0 トークンジェネレーターはオンラインでさまざまなものが利用できます。コミュニティにより保守されているクレデンシャルヘルパーもあります:
-
git-credential-gmail (クロスプラットフォームで、Gmail アカウントの認証専用のヘルパーです)
-
git-credential-outlook (クロスプラットフォームで、Microsoft Outlook アカウントの認証専用のヘルパーです)
-
git-credential-yahoo (クロスプラットフォームで、Yahoo アカウントの認証専用のヘルパーです)
-
git-credential-aol (クロスプラットフォームで、AOL アカウントの認証専用のヘルパーです)
OAuth ベースの認証ヘルパーについては、さらに gitcredentials(7) も参照してください。
Proton Mail は、メール送信用の SMTP サーバーを提供していません。Proton Mail の有料顧客であれば、Proton Mail が公式に提供している Proton Mail Bridge を使用して、メール送信のためのローカル SMTP サーバーを作成できます。無料ユーザー/有料ユーザーのいずれの場合も、コミュニティで保守されている git-protonmail のようなプロジェクトを使用できます。
注: Perl の配布物とともにインストールされている場合がある、以下の Perl のコアモジュールが必要です:
MIME::Base64, MIME::QuotedPrint, Net::Domain および Net::SMTP です。
さらに、以下の Perl モジュールも必要です:
Authen::SASL および Mail::Address です。
Exploiting the sendmailCmd option of git send-email
SMTP サーバー経由でメールを送信する以外にも、git send-email は sendmail 風のコマンドをサポートする任意のアプリケーションを介してメールを送信できます。詳細は上記の --sendmail-cmd=<command> のドキュメントを参照してください。この機能は、git send-email の SMTP クライアントとして別のアプリケーションを使いたい場合や、メールプロバイダーが SMTP ではなく独自 API を用いてメールを送信する場合に非常に便利です。
例として、多くの Linux ディストリビューションで利用できる人気の SMTP クライアント msmtp の設定方法を見てみましょう。~/.gitconfig を編集して、メール送信にそれを使用するよう git-send-email に指示します。
[sendemail]
sendmailCmd = /usr/bin/msmtp # Change this to the path where msmtp is installed
このようなコミュニティで保守されているヘルパーへのリンクをいくつか示します:
-
msmtp (多機能な人気の SMTP クライアントで、Linux と macOS で利用できます)
-
git-protonmail (ProtonMail API を使ってメールを送信できるクロスプラットフォームのクライアントです)
-
git-msgraph (Microsoft Graph API を使ってメールを送信できるクロスプラットフォームのクライアントです)
SEE ALSO
git-format-patch(1), git-imap-send(1), mbox(5)
GIT
Part of the git(1) suite