Debian でgit-emailでGmail経由でメール送信する方法


5月に某社の勉強会でLKMLにパッチ投げた話を発表したんですが
発表資料: https://docs.google.com/presentation/d/1Z2bk68VIYslvY9FrouKaw4P3qpQMR4h7at8nhm6d-C4/edit

PC入れ替えて再び環境構築したので、資料に書かなかった事をまとめとこうかと。

ホストのArchだとなんかSSL周りがあやしくてGmail に繋ぐのがよく分からんかったのでDebianのゲストを作ってもっぱらそっちで作業なうなんですが。

当日聞かれた意見:

Q: Linuxカーネルコンパイル出来る環境って難しくないですか?
A: gcc があればいいです。他は何もいりません

カーネルは単体で動作するので、他のライブラリには依存してないんですよね。
必要なものはカーネルソースの中に全部入っててライブラリとかも自前で用意してあります。すごい。

必要なもの(パッケージ)

  • git-email
  • msmtp
  • ca-certificates
  • gcc
  • git

スーパー牛さんパワーでインストールします。

msmtpの環境設定

以下のURLを参考に、~/.msmtprc を作成します

http://d.hatena.ne.jp/janus_wel/20090120/1232481948

# Example for a user configuration file
# Set default values for all following accounts.
defaults
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
# My email service
account gmail
host smtp.gmail.com
port 587
from some.user.name@gmail.com
auth on
user some.user.name@gmail.com
password my-secret
# Set a default account
account default : gmail

from,user,password を自分のgmail アカウントに変更。しかるのち chmod 0600 ~/.msmtprc

git の環境設定

git-send-email はデフォルトではlocalhost で動作するSMTPサーバに接続しようとします。
最近のディストリビューションでは動いてない事が多いので嵌ります。嵌りましたてへぺろ

それをmsmtp に変更するには以下のコマンドを実行します。

git config --global sendemail.smtpserver /usr/bin/msmtp

すると、~/.gitconfig に以下の設定が追加されます。

[sendemail]
        smtpserver = /usr/bin/msmtp

後は適当にgit send-email --to 自分 とかやって自分にパッチを投げて
届けば成功です