RubyでSMTP over SSLメールを送る
==============================
インターネットメールへの送信を、Rubyスクリプトを使ってメール送信するようにしたので備忘録を残す。
===== Ruby関連のインストール =====
Ruby本体のインストール
$ sudo apt install ruby
Ruby用`mail`ライブラリーのインストール
$ sudo gem install mail
===== SSLメール送信するスクリプト =====
私の通信環境はY!mobile。そのメール設定でRubyスクリプトのファイル `mail_send.rb` を作成。(参考.1記事を参考)
#! /usr/bin/ruby
# coding: utf-8
require 'mail'
if ARGV.size != 3
puts "usage : \n "
puts " $ "+ __FILE__ + " hogeto@exmaple.com 'test mail' '' "
puts " \n\n "
exit
end
options = { :address => "ymobilesmtp.mail.yahoo.ne.jp",
:port => 465,
:user_name => '<アカウント>@yahoo.ne.jp',
:password => '<アカウントパスワード>',
:authentication => 'plain',
:ssl => true,
}
Mail.defaults do
delivery_method :smtp, options
end
mail = Mail.new do
from '<アカウント>@yahoo.ne.jp'
to ARGV.shift
subject ARGV.shift
body File.read(ARGV.shift)
end
mail.deliver!
実行できるように権限を設定
$ sudo chmod +x mail_send.rb
===== 試しに送信してみる =====
メール本文の適当なテキストファイル「`body.txt`」を作成しておき、下記コマンドを実行してメール送信する。
$ ./mail_send.rb hogeto@sample.co.jp 'test mail' body.txt
無事に届けばOK。
===== 関連記事 =====
[[myblog>2019/08/11/ruby-send-ssl-mail/|【Ubuntu】RubyでSMTP over SSLメールを送る]]
===== 参考 =====
1. [[https://www.ymobile.jp/service/ymobile/mail/|Y!mobile メール]]
- - - - -