SwiftMailer 4 + Symfony 1.2 の初回設定

私の環境(symfony1.2.9-DEV,Swift 4.0.3)では、SwiftMailerを
(sf_root_dir)/lib/vendor/Swift/ 以下などにそのまま置くだけではうまくautoloadしてくれなくて動きませんでした。

解決法は http://forum.symfony-project.org/index.php/m/77609/ にあるのですが、載っているソースにtypoがあったりしてはまったので、次回からは以下のようにしようと思います。

(1) (sf_root_dir)/lib/vendor/Swift4/ 以下にSwiftMailerのtarを展開
Swift4 の直下に swift_init.php とかが置かれる感じで。

$ ls lib/vendor/Swift4/
classes  dependency_maps  mime_types.php  preferences.php  swift_init.php  swift_required.php

(2) lib/vendor/Swift4/swift_required.php の以下の部分を変更して、同ディレクトリの swift_required_4sf.php に保存

- Swift::registerAutoload();
+ spl_autoload_register(array('Swift', 'autoload'));

(3) 以下のファイルを以下の内容で設置

(sf_root_dir)/plugins/sfSwiftMailerPlugin/config/sfSwiftMailerPluginConfiguration.class.php

<?php
class sfSwiftMailerPluginConfiguration extends sfPluginConfiguration
{
    public function initialize()
    {
        require_once dirname(__FILE__) . '/../../../lib/vendor/Swift4/swift_required_4sf.php';
        return true;
    }
}

(4) symfony cc


ちなみにJISで日本語メールを送るのは半分あきらめてて、別にutf-8でいいやと思ってます。