public function initMailer()
{
// メール送信時の文字エンコード指定(デフォルトはUTF-8)
if (isset($this['config']['mail']['charset_iso_2022_jp']) && is_bool($this['config']['mail']['charset_iso_2022_jp'])) {
if ($this['config']['mail']['charset_iso_2022_jp'] === true) {
\Swift::init(function () {
\Swift_DependencyContainer::getInstance()->register('mime.qpheaderencoder')->asAliasOf('mime.base64headerencoder');
\Swift_Preferences::getInstance()->setCharset('iso-2022-jp');
});
}
}
$this->register(new \Silex\Provider\SwiftmailerServiceProvider());
$this['swiftmailer.options'] = $this['config']['mail'];
if (isset($this['config']['mail']['spool']) && is_bool($this['config']['mail']['spool'])) {
$this['swiftmailer.use_spool'] = $this['config']['mail']['spool'];
}
// デフォルトはsmtpを使用
$transport = $this['config']['mail']['transport'];
if ($transport == 'sendmail') {
$this['swiftmailer.transport'] = \Swift_SendmailTransport::newInstance();
} elseif ($transport == 'mail') {
$this['swiftmailer.transport'] = \Swift_MailTransport::newInstance();
}
}