テスト
ケータイのメアドにメールを送るなら、やっぱ絵文字入りで送りたいっすよねぇ。ちょっと絵文字使うだけで、結構華やかな感じになりますもん。まぁデコメのほうがもっとハデになるけど、作るのも送るのも大変。やっぱ絵文字使えるぐらいで十分。
と思ってPHPで絵文字メールを送信するサンプルコードとかライブラリを検索してみたところ、意外と無い。
じゃあってんで、作ってみました。
絵文字メール送信ライブラリ「mobi_mail_class.php」
mobi_mail_class.zip
「outputfilter.emoji.php」同様、件名や本文にUnicode形式(xxx;)でiモード絵文字を記載しておくと、各キャリアに対応した絵文字に変換してメールを送信してくれるというもんです。
【使い方】
1)適当なところに「mobi_mail_class.php」を置きます。
2)以下のようなコードを書きます。
require(’mobi_mail_class.php’);
//メール件名
$subject = ‘__hogehoge__絵文字テスト’;
//メール本文
$message = <<<EOS
__user_name__様
ほげほげ
ハートも雪だるまもいけてるかな__hogehoge__
てすとてすと
EOS;
//送信元メアド
$from_email = “yufuki@munohara.net”;
//送信元名前
$from_name = “ほげほげ送信者”;
//送信先
$to_email = “hogehoge@hogehoge.com”;
//置き換え文字列
$replace_arry = array(”user_name” => “鬼瓦権三郎”, “hogehoge” => “ほげほげ”);
//インスタンス化
$my_mobimail = new Mobi_mail();
//送信
$my_mobimail->sendmail($to_email, $subject, $message, $from_email, $from_name, $replace_arry);
Unicode形式絵文字の入力にはこれ↓を使ってください。
http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/tool/
3)(゚Д゚)ウマー
【注意というか仕様というか】
・特定文字列の置き換えに対応しています。上記ソースのように、”__任意の文字列__”といった文字列を本文中に記載しておき、sendmail()する際に先ほどの任意の文字列をキーとする連想配列を渡すと、”__任意の文字列__”をその値で置き換えます。
・14行目sendmail()に渡す引数は、全てShift-JISにエンコードしてください。
・文字数チェックはしてませんので、各自行ってください。
・iモード絵文字にしか対応していません。
・各キャリアの絵文字は互換性が無いので、いちばん近いであろう絵文字に変換するようにしていますが、人によっては違和感があるかもしれません。
・送信先メアドがケータイのでなかった場合、絵文字が省かれた内容のメールが送信されます。
・sendmail()の引数「$from_name」「$replace_arry」は省略可能です。
・商用利用/改変/再配布は自由に。
・このコードを利用したことによりいかなる損害を被ったとしても、当方は保障いたしません。
【参考にさせていただいたサイト】
ke-tai.org (http://ke-tai.org/blog/2007/11/15/emojimail_i/)
さてそれではSSHでの接続に挑戦☆
なんかどのサイト見ても、Puttyっていうターミナルソフトを使う方法しか書いてないので、とりあえず自分もそれに倣ってみる。
よくわかんないけどここ↓から「putty.exe」と「puttygen.exe」をダウンロード
http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html
次に秘密鍵を作成。
1)「Elasticfox Firefox Extension for Amazon EC2」の「KeyPairs」タブをクリック。
2)「Create a new keypair」ボタンをクリック。
3)ダイアログが表示されるので、適当な名前を入力。
4)ファイル保存ダイアログが表示されるので、適当な場所を選択。
上で作成した秘密鍵はPuttyでは使えないそうなので、Puttygenを使ってPutty用に変換する。
1)「puttygen.exe」を起動。
2)「load」ボタンをクリックして、さっき作った秘密鍵ファイルを選択。
3)「Save private key」ボタンをクリック。「パスフレーズ入力してないけどいいの?」って聞かれるけど「はい」で。
4)めでたくppkファイルが完成。
じゃあ早速SSHでアクセス!ズギャーン!ってことで「Elasticfox Firefox Extension for Amazon EC2」でイメージを起動。
「Your Instances」の「Open SSH connections」ボタンをクリックすると・・・Puttyは起動するもののログインできない。私は長いことここではまりました。ここを脱するにはいくつかチェックすべきポイントがありますので、以下に書き出してみます。
ここで私が犯した過ちその弐「パスが間違っている」
ここで言うパスとは、putty.exeのパスや先ほど作成した秘密鍵.ppkファイルのパスのことです。このパスは「Elasticfox Firefox Extension for Amazon EC2」の右上にある「Tools」ボタンから変更することができます。適切なパスになるように変更してあげてください。
また、パスに日本語が含まれていると良くないようです。デフォルトだと各ユーザーの「ec-keys」フォルダを参照するようになっているので、ユーザー名が日本語だとダメみたいです。
ここで私が犯した過ちその参「仮想マシンイメージを、KeyPairを指定して起動していない」
SSH接続するには、接続する側/される側双方が同じ秘密鍵を使う必要があります。その為、「Elasticfox Firefox Extension for Amazon EC2」から仮想マシンイメージを起動する際にも、秘密鍵を指定する必要があるのです。
秘密鍵の指定は、イメージを選択して「Launch Instance」ボタンをクリックした後に表示されるダイアログで選択することができます。
「KeyPair」プルダウンメニューから選択
以上をクリアしたら、見事SSHで接続できたお!( ^ω^)
ここからまたさらに、専用イメージ作ってS3に保存したりといろいろあるんですが、それはまた別の話。
最近PHPとDBだけでは飽き足らなくなり、ffmpegとかmingとか使って超面白かっこいいWebアプリとか作りたいーとか思って、VPSとか専用サーバとか安いのを探しておりまして。
でも結構高いんすよね。普通に月1万とか。底辺PGなめんなと。
で、Amazon EC2ですよ。そりゃ24時間30日動かしてりゃ同じくらいになるけど、作ってる間だけなら日に何時間とかだし、自宅サーバだとメンテとかめんどいし、Amazonインフラだから多い日も安心だし(PV的な意味で)。つーかなんといっても初期投資が安く済むのがいいね!
てなことでAmazon EC2に触手もとい食指を伸ばしたわけですが、躓いた躓いた。今になってみるとアホかと思うようなことなんですが、後続の方々の為にメモメモ。
まずはAmazon Web Serviceに登録してアカウントを作成。
ここまでは問題なし。ちなみにこちらを参考にさせていただきました。
「Amazon EC2」と「Amazon S3」を実際に使ってみたので、まずはアカウント作成まで - GIGAZINE
「Amazon EC2」と「Amazon S3」を実際に使ってみた、今度はEC2の操作環境セットアップ - GIGAZINE
で、次は仮想マシンのイメージを何か選択してそれを起動してみます。
仮想マシンを起動するのには2つ方法があって、ひとつはAmazonが提供しているコマンドラインツールで起動する方法と、もうひとつはFireFoxの拡張機能「Elasticfox Firefox Extension for Amazon EC2」を使って起動する方法。
コマンドを覚えるのが嫌だったので、私はGUIで操作できる「Elasticfox Firefox Extension for Amazon EC2」から起動する方法を選択しました。
「Credentials」をクリックして取得したアカウント情報を入力すると・・・
仮想マシンのイメージ一覧が表示された!
適当なのを選択して起動ボタンをぽちっと!
「Your Instances」に表示された!
ってことは仮想マシンの起動に成功したってこと!
うおーすげー簡単じゃーんってしばらく感動してたのですが、Public DNSのURLをブラウザにコピペしてアクセスしてみても、サーバが見つからない。
ここで私が犯した過ちその壱 「仮想マシンイメージの選択ミス」
リスト表示される仮想マシンイメージの全てに、必ずしもApacheがインストールされているとは限らない。もしくは起動時にhttpdが動いているとは限らない。あるいはポート80が空いているとは限らない。
「サーバ」=「Webサーバ」じゃないんですから当然なんですけど、レンタルサーバばかり扱っていた私には盲点でした。ブラウザから動作確認がしたければ、SSHから自分でインストールするか、はじめからApacheがインストールされているイメージを選択(Manifestに”apache”って文字が含まれているのを選ぶ)しましょう。
別のイメージを起動したら、無事ブラウザから確認することができました。
となれば、次はSSHでログインしていろいろ弄くり捏ね繰り回したくなってきますね。
っと、長くなってきたので続きは次回に。
前職のシステム開発会社で「コンテンツエンジニア」というよくわからない肩書きで働いていた私は、「Webでコンテンツビジネスをしたい」という社長の方針をうけて、「veena!」という音楽情報を収集するマッシュアップサイトを立ち上げました。
「Web2.0」という言葉がもてはやされていた当時、veena!は割と色んな所で話題にしていただいておりました。しかし結局ビジネスモデルを確立するに至らず、運営会社の倒産と共にveena!は結局サービスを停止せざるを得なくなってしまいました。
そ もそも veena!は「自分の好きなアーティスト(だけ)の情報をもっと確実に知りたい」という私の欲求から作り始めたものでした。私自身便利に利用していたサ イトでもあったので、このまま亡くしてしまうのは惜しいと思い、サイトを個人で引き取ろうと考えました。しかし、それは簡単なことではありませんでした。
そんな私が「会社が倒産しそうだからWebサービスを個人的に引き取りたい」というあなたのために、『会社倒産に伴ってWebサイトを引き継ぐ場合に気をつけておくべき5つのこと』を挙げてみました。どんだけニッチwww
1、倒産前に譲渡手続きをしておく
会 社が倒産すると、会社の財産は破産管財人が管理することになります。Webサイトも会社の財産ですから、そうなってしまうと社長がいくら許可してもWeb サイトを引き継ぐことはできません。ですから、倒産前に譲り受けておくべきです(でも倒産直前の譲渡って法的に認められるんだろうか?)。
ただveena!の場合、倒産直前まで社長はveena!をどこかに売却しようと画策していたようなので、そうはいってもなかなか難しいかもしれません。
2、利用規約に運営者が変わることがあることを明記しておく
多 くのWebサービスでは会員の個人情報を取り扱います。最近はメールアドレス単体でも個人情報とみなす傾向にあるので、取り扱いには注意が必要です。個人 情報保護法では、個人情報の主体者に許可無く情報を第三者に渡すことを禁じています。その為、うまいことWebサイトを引き継げたとしても、会員情報は一 旦消去しなければならないかもしれません。ですから、利用規約にはあらかじめ運営者が変わることがある旨を書いておいたほうが良いでしょう(ただ、「書い ておけばそれでいーのか?」という気もしますが)。
3、ドメインも譲渡手続きしておく
言うまでも無く、Webサイトにおいてドメインは非常に重要です。システムやコンテンツをいくら引き継いだとしても、これがなければ始まりません。ちなみに、私は「veena.jp」を有効期限切れを待って取得しようとしたのですが、結局どこのだれだかよくわからん人に取られてしまいました。
4、可搬性が高いシステムにしておく(レン鯖でも動くように)
あ る程度の規模のWebサービスの場合、専用サーバ上で運用することが多いと思います。でも、個人で専用サーバを借りるのはなかなかむずかしいのが正直なと ころです。その為、安価なレンタルサーバでも動作するようなシステムにしておくと、あとあと困らなくていいような気がします。が、最初からそんなこと考え てシステム組むのも馬鹿馬鹿しい気もします。
5、サービス停止前に会員やメディアに対してちゃんと告知
私が最も悔やんでいることがこれです。
当時はいろんな後始末や就職活動に追われ、サイトやそのユーザーのことを省みる余裕がありませんでした。その為、veena!を利用していただいていたユーザーさん達は、ある日突然サービスが停止していることに気づいたことでしょう。
最後のお礼とお詫びくらいちゃんとしておくべきだった、と今でも思います。
また、この時点で代替サイトを用意することができていれば、最後のメルマガで告知をすることで上手く新しいサイトにユーザーを誘導することもできたかもしれません。
以上、会社の倒産を経験した私が考える『会社倒産に伴ってWebサイトを引き継ぐ場合に気をつけておくべき5つのこと』でございました。
まぁ、これが参考になることはあまり無いと思いますが、もしもの時に思い出していただければ幸いですw
ちなみに、私は結局veena!を引き継ぐことに失敗してしまったので、veena!の代替となるサイトを1から作り上げました。それが「パダニサ!」です。
veena!同様ご愛顧いただければ幸いです。

