1.7.3をインストール。PHP&MySQL"という本を借りた。この本は、書店でよく見るコンピュータ技術書が持っていない親近感を持っている。小難しい技術についても、おもしろおかしく紹介してくれるので、読んでいて楽しめるし飽きない。この本に対しての他のユーザーの声が聞きたいならば、ぜひAmazonのレビューを見てみてほしい。クリックでAmazonへ飛ぶ!本文を読む前の支度わたしの環境を書いておこう。PHP&MySQLなかなかいい本なのだが第一章、UFOにさらわれた飼い犬のファングを探すお話、"さらわれたファングについての情報を集めるために、入力フォームつきWebサイトをつくる"ところで、そのフォームの内容をメールで送信しようとしてもうまく送信できなかった。使ったサーバーはGmailのSMTPサーバー。本の付録iiには日本向けに、XAMPPのインストール手順が紹介されていた。XAMPPとはWebアプリケーションをつくるのに必要なソフトがまとまったものだ。Xにインストールしてあった。メール送信設定は本を参考に、自分の環境にあわせてphp.iniファイルの中に書き込んだ。=しかしここで気づく。この設定にはあれが足りないことに。なにか?それは、Gmailのサーバを使う時に必要となる、認証(ログイン)用パスワードだ。この設定ではそれが抜けていた。どこにパスワードを設定すればよいのだらうか?私はPHPなんて初めてなので、知識はまったくない。そこで、PHPがどのようにメールを送信するのかを調べた。↓5、メール送信完了!どうやらあの設定(php.iniの設定)は、チャートでいう3をするための設定のようだ。Gmailへのログインはメール送信プログラムが行うらしい(本ではこの部分に触れていない)。いうことは、メール送信プログラムにGmailのパスワードを教えてあげれば、GmailのSMTPサーバに勝手にログインして、PHPから受け取ったメールを送信してくれることだらう!善は急げ気になったらググる。メール送信プログラムについて調べた。Agent:メール転送エージェント)と呼ぶらしい。sendmailとqmailとpostfixという3つのMTAが有名とのこと。Xにはpostfixがプリインストールされているらしく、PHPはこのpostfixにメールを渡しているようだった。そのpostfixはMacの中の"/etc/postfix/"という場所にいることもわかった。今から行うミッションはこうだ。postfixというMTAにGmailのパスワードを教える。この参考サイトはとても簡潔にまとめられているので、このブログを読むのに飽きたら少しお邪魔してみるといいかもしれない。ターミナルFinderで、commandキーとshiftキーとgキーを同時に押す(もしくはメニューの"移動>フォルダへ移動"をクリック)。"/etc/postfix/"と入力しreturnキー。表示された場所こそがpostfixの中枢だ。今回はターミナルを利用して設定しようと思う。ターミナルに次のコードを打ち込みreturnキーを押す。/etc/postfix/sasl_passwdこれでGmailのパスワードを格納するファイルが作成される。画面が変わり編集できるようになる。returnキーを押し、下の方にINSERTと表示されたのを確認したら次のコードを埋め込む。自分のアドレス@gmail.com:パスワード自分のアドレスとGmailのパスワードをコロン(:)で区切って入力。入力し終えたらescキーを押して次のコマンドを入力。:wq保存コマンドだ。これでログインに必要な情報(ファイル名:sasl_passwd)は保存された。次のコードを使って設定を有効可しよう。/etc/postfix/sasl_passwd次にpostfix本体に、"Gmailは認証が必要なサーバーだからさっき作ったsasl_passwdというファイル中にあるパスワードを使ってログインするように"と伝える。その伝言はmain.cfというファイルに記せば良いようだ。/etc/postfix/main.cfこうしてmain.cfを編集モードにする。カーソルをファイルの一番下まで持って行き、そして改行。ファイルの1番下に次のコードを追記する。SSL.smtp_use_tls=yessmtp_tls_security_level=encrypttls_random_source=dev:/dev/urandomそして保存。保存は先程と同じで、escキーからの:wqだ。postfixはgmailにログインしてくれるはずだ。設定は完了!postfixをスタートさせる。startこれといって怪しげな警告やエラー文が出力されていなければ次のコードを入力。reloadpostfix更新完了。試しにメールを送信したいなら次のコードで送信しよう。自分のアドレス@gmail.comメーラを開いてメールを受信。testって件名のメールが届いていれば大成功だ!メールが届かないときは...もし、いくら待ってもメールが届かない時は、次のコマンドを入力してキュー(送信待ちメール)やログ(エラーや警告などの記録)を確認。メール送信を妨げている問題が表示されるかも。emptyなら送信待ちはない。正常なら特に文は出力されない。それ以外の文が出力されたら、その文が意味している間違いを直す。送信待ちのメールが悪さをしないように、次のコマンドできれいさっぱりリフレッシュしておく。ALLメールが届いたなら、MTAの設定は大成功!これで本に沿ってプログラミングを楽しむことが出来るようになった。あ、せっかくだからもうひとつ。設定する気力が少しでも残っているなら、次の設定をしておくことをオススメする。次の設定をするだけで、postfixがMacの起動と同時に勝手にスタートしてくれるようになるからだ。startコマンドでスタートさせなくてはならなくなる。/System/Library/LaunchDaemons/org.postfix.master.plist編集モードになったら</dict>という文字列を見つける。その文字列の前に次のコードを入力する。<key>RunAtLoad</key><true/>これでpostfixは自動的に起動するようになった!ちなみに、PHPのメール送信用関数にはmb_send_mail()関数を使っている。これは英文メールのみに対応しているmail関数の拡張版で、マルチバイト文字=日本語に対応している(その証拠にmbはマルチバイトの頭文字!)。文字コードをしっかり決めておかないと(この場合UTF-8)恐ろしい文字化けが襲ってくる。私は身をもって体験してしまった。文字化けホラー好きでない限り、しっかり文字コードを決めてからメールを送ろう。決め方は本の付録iiiにしっかり載っている。-間違いや足りない手順がある場合は連絡してもらえると助かります。