致命错误:无法重新声明类Swift Kohana Framework Email Swiftmailer

时间:2014-07-25 19:01:57

标签: php email frameworks kohana swiftmailer

我从http://github.com/banks/kohana-email安装了Kohan Email模块到我的Kohana Frameword,当我尝试在我的网站上注册时,我得到以下问题:

Fatal error: Cannot redeclare class Swift in 
C:\xampp\htdocs\biblioteka\modules\email\vendor\swift\classes\Swift.php on line 29

我使用以下代码发送电子邮件:

Email::send('example1@gmail.com', 'example2@gmail.com', 'tittle', 'content');

require Kohana::find_file('vendor', 'swift/swift_required', 'php');
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Email')
        ->setFrom(array('example1@gmail.com' => 'From'))
        ->setTo(array('example2@gmail.com'))
        ->setBody('An email');
$result = $mailer->send($message);

这两个代码都有同样的问题。

1 个答案:

答案 0 :(得分:0)

您不应直接包含供应商目录中的任何swift文件,也不应实例化任何swift类。

只要您的bootstrap.php文件中包含以下行,电子邮件模块就会在供应商目录中包含必要的文件。

Kohana::modules(array(
    // Other modules here...
    'email'      => MODPATH.'email',         // Email
));

您收到错误消息的原因是您已经宣布快速通知,原因是您(通过电子邮件模块)。

然后,您只需使用第一个示例(仅Email类)发送电子邮件:

Email::send('example1@gmail.com', 'example2@gmail.com', 'tittle', 'content');