我已经设置了梨,之前卡在:
require_once('Mail.php');
我设法通过修复 PHP.ini 中的路径来解决此问题,但现在 YII 抱怨:
include(LOGIN.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory
我不知道要安装哪个库才能让 PEAR 获取 LOGIN.php,如果这是问题所在。也可能是YII不允许导入LOGIN。PHP,因为它可能有自己的?不过我正在抓住稻草。有什么想法吗?
被设置为查找 Yii 的类,这与 PEAR 的标准不同,你需要做什么,它注册了 PEAR 的自动加载器
您可以在指南中阅读有关此内容的信息
您可以使用如下所示的自动加载器:
static function loadClass($className){
include str_replace('_','/',$className).'.php';
return class_exists($className, false) || interface_exists($className, false);
return false;
}
PEAR 扩展应该已经在 PHP 的包含路径中才能正常工作
请参阅 Zend Autoloader 扩展,了解如何实现此扩展
YiiMail
是发送带或不带 smtp 的邮件的可用扩展,这是一个包装SwiftMailer
的电子邮件扩展。此扩展还允许您从视图文件创建电子邮件。从这里下载
在您的配置文件中,在组件部分包含以下代码
'mail' => array(
'class' => 'application.extensions.yii-mail.YiiMail',
'transportType'=>'smtp',
'transportOptions'=>array(
'host'=>'smtp.googlemail.com',
'username'=>'test@gmail.com',//
'password'=>'passwd',
'port'=>'465',
'encryption'=>'ssl',
),
'viewPath' => 'application.views.mail',
'logging' => true,
'dryRun' => false
),
在控制器操作部分中,使用如下所示的内容
$message = new YiiMailMessage;
$message->view = 'registrationFollowup';
//userModel is passed to the view
$message->setBody(array('userModel'=>$userModel), 'text/html');
$message->addTo($userModel->email);
$message->addBcc('someone@gmail.com');
$message->from = Yii::app()->params['adminEmail'];
Yii::app()->mail->send($message);
视图registrationFollowup
驻留在 Views 文件夹内的邮件文件夹中,视图路径从配置文件中理解 ( 'viewPath' => 'application.views.mail'
)