Git
English ▾ トピック ▾ 最新バージョン ▾ git-send-email の最終更新は 2.47.0

NAME

git-send-email - パッチのコレクションをメールとして送信する

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

コマンドラインで指定されたパッチを取得し、メールで送信します。パッチは、ファイル、ディレクトリ(ディレクトリ内のすべてのファイルを送信)、または直接リビジョンリストとして指定できます。最後の場合、git-format-patch[1] で受け入れられる形式はすべて git send-email に渡すことができ、git-format-patch[1] で理解されるオプションも同様です。

メールのヘッダーは、コマンドラインオプションで設定できます。コマンドラインで指定されていない場合、必要な情報を入力するための ReadLine 対応インターフェースが表示されます。

パッチファイルには 2 つの形式があります

  1. mbox 形式のファイル

    これは、git-format-patch[1] が生成するものです。ほとんどのヘッダーと MIME 形式は無視されます。

  2. Greg Kroah-Hartman の send_lots_of_email.pl スクリプトで使用されていた元の形式

    この形式では、ファイルの最初の行に「Cc:」の値が含まれており、2 行目にメッセージの「Subject:」が含まれている必要があります。

OPTIONS

構成

--annotate

送信しようとしている各パッチを確認して編集します。デフォルトは、sendemail.annotate の値です。sendemail.multiEdit については、構成セクションを参照してください。

--bcc=<address>,…​

各メールに「Bcc:」値を指定します。デフォルトは、sendemail.bcc の値です。

このオプションは複数回指定できます。

--cc=<address>,…​

各メールの開始「Cc:」値を指定します。デフォルトは、sendemail.cc の値です。

このオプションは複数回指定できます。

--compose

テキストエディター (git-var[1] の GIT_EDITOR を参照) を起動して、パッチシリーズの導入メッセージを編集します。

--compose が使用されている場合、git send-email はメッセージで指定された From、To、Cc、Bcc、Subject、Reply-To、および In-Reply-To ヘッダーを使用します。メッセージの本文(ヘッダーと空白行の後に入力するもの)に空白(または Git: の接頭辞が付いた)行のみが含まれている場合、概要は送信されませんが、上記で言及したヘッダーは削除されない限り使用されます。

From または In-Reply-To ヘッダーが欠落している場合は、プロンプトが表示されます。

sendemail.multiEdit については、構成セクションを参照してください。

--from=<address>

メールの送信者を指定します。コマンドラインで指定されていない場合は、sendemail.from 設定オプションの値が使用されます。コマンドラインオプションも sendemail.from も設定されていない場合は、ユーザーに値の入力を求められます。プロンプトのデフォルトは、"git var -l" で返される GIT_AUTHOR_IDENT の値、またはそれが設定されていない場合は GIT_COMMITTER_IDENT の値です。

--reply-to=<address>

受信者からの返信の宛先となるアドレスを指定します。メッセージへの返信を --from パラメーターで指定したアドレスとは別のアドレスにする必要がある場合に使用します。

--in-reply-to=<identifier>

最初のメール (または --no-thread を指定したすべてのメール) を指定されたメッセージ ID への返信として表示し、新しいパッチシリーズを提供するためにスレッドを分割しないようにします。2 通目以降のメールは、--[no-]chain-reply-to 設定に従って返信として送信されます。

