【今すぐ無料で試す】ゼロから始める定額・学び放題のプログラミング学習サービス「侍テラコヤ」

【Ruby on Rails】お問い合わせフォームの内容を自分のメールアドレス(Gmail)に送信させる方法

Ruby on Railsを知っている人

今回はお問い合わせフォームの内容をGmailで自分のメールアドレスに送信させる方法をまとめてみました。

 

気になる方は是非ご覧になってください!

 

action mailerについて詳しく知りたい方は是非「パーフェクト Ruby on Rails」をご覧ください。

 

対象バージョンをRuby 2.6/2.7系、Rails 6.0系に変更した増補改訂版です。

 

新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し,現在のトレンドとなる開発スタイルを紹介しています。

 

\単月定額と比べて総額最大48,000円OFF!/
学び応援キャンペーン実施中!
【超安心】1か月間全額返金保証付き

最短30秒で登録完了! 今すぐ侍テラコヤに入学してRuby on Railsを学ぶ!

 

 

以下のプログラミングスクールもオススメです。

 

是非検討してみてはいかがでしょうか?

 

  1. 侍テラコヤ初月50%OFF学び応援キャンペーン実施中)(解説記事はこちら
    学び応援キャンペーンでお得に申し込む!
    ・コスパ最高! 月額2,980円〜利用できる!
    ・単月定額と比べて総額最大44,400円OFF!

    ・学び応援キャンペーン実施中!
  2. TechAcademy
    無料体験レッスンに申し込む!
    ・Ruby/Ruby on Railsだけでなく、Git/GitHub、HTML/CSS、Bootstrap、SQL、Heroku、Web API、Vue.jsなど幅広く学ぶことができる

    ・今まで得た知識をアウトプットするために自分の作りたいWebサービスを作る
    無料体験レッスン実施中!

 

Ruby on Railsを知っている人

 

contactモデルを作成する

 

Ruby on Railsを知っている人

まず始めにお問い合わせ内容を保存するためのcontactモデルを作成していきます。

 

contactモデル名前を保存するnameカラム(string型)お問い合わせ内容を保存するmessageカラム(text型)を持つとします。

 

それではcontactモデルを生成しましょう。

 

 

 

これでcontactモデルが完成しました。

 




 

contactsコントローラーを作成する

 

Ruby on Railsを知っている人

次にcontactsコントローラーを作成していきます。

 

 

色々とファイルが生成されましたが、「contacts_controller.rb」ファイルに必要事項を記述していきます。

 

記述内容は以下の通りです。

 

 

 

メール送信はコントローラーのアクションから実行するので、「ContactMailer.contact_mail(@contact).deliver」を組み込んでいます。

 

ここではお問い合わせ内容をデータベースに保存した後、メール送信を行うという流れになっています。

 




 

お問い合わせフォームを作成する

 

Ruby on Railsを知っている人

次にお問い合わせフォームを作成していきます。

 

 

 

メーラークラスを作成する

 

Ruby on Railsを知っている人

次にメーラークラスを作成していきます。

 

以下のようにコマンドを実行すると色々とファイルが作成されます。

 

 

色々とファイルが生成されましたが、「contact_mailer.rb」ファイルに必要事項を記述していきます。

 

記述内容は以下の通りです。

 

 

 

上記ではmailメソッドでお問い合わせ内容の宛先(to)タイトル(subject)を設定しています。

 




 

サーバーを設定する

 

Ruby on Railsを知っている人

次にメールサーバーを設定していきます。

 

今回はGmailのメールサーバーを利用してメール送信を行います。

 

Gmailアカウントのセキュリティで2段階認証の設定とアプリパスワードの生成を行う必要があります。

 

user_nameに自分のアカウントユーザー名を、passwordに自分のアカウントパスワードを入力して下さい。

 

本番環境では環境変数を使うようにしましょう。

 

 

上記ではメール送信する上で必要な設定を行っています。

 

・config.action_mailer.perform_deliveries = true

 

⇒メール送信を有効にする

 

・config.action_mailer.raise_delivery_errors = true

 

⇒メール送信ができなかった場合、エラーを発生させる

 

・config.action_mailer.delivery_method = :smtp

 

⇒メール送信する際に通信プロトコルSMTPを利用する

Ruby on Railsを知っている人

 




 

メールテンプレートを作成する

 

Ruby on Railsを知っている人

次にメールテンプレートを作成していきます。

 

今回、HTML形式のメールテンプレートとテキスト形式のメールテンプレートの2つを「app/views/contact_mailer」内に作成します。

 

送信相手によってはHTML形式のメールを受け取ることができない人もいるのでテキスト形式も作成しておくといいかと思います。

 

以下はHTML形式のメールテンプレートです。

 

 

 

以下はテキスト形式のメールテンプレートです。

 

 




 

お問い合わせフォームからメールが届くか試してみよう

 

Ruby on Railsを知っている人

準備ができましたので、実際にお問い合わせフォームからメールが届くか試してみましょう。

 

お問い合わせフォームにアクセスしてみると以下のような画面が出てきます。

 

 

お問い合わせフォームに内容を入力して、送信してみましょう。

 

そうすると以下のようにWebアプリケーションからメールが届きました。

 

 

これで完了です。

 

Ruby on Railsを学ぶことができるオススメの教材

 

Ruby on Railsを知っている人

Ruby on Railsを学ぶのにオススメの参考書をみていきましょう。

 

Ruby on Rails 6 実践ガイド impress top gearシリーズ

 

本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。

 

各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。

Ruby on Railsを知っている人

 

 

Ruby on Rails 6 実践ガイド[機能拡張編]

 

本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。

 

本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。

 

本書のテーマは多岐にわたります。

 

クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。

 

また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。

 

特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。

 

本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。

Ruby on Railsを知っている人

 

 

パーフェクト Ruby on Rails 【増補改訂版】

 

新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し、現在のトレンドとなる開発スタイルを紹介します。

Ruby on Railsを知っている人

 

 

まとめ

 

Ruby on Railsを知っている人

最後まで読んで頂きまして、ありがとうございました。

 

途中で分からないことがあり、中々進まないこともあると思います。

 

しかし、順を追って学習を進めていけば、必ずできるようになるのであきらめず最後までやりぬきましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です