PHPでメールを送信するときのメモ

メール送信はどうも使い慣れません。
現在のWebコンテンツでメール送信は切っても切り離せないものですが、どうも使い方に慣れません。

とりあえず、何度かこうやってメモしていけば体が覚えてくれることでしょう。
本棚にはオライリーの4000円もする「電子メールプロトコル」の本がありますが、たいして活用されていません。

とりあえず、さて、メールを送信したアドレスが存在しない場合、その送信先のドメインが存在しなかったり、ユーザが存在以内場合はリターンメールが返ってくるのですが、その通知先を指定できます。
(そもそもこの考え方であっているのか?)
ヘッダでは「Return-Path」です。
ヘッダにあたる部分には以下のように記述しておくことになっています。

Return-Path: return@exsample.com


しかし、この方法ではほとんど有効ではなく、スクリプトやサーバが指定したものに強制的に上書きされることがほとんどのようです。
もちろん、設定できるのですが、動的に変化させる場合この方法では使えません。
これを回避するには、sendmailへのスイッチが有効なようです。
PHPでは第5引数に次の内容を追加します。

"-f return@exsample.com"


つまり実際にはこうなります。

mb_send_mail( $to, $subject, $body, $headers, "-f $mail" );

これで、受信したメールのソースを見ても正常に設定されました。

メール送信用のモジュールやライブラリを使っている場合はこの限りではありませんので、ご注意ください。

参考にしたのはこのあたり
http://builder.japan.zdnet.com/member/u87200/blog/2009/02/08/entry_27020134/

CentOS5.3がそろそろ出るみたい

RedHatがいつの間にか5.3になっていたので、おそらく近いうちにCentOSもバージョンが同じになると思われます。
特に大きな変更はないと思いますが、またいじれるかと思うとwktkします。

ところで、CentOS5.2でImageMagickのバージョンをあげようと思ってyumをたたいてもパッケージは古いままで、ソースからコンパイルしようと思っても、./configureで画像ライブラリを認識してくれません。
今入っているバージョンでは動いているのでパスだとは思いますが、解説サイトの通りにやってもうまくいかないのでちょっと困ってます。
早めにCentOS5.3が出てくれて、ImageMagickも上がってくれればいいのですが・・・

PHPのHTTP_Clientライブラリ

ファイルをアップロードするにはHTTP_Clientがいいらしいんだけど、
セッションでログイン管理しているからCookieを食わせなくてはいけない。
正確には、すでに食っているので、クッキーの値を送ってやる必要がある。
いろいろ調べてみると、HTTP_Client_CookiManagerというものがあって、passCookies()でセットできるらしいところまではわかったけどうまくいかない。
解説サイトも翻訳しただけで、ろくなサイトが見つからない。
やっぱりこういうクライアント側のごにょごにょはPerlしか使い物にならないのだろうか・・・

フラグを簡単に切り替える

他人のPHPスクリプトを覗いていたら、とても悲しい式を発見しました。

switch( $flag ){
  case 1: $flag = 0; break;
  case 0: $flag = 1; break;
}


フラグの切り替えなのですが、これでもまぁ、別にいいのですけど、1と0の入れ替えなら計算式でもできますよ。

$flag = ( $flag * -1 ) + 1;


入門書というよりは、算数のレベルだと思うんです。

しっかりしろcoreserver

このサイトを含め、私が管理するサイトの半分はcoreserverに置いてあります。
先ほどからですが、サーバからのレスポンスがブツブツ途切れていました。
一応有料サーバーなのですから、しっかりとしてほしいものです。
値段相応といわれればそうかもしれませんが、無料よりも不安定では洒落になりません。

Windows 7 β

13日から日本語版のダウンロードが開始されたということで、14日にはダウンロードを試みていたものの、途中でダウンロードツールが固まったり、レジュームするにも対象ファイルが更新されたとかでもう一度やり直したりで散々な目にあいました。
回線がもう少し太ければよかったのかもしれませんが。

さて、インストールを試みましたが、性能的に対応している予備マシンがないためVMWareを利用することにしました。
が、やはり無理がありました。
重いの何の、マシンがもっさりどころか正常に動きません。
何とかブートしたものの、アップグレード版?なのかOSが見つからないと怒られて進まなくなりました。
もういいや。

FirefoxのアドオンツールFirebugが1.3.0にアップデート

Firefox2でお世話になったFirebugですが、いつの間にかバージョンもあがり、Firefox3に対応していたようです。
Firebugは開発者にとっては、とてもありがたいツールであり、使い方によってはサイトの脆弱性を付くこともできる魔法のツールです。
これでlolifox(Firefox2)ともおさらばですかね・・・
Firefox3をベースにしたブラウザが出ればそちらを使いたいところなのですが。

BOINCをLinuxにインストールする方法

WCG-Team 2chのサイトに「Linuxにインストールする」ページを追加しました。
余ったパーツでマシンが作れるなら、LinuxでBOINCしない?って感じです。
team2ch.infoにあるものとは異なる方法で、初めてLinuxに触れる人のために全手順スクリーンショットが付いてます。
Fedora10でBOINCして見ませんか?