commitのタイミングでGMail送信
$REPOS/hooks/post-commitに下のようなコマンドラインを追加、コミットのタイミングでメール送信を確認できました。
ruby /home/qnzm/script/svn-commit-gmail.rb \ --account=xxxxx@gmail.com \ --password=ppppp \ --svnlook=/usr/bin/svnlook \ --from=xxxxx@gmail.com \ --to=yyyyy@zzzzz \ "$REPOS" "$REV" \
ただ、日本語ファイル名のファイルをコミットすると失敗する模様。
現時点で日本語名持つファイルはないんで、この点は放置…
こちらのソースをベースにして
を参考にして、アカウント、パスワードを受け取るよう書き換えました。(要rubygems, tlsmail)
書き換え内容
追加。
require 'rubygems' require 'tlsmail'
追加。
parser.on('--account=ACCOUNT', 'Account.'){|act| account = act } parser.on('--password=PASSWORD', 'Password.'){|pass| password = pass }
変更。
mailer = SMTPMailer.new(host, port, account, password)
変更。
class SMTPMailer def initialize(host, port, account, password) @host = host @port = port @account = account @password = password end def send(from, to, message) if $DEBUG puts message return end Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE) Net::SMTP.start(@host, @port, "localhost", @account, @password, :plain) do |smtp| smtp.send_message message, from, to end end end