(ruby)(rubygemsの「mail」を使ってrubyからメールを送ってみる)
rubygemsの「mail」というgemを使って rubyからメールを送信する方法を調べてみました
「ruby mail」などのワードで検索掛けてちらほらと出てくるサンプルは
頭の悪い私が見ると、具体的にどのような処理をされているのかがいまいち分からなかったので
「おそらくコレと同じような事をやっているのでは?」と勝手に推測して、自分で意味が分かる形で書いてみました
少し話がそれますが、上であげた「いまいち分からない」というのは
もちろん、何をやろうとしてるのかというのは見れば分かるんですが
具体的にどういう機能で処理されてるのかが分からないんですね
いろいろと検索掛けてみたけど、なんと調べればいいのか見当が付きません
どういうものが分かる人がいたら、ヒントだけでもコメントで頂ければ嬉しいです
まぁ、ネットに上がっているサンプルを元に私なりに書いてみたのは以下のとおりです
これは基本的なプレーンテキストを送るサンプルです、必要に応じていじっていけば
HTML形式のメールとか、添付ファイルとかも取り扱えるはずです。
あと「mail」というgemが必要なので「gem install mail」としてインストールしておいてください
「ruby mail」などのワードで検索掛けてちらほらと出てくるサンプルは
頭の悪い私が見ると、具体的にどのような処理をされているのかがいまいち分からなかったので
「おそらくコレと同じような事をやっているのでは?」と勝手に推測して、自分で意味が分かる形で書いてみました
少し話がそれますが、上であげた「いまいち分からない」というのは
m = Mail.new do from '・・・・ ・ ・ ・ endとか
m.delivery_method :smtp, { address:'・・・ ・ ・ ・ }と、なっている部分で、まぁ単に私がこの書き方を知らないってだけなんですが 笑)
もちろん、何をやろうとしてるのかというのは見れば分かるんですが
具体的にどういう機能で処理されてるのかが分からないんですね
いろいろと検索掛けてみたけど、なんと調べればいいのか見当が付きません
どういうものが分かる人がいたら、ヒントだけでもコメントで頂ければ嬉しいです
まぁ、ネットに上がっているサンプルを元に私なりに書いてみたのは以下のとおりです
これは基本的なプレーンテキストを送るサンプルです、必要に応じていじっていけば
HTML形式のメールとか、添付ファイルとかも取り扱えるはずです。
あと「mail」というgemが必要なので「gem install mail」としてインストールしておいてください
OS:Ubuntu13.10系、ruby:2.0.0p353、エンコーディング:utf-8、フォーマット:unix
#!/usr/bin/ruby -Ku require 'mail' mail = Mail.new(){|m| m.from = '<送信元メアド>' m.to = '<送信先メアド>' m.subject = '<件名>' m.charset = 'UTF-8' m.content_transfer_encoding = '8bit' m.body = '<本文>' } mail.delivery_method.settings.merge!({ :address => '<SMTPサーバのアドレス>', :port => <SMTPサーバのポート番号>, :ssl => nil, :tls => nil, :user_name => '<メールアカウントのID>', :password => '<メールアカウントのパスワード>', :authentication => 'plain' }) mail.deliver()