たとえば、--thread--no-chain-reply-to が指定されている場合、2 番目以降のパッチは、[PATCH v2 0/3][PATCH 0/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 が設定されていない場合は、プロンプトが表示されます。

--subject=<string>

メールスレッドの最初の件名を指定します。--compose が設定されている場合にのみ必要です。--compose が設定されていない場合は、プロンプトが表示されます。

--to=<address>,…​

生成されたメールの主な受信者を指定します。通常、これは関係するプロジェクトの上流のメンテナーになります。デフォルトは、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 経由でメッセージを送信するために使用する転送エンコードを指定します。7bit は、非 ASCII メッセージに遭遇すると失敗します。quoted-printable は、リポジトリにキャリッジリターンを含むファイルが含まれている場合に役立ちますが、生のパッチメールファイル(MUA から保存)を手動で検査するのがはるかに困難になります。base64 はさらに間違いがありませんが、さらに不透明です。auto は、可能な場合は 8bit を使用し、それ以外の場合は quoted-printable を使用します。

デフォルトは、sendemail.transferEncoding 設定値の値です。それが未指定の場合は、デフォルトで auto になります。

--xmailer
--no-xmailer

「X-Mailer:」ヘッダーを追加する(または追加を防ぐ)します。デフォルトでは、ヘッダーが追加されますが、sendemail.xmailer 設定変数を false に設定するとオフにできます。

送信

--envelope-sender=<address>

メールの送信に使用するエンベロープ送信者を指定します。これは、デフォルトのアドレスがリストに登録されているアドレスではない場合に役立ちます。From アドレスを使用するには、値を「auto」に設定します。sendmail バイナリを使用する場合は、-f パラメーターに適した権限が必要です。デフォルトは、sendemail.envelopeSender 設定変数の値です。それが未指定の場合、エンベロープ送信者の選択は MTA に任されます。

--sendmail-cmd=<command>

メールを送信するために実行するコマンドを指定します。コマンドは sendmail のようなものでなければなりません。具体的には、-i オプションをサポートする必要があります。コマンドは必要に応じてシェルで実行されます。デフォルトは、sendemail.sendmailCmd の値です。未指定で、--smtp-server も未指定の場合、git-send-email は /usr/sbin/usr/lib および $PATH で sendmail を検索します。

--smtp-encryption=<暗号化方式>

SMTP接続の暗号化を開始する方法を指定します。有効な値はssltlsです。それ以外の値はプレーン(暗号化なし)SMTPに戻り、デフォルトでポート25を使用します。名前とは異なり、どちらの値も同じ新しいバージョンのTLSを使用しますが、歴史的な理由からこれらの名前が使われています。sslは、デフォルトでポート465を使用する「暗黙的」な暗号化(SMTPSと呼ばれることもあります)を指します。tlsは、デフォルトでポート25を使用する「明示的」な暗号化(STARTTLSとしてよく知られています)を指します。他のポートは、SMTPサーバーで使用される可能性がありますが、デフォルトではありません。tlsおよび暗号化されていない場合の一般的な代替ポートは587です。使用しているプロバイダーのドキュメントまたはサーバー構成を確認して、ご自身の環境に適合していることを確認する必要があります。デフォルトはsendemail.smtpEncryptionの値です。

--smtp-domain=<FQDN>

SMTPサーバーへのHELO/EHLOコマンドで使用される完全修飾ドメイン名(FQDN)を指定します。一部のサーバーでは、FQDNがIPアドレスと一致する必要があります。設定しない場合、git send-emailは自動的にFQDNを特定しようとします。デフォルトはsendemail.smtpDomainの値です。

--smtp-auth=<認証メカニズム>

許可されているSMTP-AUTHメカニズムの空白区切りリスト。この設定は、リストされたメカニズムのみを使用するように強制します。例:

$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...

指定されたメカニズムの少なくとも1つがSMTPサーバーによってアドバタイズされたものと一致し、使用されているSASLライブラリでサポートされている場合、そのメカニズムが認証に使用されます。sendemail.smtpAuth--smtp-authのどちらも指定されていない場合、SASLライブラリでサポートされているすべてのメカニズムを使用できます。特別な値noneは、--smtp-userとは独立して認証を完全に無効にするために指定できます。

--smtp-pass[=<パスワード>]

SMTP-AUTHのパスワード。引数はオプションです。引数が指定されていない場合、空の文字列がパスワードとして使用されます。デフォルトはsendemail.smtpPassの値ですが、--smtp-passは常にこの値をオーバーライドします。

さらに、パスワードは構成ファイルやコマンドラインで指定する必要はありません。ユーザー名が(--smtp-userまたはsendemail.smtpUserで)指定されているが、パスワードが(--smtp-passまたはsendemail.smtpPassで)指定されていない場合、パスワードはgit-credentialを使用して取得されます。

--no-smtp-auth

SMTP認証を無効にします。--smtp-auth=noneの省略形です。

--smtp-server=<ホスト>

設定されている場合、使用する送信SMTPサーバー(例:smtp.example.comまたは生のIPアドレス)を指定します。指定されておらず、--sendmail-cmdも指定されていない場合、デフォルトでは、/usr/sbin/usr/lib、および$PATHでsendmailを検索し、そのようなプログラムが利用可能な場合はそれを使用し、それ以外の場合はlocalhostにフォールバックします。

後方互換性のために、このオプションはsendmailのようなプログラムのフルパス名を指定することもできます。プログラムは-iオプションをサポートする必要があります。この方法では、引数の受け渡しやプレーンなコマンド名の使用はサポートされていません。これらのユースケースでは、代わりに--sendmail-cmdを使用することを検討してください。

--smtp-server-port=<ポート>

デフォルトのポートとは異なるポートを指定します(SMTPサーバーは通常、smtpポート25でリッスンしますが、送信ポート587または一般的なSSL smtpポート465でリッスンすることもあります)。シンボリックポート名(587の代わりに「submission」など)も受け入れられます。ポートは、sendemail.smtpServerPort構成変数でも設定できます。

--smtp-server-option=<オプション>

設定されている場合、使用する送信SMTPサーバーオプションを指定します。デフォルト値は、sendemail.smtpServerOption構成オプションで指定できます。

--smtp-server-optionオプションは、サーバーに渡したいオプションごとに繰り返す必要があります。同様に、構成ファイルの異なる行は、オプションごとに使用する必要があります。

--smtp-ssl

--smtp-encryption sslのレガシーエイリアス。

--smtp-ssl-cert-path

SMTP SSL/TLS証明書検証のための信頼できるCA証明書のストアへのパス(c_rehashで処理されたディレクトリ、または1つ以上のPEM形式の証明書を連結した単一のファイル。詳細については、verify(1)の-CAfileおよび-CApathを参照)。証明書検証を無効にするには、空の文字列に設定します。デフォルトは、sendemail.smtpSSLCertPath構成変数の値(設定されている場合)、またはバッキングSSLライブラリのコンパイル済みデフォルト(ほとんどのプラットフォームで最適な選択であるはずです)です。

--smtp-user=<ユーザー>

SMTP-AUTHのユーザー名。デフォルトはsendemail.smtpUserの値です。ユーザー名が(--smtp-userまたはsendemail.smtpUserで)指定されていない場合、認証は試行されません。

--smtp-debug=(0|1)

デバッグ出力を有効(1)または無効(0)にします。有効にすると、SMTPコマンドと応答が出力されます。TLS接続および認証の問題をデバッグするのに役立ちます。

--batch-size=<数値>

一部のメールサーバー(smtp.163.comなど)では、セッション(接続)ごとに送信できるメールの数が制限されており、多数のメッセージを送信すると失敗につながる可能性があります。このオプションを使用すると、send-emailは$<数値>個のメッセージを送信した後に接続を解除し、数秒待って(--relogin-delayを参照)、再接続し、このような制限を回避します。パスワードを毎回再入力する必要がないように、何らかの形式のクレデンシャルヘルパーを使用することをお勧めします。デフォルトは、sendemail.smtpBatchSize構成変数です。

--relogin-delay=<整数>

SMTPサーバーに再接続する前に$<整数>秒待機します。--batch-sizeオプションとともに使用します。デフォルトは、sendemail.smtpReloginDelay構成変数です。

自動化

--no-to
--no-cc
--no-bcc

構成で以前に設定された「To:」、「Cc:」、「Bcc:」アドレスのリストをクリアします。

--no-identity

構成で設定されている場合に、以前に読み込まれたsendemail.identityの値をクリアします。

--to-cmd=<コマンド>

パッチファイルごとに1回実行され、パッチファイル固有の「To:」エントリを生成するコマンドを指定します。このコマンドの出力は、1行あたり1つのメールアドレスである必要があります。デフォルトは、sendemail.toCmd構成値です。

--cc-cmd=<コマンド>

パッチファイルごとに1回実行され、パッチファイル固有の「Cc:」エントリを生成するコマンドを指定します。このコマンドの出力は、1行あたり1つのメールアドレスである必要があります。デフォルトは、sendemail.ccCmd構成値です。

--header-cmd=<コマンド>

送信メッセージごとに1回実行され、RFC 2822スタイルのヘッダー行を出力してメッセージに挿入するコマンドを指定します。sendemail.headerCmd構成変数が設定されている場合、その値は常に使用されます。コマンドラインで--header-cmdが指定されている場合、その値はsendemail.headerCmd構成変数よりも優先されます。

--no-header-cmd

使用中のヘッダーコマンドを無効にします。

--[no-]chain-reply-to

これを設定すると、各メールは送信された前のメールへの返信として送信されます。"--no-chain-reply-to"で無効にした場合、最初のメール以降のすべてのメールは、送信された最初のメールへの返信として送信されます。これを使用する場合は、最初に与えられたファイルがパッチシリーズ全体の概要であることをお勧めします。デフォルトでは無効になっていますが、sendemail.chainReplyTo構成変数を使用して有効にできます。

--identity=<アイデンティティ>

構成アイデンティティ。指定すると、sendemail.<アイデンティティ>サブセクションの値がsendemailセクションの値よりも優先されます。デフォルトのアイデンティティは、sendemail.identityの値です。

--[no-]signed-off-by-cc

これを設定すると、Signed-off-byトレーラーまたはCc:行にあるメールがccリストに追加されます。デフォルトは、sendemail.signedOffByCc構成値の値です。指定されていない場合は、デフォルトで--signed-off-by-ccになります。

--[no-]cc-cover

これを設定すると、シリーズの最初のパッチ(通常はカバーレター)のCc:ヘッダーにあるメールは、各メールセットのccリストに追加されます。デフォルトは、sendemail.ccCover構成値の値です。指定されていない場合は、デフォルトで--no-cc-coverになります。

--[no-]to-cover

これを設定すると、シリーズの最初のパッチ(通常はカバーレター)のTo:ヘッダーにあるメールは、各メールセットのtoリストに追加されます。デフォルトは、sendemail.toCover構成値の値です。指定されていない場合は、デフォルトで--no-to-coverになります。

--suppress-cc=<カテゴリ>

自動ccを抑制する受信者の追加カテゴリを指定します。

  • authorは、パッチの作成者を含めるのを避けます。

  • selfは、送信者を含めるのを避けます。

  • ccは、パッチヘッダーのCc行に記載されている人を、自分自身を除いて含めるのを避けます(その場合はselfを使用します)。

  • bodyccは、パッチ本文(コミットメッセージ)のCc行に記載されている人を、自分自身を除いて含めるのを避けます(その場合はselfを使用します)。

  • sobは、Signed-off-byトレーラーに記載されている人を、自分自身を除いて含めるのを避けます(その場合はselfを使用します)。

  • misc-byは、Acked-by、Reviewed-by、Tested-by、およびパッチ本文の他の「-by」行に記載されている人を、Signed-off-byを除いて含めるのを避けます(その場合はsobを使用します)。

  • cccmdは、--cc-cmdの実行を回避します。

  • bodyは、sob + bodycc + misc-byと同等です。

  • allは、すべての自動cc値を抑制します。

デフォルトは、sendemail.suppressCc構成値の値です。指定されていない場合は、--suppress-fromが指定されている場合はデフォルトでselfに、--no-signed-off-ccが指定されている場合はデフォルトでbodyになります。

--[no-]suppress-from

これを設定すると、From:アドレスをcc:リストに追加しません。デフォルトは、sendemail.suppressFrom構成値の値です。指定されていない場合は、デフォルトで--no-suppress-fromになります。

--[no-]thread

この設定が有効な場合、送信される各メールに In-Reply-To ヘッダーと References ヘッダーが追加されます。各メールが前のメールを参照する(git format-patch の用語で言うところの deep スレッディング)か、最初のメールを参照する(shallow スレッディング)かは、"--[no-]chain-reply-to" によって制御されます。

"--no-thread" で無効にした場合、これらのヘッダーは追加されません(--in-reply-to で指定された場合を除く)。デフォルトは sendemail.thread 設定値の値です。それが指定されていない場合は、デフォルトで --thread が適用されます。

git send-email に In-Reply-To ヘッダーの追加を指示する場合、ユーザーは In-Reply-To ヘッダーがまだ存在しないことを確認する必要があります(特に、git format-patch がスレッディング自体を行うように設定できることに注意してください)。これを怠ると、受信者の MUA で期待どおりの結果が得られない可能性があります。

--[no-]mailmap

mailmap ファイル(gitmailmap[5] を参照)を使用して、すべてのアドレスを正規の氏名とメールアドレスにマッピングします。git-send-email 固有の追加の mailmap データは、sendemail.mailmap.file または sendemail.mailmap.blob 設定値を使用して提供できます。デフォルトは sendemail.mailmap です。

管理

--confirm=<mode>

送信直前に確認を行います

  • always は、送信前に常に確認を行います

  • never は、送信前に決して確認を行いません

  • cc は、send-email がパッチから Cc リストにアドレスを自動的に追加した場合に、送信前に確認を行います

  • compose は、--compose を使用した場合に、最初のメッセージを送信する前に確認を行います

  • auto は、cc + compose と同等です

デフォルトは sendemail.confirm 設定値の値です。それが指定されていない場合は、抑制オプションが指定されていない限り、デフォルトで auto になります。抑制オプションが指定されている場合は、デフォルトで compose になります。

--dry-run

実際にメールを送信する以外は、すべてを実行します。

--[no-]format-patch

引数がリファレンスまたはファイル名のいずれかとして解釈できる場合、format-patch 引数 (--format-patch) またはファイル名 (--no-format-patch) として解釈することを選択します。デフォルトでは、このような競合が発生した場合、git send-email は失敗します。

--quiet

git-send-email の冗長性を低減します。メールごとに 1 行が出力されるだけで十分です。

--[no-]validate

パッチに対して健全性チェックを実行します。現在、検証は次のことを意味します。

  • sendemail-validate フックが存在する場合はそれを呼び出します ( githooks[5] を参照)。

  • 適切な転送エンコーディング (autobase64、または quoted-printable) が使用されていない限り、998 文字を超える行を含むパッチについて警告します。これは https://www.ietf.org/rfc/rfc5322.txt で説明されている SMTP の制限によるものです。

デフォルトは sendemail.validate の値です。これが設定されていない場合は、デフォルトで --validate が適用されます。

--force

安全チェックで送信が阻止される場合でも、メールを送信します。

情報

--dump-aliases

通常の動作の代わりに、設定されたエイリアスファイルから短縮形のエイリアス名をアルファベット順に 1 行に 1 つずつダンプします。これにはエイリアス名のみが含まれ、展開されたメールアドレスは含まれないことに注意してください。エイリアスの詳細については、sendemail.aliasesFile を参照してください。

--translate-aliases

通常の動作の代わりに、標準入力から読み取り、各行をメールエイリアスとして解釈します。設定されたエイリアスファイルに従って翻訳します。翻訳された名前とメールアドレスを、1 行に 1 つずつ標準出力に出力します。エイリアスの詳細については、sendemail.aliasFile を参照してください。

設定

このセクションのこの行より下のすべては、git-config[1] ドキュメントから選択的に含まれています。内容はそこで見つかるものと同じです

sendemail.identity

構成アイデンティティ。指定すると、sendemail.<アイデンティティ>サブセクションの値がsendemailセクションの値よりも優先されます。デフォルトのアイデンティティは、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 の場合、ファイルは 1 つずつ編集され、そのたびに新しいエディターが生成されます。

sendemail.confirm

送信前に確認するかどうかのデフォルトを設定します。alwaysnevercccompose、または 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 と mailmap.file が最初に読み込まれます。したがって、このファイルの項目は、デフォルトの mailmap の場所の項目よりも優先されます。gitmailmap[5] を参照してください。

sendemail.mailmap.blob

sendemail.mailmap.file と同様ですが、値をリポジトリ内の blob への参照と見なします。sendemail.mailmap.file のエントリは、ここのエントリよりも優先されます。gitmailmap[5] を参照してください。

sendemail.aliasesFile

長いメールアドレスの入力を避けるには、これを 1 つ以上のメールエイリアスファイルに指定します。sendemail.aliasFileType も指定する必要があります。

sendemail.aliasFileType

sendemail.aliasesFile で指定されたファイルの形式。muttmailrcpineelmgnus、または sendmail のいずれかである必要があります。

各形式でのエイリアスファイルの形式は、同じ名前のメールプログラムのドキュメントに記載されています。標準形式との違いと制限事項については、以下で説明します。

sendmail
  • 引用符で囲まれたエイリアスと引用符で囲まれたアドレスはサポートされていません。" 記号を含む行は無視されます。

  • ファイルへのリダイレクト (/path/name) またはパイプ (|command) はサポートされていません。

  • ファイルインクルージョン (:include: /path/name) はサポートされていません。

  • 明示的にサポートされていない構成要素や、パーサーによって認識されないその他の行については、標準エラー出力に警告が出力されます。

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.thread
sendemail.transferEncoding
sendemail.validate
sendemail.xmailer

これらの設定変数はすべて、git-send-email[1] コマンドラインオプションのデフォルトを提供します。詳細については、ドキュメントを参照してください。

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" の設定オプションが存在する場合、警告を表示して中止します。このチェックをバイパスするには、この変数を設定します。

SMTP サーバーとして Gmail を使用する

git send-email を使用して Gmail SMTP サーバー経由でパッチを送信するには、アカウント設定を指定するように ~/.gitconfig を編集します

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpUser = yourname@gmail.com
	smtpServerPort = 587

Gmail アカウントで多要素認証を設定している場合は、git send-email で使用するアプリ固有のパスワードを生成できます。作成するには、https://security.google.com/settings/security/apppasswords にアクセスしてください。

コミットをメーリングリストに送信する準備ができたら、以下のコマンドを実行してください。

$ git format-patch --cover-letter -M origin/master -o outgoing/
$ edit outgoing/0000-*
$ git send-email outgoing/*

初回実行時には、認証情報を求められます。必要に応じて、アプリ固有のパスワードまたは通常のパスワードを入力してください。クレデンシャルヘルパーが設定されている場合(git-credential[1]を参照)、パスワードはクレデンシャルストアに保存されるため、次回からは入力する必要はありません。

注:以下のPerlコアモジュール(Perlのディストリビューションにインストールされている可能性があります)が必要です:MIME::Base64, MIME::QuotedPrint, Net::Domain および Net::SMTP。これらの追加のPerlモジュールも必要です:Authen::SASL および Mail::Address。

関連情報

GIT

git[1] スイートの一部

scroll-to-top