A Little Each Day

note to self

Railsでユーザー側のメールクライアントを自動で立ち上げる

こんにちは。本日はRailsアプリでメールクライアントを自動で起動する方法です。

Rails側でメールを送受信するにはActionMailerが使えますが、mail_toという便利なメソッドも用意されています。

これを使えばユーザー側のメールクライアントが自動で立ち上がりメールの送受信ができます。

画像付きのお問い合わせ機能をつくりたい

現在、個人的に「RopaRopa」という古着屋さんの情報サイトを趣味で運営しています。

blog.otsukasatoshi.com


初期のころはユーザーが投稿できる形式にしていたのですが、いろいろあって管理者のみが投稿できる仕様に変更しました。

なので古着屋の情報(画像・店舗名など)は掲載希望のユーザーがお問い合わせから申し込む形としました。


しかし自分がつくった既存のお問い合わせ機能では画像のアップロードには対応していなくて店舗画像が送れない状態です。

carrierwaveとかでお問い合わせ機能に画像送付することができますが。。

(めんどくさい。。)


でもRailsにはこういったときに役に立つ便利なメソッドがあります。


※ 今回のケースでは画像の有無ですが、お問い合わせ機能をわざわざつくらなくてもよくなるので便利です。


mail_toメソッド

クライアント側でメールを起動してくれるmail_toという便利なメソッド。

<%= mail_to "アドレス名", "文字" %>


基本的には上記が基本的な形になります。


これをお問い合わせ部分に書けばリンク化(link_toと同じ)して自動でメールクライアントが立ち上がります。


たとえばMacだと「メール」のアプリが自動で立ち上がります。

画像送付・件名など書き込むこともOK。


すごく便利ですね!



本日は以上です。