SendMail in Windows Server

さて、いつもいつも同じことやってる気がするので、メモ。
Windows Serverでメール周りを設定していないなどの関係で、Sendmailが使えない場合。

解決方法は3つ
1.php.iniを設定して、mail関数でSMTPを利用するように
2.PEAR:Mailを利用
3.Socketをちまちま。。。

実運用中の環境だと1はさすがに再起動を伴う為難しい
(.htaccessでいけるかもしれんが、メールの送信設定はあまりいじりたくない)
また、実行環境に依存しないコードを書くという意味で、mb_send_mailも直接の利用自体が望ましくない。

なので、いつもは2を使うわけだが。
PEAR:Mailは、設定で"smtp","mb_send_mail","mail"を選択できる為、環境に依存しない)

PHPのバージョンとライブラリのバージョンの関係でよくトラブリます。
また、動かない、かつ、エラーが見えない。
※クラスの中を快適にデバッグできる方法誰か教えて。。。


てことで、残る3にいくまえに、よいライブラリを見つけました。
Qdsmtp http://hal456.net/qdsmtp/

PEAR:Mailの簡易版ってとこですが、1ファイルで使い勝手が良さそうです。

でも、仕事で使うときはライセンスの関係もあるので、今度時間がある時に、同一コンセプトで車輪の再開発しようかな。

7月19日追記
と、ブログにかいていたところ、ライセンスを変更くださっていました。hal456さん、ありがとうございます。
※非常に制限の緩いMIT Licenceになっています。
仕事などでも広範囲に活用できそうです。さっそくCakePHPでつかってみたいと思います。

ウェブチルダ問題

さてさて、WebプログラミングでUNICODE経由して文字コードを変換した時に、波線〜が文字化けする場合があるのは既知の事実。なのに、今回、久々にハマりました。

なぜって、内部エンコード、表示ともに、EUC-JPだったんだもん。
しかも、記述場所は、ソースに直書き。(DB経由はしていない)


あれれ、なんで、ばけるんだろう。

、、、

、、、

、、、

、、、犯人はオマエか、Eclipse!(苦笑)



ええ、Eclipse君が保存したファイルは、もうすでに化けていました。。。
しかも、難儀な事に、Eclipse上では正常に表示されるらしい。


http://hp.vector.co.jp/authors/VA000137/phpeclipse/eclipse-euc.html


開発環境のバージョンあげたら解決するのかなぁ。

アートオブSQL

お買い物メモ

http://www.amazon.co.jp/%E3%82%A2%E3%83%BC%E3%83%88%E3%83%BB%E3%82%AA%E3%83%96%E3%83%BBSQL-%E2%80%95%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%99SQL%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%89%8B%E6%B3%95-Stephane-Faroult/dp/4873113369/ref=sr_1_1/249-6598232-5726707?ie=UTF8&s=books&qid=1189495268&sr=1-1

AMAZONで買いたいんだけど、AMAZON価格(4410円)って、定価より高いです。。。
怖くて注文できません。

http://www.oreilly.co.jp/books/9784873113364/

情報処理技術者試験改革!

従来別れていた、利用者側と開発者側の区分が消え、統合されるようだ。
これにって、来年春を最後に、初級シスアドの試験は消える。
難易度はレベル制で表されるようだ。
http://headlines.yahoo.co.jp/hl?a=20070907-00000000-zdn_ait-sci


この中でも注目すべき、初級シスアドの代替試験(レベル1)は、合格率50%を目指すそうだ。
これは、国家資格の中でも、かなり高い合格率の試験といえる。


このことにより、レベル2の基本情報技術者試験の代替試験の難易度も下がるだろう。
結果として、今までとは別試験になると考えた方がよいかもしれない。
また、今までは初級シスアドレベルができれば、コンピュータが使える人といえたが、これから就職や会社の中でのステータスとしては、レベル2以上の試験を取得していく必要があるようになりそうだ。