それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Rubyで添付ファイル付きメールの送信

メールで添付ファイルを送りたいとき。

  add_file :filename => out_path, :content => File.read(my_file_path)

ruby のmail を使ったらこんな感じ。

#!/usr/bin/env ruby
#coding:utf-8

exit unless ARGV.size == 1
my_file_path = ARGV.shift

require 'mail'

options = { 
  :address  => "localhost",
  :port   => 25,
  :authentication => 'plain',
  :enable_starttls_auto => true  
}


Mail.defaults do
  delivery_method :smtp, options
end

mail = Mail.new do
  from     'form-address@localhost'
  to       'user@localhost'
  subject  "mail test"
  body      "this is test mail "
  ## 添付ファイル処理
  add_file :filename => out_path, :content => File.read(my_file_path)
end

mail.deliver!

添付ファイルをつけるには、オプションを追加するだけなので簡単です。