FuelPHPによるMVCプログラミング入門

電子メールを送信する2

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
FuelPHPを利用すれば、電子メールも簡単に送信することができます。ただし、日本語のメールは文字化けしてしまうことがあるため、設定などを正しく整えてから送信しましょう。
講師:
08:12

字幕

ここでは「電子メールを送信する」の2つ目としまして、実際のメールの送信処理を実装していきたいと思います。このレッスンは前のレッスンからの続きとなりますのでぜひ2つ続けてご覧ください。まず電子メールを送信するためには、ちょっとここにコメントを入れてemail として email のパッケージをこのように割り当てます。そして email の from というメソッドにこのように送信元のメールアドレスを設定します。それから同じく email にはto というメソッドがありこちらにも同じようにその送信先のメールアドレスを設定します。ここでは管理者に向けて電子メールを送信するためにto を固定のものにしていますが、もしありがとうございましたの確認メールなどをお送りしたい場合には、ここはセッションの内容の、例えばこの email などになるかもしれません。なんでも結構です。続けて subject を設定していきましょう。「お問い合わせが到着しました」とします。さてここで body なんですけれども、body はまず email の body というこちらのメソッドに、このように「あいうえお」などと書けば「あいうえお」というメールが送られます。 ですがまあここにですね、今セッションで放置されている名前やメールや性別というものを書いていくことになります。ただメールの内容を controller の中にそのまま書くというのはあまり好ましいことではありません。この FuelPHP は MVC のモデルを採用していますのでv である view とそれから c である controllerつまり見た目を司る部分とそれをコントロールする部分というのは分けるという書き方が理想と言えます。電子メールの文面というのも広い意味では人の観る画面ですのでview に当たります。そこでここでは電子メールの文面を view で作るということをやってみたいと思います。では新しいファイルを一つ作りましょう。PHP、レイアウトはなしとしてドキュメントタイプをこのようなXHTML にします。ページタイプを PHP レイアウトなしにしてドキュメントタイプは何でも結構ですので作成をします。内容をすべて削除してここに「お問い合わせが到着しました。」などとしましょう。そして「お名前」として myname、この辺の作り方というのは一緒になります。このように設定しました。ではこちらのファイルを hpdocs のlesson05-09 fuel の app の views のcontact の中に email.php という名前で保存をします。 ではこの今作った email.php というview を使って電子メールの内容を作っていきましょう。電子メールの文面を view で作る時の手順としては、今までと同じです。例えばこちら check の方で作っていたデータという変数を準備する部分をそのままコピーしてもらってきましょう。これによってセッションに記録されているmyname や email gender といった内容をdata という変数に準備することができました。なのでこの準備した data を view に渡しながらその view のファイルを受け取ります。ここでは一旦 body というような変数を準備しその中に view を割り当てていきます。そしてファイルとしては contact の email になります。そして data を渡してあげます。こちらの body の中にemail の view で作られた内容というのが格納されます。ですのでこれを使ってメールの body を作っていきます。body ですが email の body メソッドに渡していくんですけれども、この時に注意しないといけないのが今このメールの文面は UTF-8 で作られてしまっていますのでこれを電子メールで使える jis にしなければいけません。 mb の convert_encoding というメソッドでbody の内容を jis に変化させます。こちらは文字コードを変換するというメソッドですけれどもこれを使って jis に文字コードを変換することで電子メールの文字化けを防ぐことができます。では最後にメールを送信するにはこちら send というメソッドを使ってあげると電子メールを実際に送信することができます。ではこちらで動きを確認してみましょう。入力画面に移動しまして名前とメールアドレスを記入していきます。例えばここではこんな感じにしましょう。男性で送信すると確認画面に行きましてさらに送信するボタンをクリックすると「お問い合わせありがとうございました」と出ます。これで電子メールが送信されているはずですのでメールボックスを実際に確認してみてください。さてこの email の先導というメソッドですけれども電子メールは例えば何か通信の状況などによって正常に通信できないこともよくあります。そこでそのような場合にそのメールが送れなかったことが分かるようにするために、例外処理というものを仕込んで行きたいと思います。例外処理というのは try という記述から始まるものなんですが、ひとまず try をしてみると。 そして何か発生した時にそれをキャッチすることができるというのが例外処理というものです 。例えばここでは try の中にemail の send のメソッドを入れてあげると電子メールを送信しようとまずは試みます。その時にもし何か異常が発生した時にここのキャッチというのでそれを受け取ることができます。ここでは EmailSendingFailedException という例外が発生したことを感知できるようにしましょう。これはその名の通りemail を送信するのに失敗したという例外です。まあこの場合 print としてSend error などと何かメッセージを出力し処理をその場で中断させます。こうすることで電子メールが正常に送れなかった時にこのメッセージが表示されて処理が強制的に終了するということも行えます。本来はもう少し view などを整えてきちんとエラーメッセージとして表示できるようにするなどすると親切なスクリプトになるかと思いますので、ぜひその辺りはこれまでのレッスンなども参考にしながら作り込んでみてください。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。