読者です 読者をやめる 読者になる 読者になる

ヒビノログ

個人的なメモを淡々と記録していくブログ。最近はLaravelやスマートフォンの話題など。

PHPListの添付ファイルについてのTips 2つ

PHPListLAMP環境で動作するオープンソースのメルマガ配信プログラム。

PHPList http://www.phplist.com/

◆ 添付ファイルを送信できるようにする

PHPListはデフォルトではメッセージにファイル添付ができないようになっている。添付できるようにするには設定ファイルの変更が必要。 lists/config/config.php の「ALLOW_ATTACHMENTS」の値が0になっているので、1に変更する。変更するとメッセージ作成の画面に「添付」のタブが出てくる。

phplist

ちなみに、メールにファイル添付がされるのはHTML形式でメッセージを送信したときのみ。TEXT形式でメッセージを作成すると、ファイルをダウンロードするためのURLがメッセージの末尾に記述される。

なお、メッセージをHTML形式で送信しても、登録されているユーザーの設定が「HTMLメールを受け取る」になっていなければ、TEXT形式でメール送信される。メール形式やファイル添付が意図したものにならない場合、ユーザー設定を見てみるといいかも。

phplist2

参考: 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 出力の後あたりに入れておけばいいのでは。