public function __construct(KConfig $config = null)
{
parent::__construct($config);
$this->_message = Swift_Message::newInstance();
switch ($config->method) {
case 'sendmail':
// WIP required -bs or -t switch
$transport = Swift_SendmailTransport::newInstance($config->sendmail);
break;
case 'smtp':
if ($config->smtpauth == 1) {
if ($config->smtpsecure != "none") {
$transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport, $config->smtpsecure)->setUsername($config->smtpuser)->setPassword($config->smtppass);
} else {
$transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport)->setUsername($config->smtpuser)->setPassword($config->smtppass);
}
} else {
if ($config->smtpsecure != "none") {
$transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport, $config->smtpsecure);
} else {
$transport = Swift_SmtpTransport::newInstance($config->smtphost, $config->smtpport);
}
}
break;
case 'spool':
// TODO: Make spool options configurable.
$transport = Swift_SpoolTransport::newInstance(new Swift_FileSpool('/var/spool/swift'));
break;
case 'mail':
default:
$transport = Swift_MailTransport::newInstance();
break;
}
$this->_mailer = Swift_Mailer::newInstance($transport);
}