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



我安装了Kohan电子邮件模块从http://github.com/banks/kohana-email到我的Kohana框架,当我试图在我的网站上注册时,我得到以下问题:

Fatal error: Cannot redeclare class Swift in 
C:xampphtdocsbibliotekamodulesemailvendorswiftclassesSwift.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);

两个代码都有同样的问题

你不应该直接包含任何来自供应商目录的swift文件,或者实例化任何swift类。

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

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

你得到一个错误告诉你你已经声明了swift,是因为你已经(通过email模块)。

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

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

最新更新