我正在尝试将swiftmailer集成到我的yii应用程序中。但到目前为止,我还没有成功。我已经在"http://www.yiiframework.com/extension/swiftmailer/"上阅读了这篇文章,并做了以下工作。
In Protected/Config/main.php
'swiftMailer' => array(
'class' => 'ext.swiftMailer.lib.swift_required',
),
In contoller Function sitecontroller.php
$SM = Yii::app()->swiftMailer;
$mailHost = 'mail.example.com';
$mailPort = 25; // Optional
// New transport
$Transport = $SM->smtpTransport($mailHost, $mailPort);
$Mailer = $SM->mailer($Transport);
$Message = $SM
->newMessage('My subject')
->setFrom(array('sajilgopinath@impulse.com' => 'Hello'))
->setTo(array('recipient@example.com' => 'Recipient Name'))
->addPart($content, 'text/html')
->setBody($plainTextContent);
// Send mail
$result = $Mailer->send($Message);
现在显示错误:
include(swift_required.php): failed to open stream: No such file or directory
文章指出:
'swiftMailer' => array(
'class' => 'ext.swiftMailer.SwiftMailer',
),
和NOT
'swiftMailer' => array(
'class' => 'ext.swiftMailer.lib.swift_required',
),
你需要指定类名假设你已经提取并移动swiftMailer文件夹到protected/extensions
编辑以上说明仅在下载yii扩展时有效。如果您希望从swiftmailer.org下载swiftmailer,那么您可以执行以下操作:
- 从swiftmailer.org下载swiftmailer
- 将其提取到供应商文件夹(protected/vendor/)
- 在需要调用swiftmailer 的文件中放置以下代码
require_once('swift/lib/classes/Swift.php'); Yii::registerAutoloader(array('Swift','autoload')); require_once('swift/lib/swift_init.php');
确保在导入中有vendor文件夹Yii:进口(application.vendor . *);