PHPListの添付ファイルについてのTips 2つ
PHPListはLAMP環境で動作するオープンソースのメルマガ配信プログラム。
PHPList http://www.phplist.com/
◆ 添付ファイルを送信できるようにする
PHPListはデフォルトではメッセージにファイル添付ができないようになっている。添付できるようにするには設定ファイルの変更が必要。 lists/config/config.php の「ALLOW_ATTACHMENTS」の値が0になっているので、1に変更する。変更するとメッセージ作成の画面に「添付」のタブが出てくる。
ちなみに、メールにファイル添付がされるのはHTML形式でメッセージを送信したときのみ。TEXT形式でメッセージを作成すると、ファイルをダウンロードするためのURLがメッセージの末尾に記述される。
なお、メッセージをHTML形式で送信しても、登録されているユーザーの設定が「HTMLメールを受け取る」になっていなければ、TEXT形式でメール送信される。メール形式やファイル添付が意図したものにならない場合、ユーザー設定を見てみるといいかも。
参考: http://docs.phplist.com/SendMessageAttachInfo
◆ Internet Explorerでダウンロードエラー
添付ファイルを登録した状態でTEXT形式でメール送信した場合、ファイルダウンロードができるURLが記述されるのは前述の通り。 で、クリックするとブラウザが起動してダウンロードが開始されるのだけど、Internet Explorer の"特定の"バージョンではエラーになってしまう。
この現象についてはMSでも情報を公開してる。 Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題 http://support.microsoft.com/default.aspx?scid=kb;ja;436605 (上記のページではIE5と6だけ書かれているが、7でも起きた。)
解決方法としては、lists/dl.php に以下の1文を加える。 (no-cache でなければいいので、Private 以外でもOKだと思う)
header( 'Cache-Control: Private' );
46行目付近からファイル出力処理が始まっているので、Content-type 出力の後あたりに入れておけばいいのでは。