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でいいやと思ってます。