BluemixとSendGridを使えば、メール送信アプリ(システム)も簡単に開発できるよー

Bluemixのカタログには、様々なAPIやIBMのサービス、サードパーティとして外部のAPIまで幅広く開発素材が連携されています。

その中、クラウドメールサービス「SendGrid」を使って、Bluemix上でメール送信ができる簡単なアプリの作り方を紹介したいと思います。

 

アカウントの準備

・Bluemixアカウント(30日間無料で使えます。)

 新規登録はこちら:https://console.ng.bluemix.net/registration/

 

・SendGridアカウント(無料枠あり。)

 新規登録や詳細はこちら:https://sendgrid.kke.co.jp/

Bluemix上にPHP開発環境を構築します

メール送信アプリを動かす、Bluemixのランタイムを作成します。

下記の手順(4ステップ)で、Bluemix上にPHP環境を構築することができます。(60秒以内)

・手順:① Cloud Foundry アプリ → ② WEB → ③ PHP

最終的に、「④」のようにアプリケーションが表示されると正常です。

作成したPHPアプリケーションに「SendGrid」を追加

下記の手順でSendGridをアプリケーションに追加することができます。

① サービスまたは API追加

② カタログ画面の検索機能を使って「sendgrid」を検索

③ 検索された「SendGrid」をクリック

④ 今回は、Freeを選択

⑤ アプリケーション情報を選択します。(「①」からの追加ですとデフォルトでアプリケーション情報が設定されています。)

下記のように、アプリケーションに「SendGrid」が追加されます。

これで、アプリケーションからSendGridを使うことができるようになります。

SendGridの情報を確認します。

画面の左側の「環境変数」を選択すると、今回追加した「SendGrid」のアクセス情報などが確認できます。

ここで表示されている、passwordやusernameがAPIキーになリます。

画面の左側の「サービス → SendGrid」を選択すると、SendGridのダッシュボードを確認することもできます。

アプリを作ります。まず、Bluemixのソースコードを入手

これで、アプリケーションからメールを送信する環境の準備が終わりました。

次は、簡単にソースコードを編集して「メール送信アプリ」を完成させてみたいと思います。

 

・アプリケーションのソースコード入手。

画面の左側の「コーディングを開始 → スターター・コードのダウンロード」で、アプリケーションのソースコードを入手できます。

ダウンロードされたソースコードを皆さんの作業スペースに移動してください。

・index.php(既存の「index.php」を改修

・send.php(新規ファイル)

※ ここに設定する「SendGrid username、SendGrid Password」は、「・追加された「SendGrid」の情報を設定」で確認してください。

・修正されたコードをBluemixにデプロイ

※ デプロイ手順は、上記の「・アプリケーションのソースコード入手。」で表示された画面にて詳細が確認できますので、皆さんのアプリケーション情報などご確認してください。

コードのディレクトへ移動

cd src/blue-send-mail
Bluemixに接続

cf api https://api.ng.bluemix.net
Bluemixにログイン

cf login -u [Bluemix Login Mail Add] -s [Bluemix Space]
デプロイ

cf push blue-send-mail

メール送信アプリを動かしてみましょう。

アプリケーションのURLを実行すると、先ほど改修したメール送信画面が表示されますので、

それぞれ、送信内容を設定し「送信」ボタンをクリックしてみてください。

メール送信に成功すると、下記のようにSendGridから実行結果が表示されます。

・メール受信を確認。

下記のようにメールが届いています。

 

上記の「・追加された「SendGrid」の情報を確認。」で紹介したSendGridのダッシュボードの「Active」から送信後の状態もステータスごとに確認できるようになっています。

最後に

このように、Bluemix上でSendGridを使ったメール送信システムが簡単に構築できます。

特徴としては、SendGridに別途契約を行うことなく、BluemixにAPIを追加するだけで使えるところがより便利です。

 

今回は、curlを使ってAPIを実行しましたが、SendGridで提供されているライブラリーを使った実装も可能になります。

なお、SendGridにはメールのトラッキングやテンプレートなど、無料でも魅力的なサービスを沢山使えるようになっていますので、

BluemixとSendGridを試してみてください。