如何以Yii发送邮件?

时间:2014-05-08 08:55:55

标签: php yii

我正在尝试使用Yii框架发送邮件。提到了这些tutorial

下载邮件文件夹并命名该文件夹' mailer'。
并将该文件夹添加到受保护的扩展文件夹中。

现在我收到了错误 Fatal error: Call to undefined function IsSMTP() in C:\wamp\www\jobsite_orginal\protected\modules\jobseeker\controllers\SiteController.php on line 90

第90行是IsSMTP();

控制器代码

IsSMTP();
$mailer->IsHTML(true);
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = "ssl";
$mailer->Host = "smtp.gmail.com";
$mailer->Port = 465;
$mailer->Username = "test@aslingga.com";
$mailer->Password = "testpasswdxxx";
$mailer->From = "test@aslingga.com";
$mailer->FromName = "Test";
$mailer->AddAddress("user@example.com");
$mailer->Subject = "Someone sent you an email.";
$mailer->Body = "Hi, This is just a test email using PHP Mailer and Yii Framework.";
if (!$mailer->Send())
{
    echo "Message sent successfully!";
}
else 
{
    echo "Fail to send your message!";
}

3 个答案:

答案 0 :(得分:0)

尝试使用Google帐户,因为您使用的是STMP - Gmail

$mailer->Username = "something@gmail.com";
$mailer->Password = "your_gmail_password";

答案 1 :(得分:0)

首先需要包含PHPMailerAutoload.php

我假设您已将此扩展名保存为protected / extensions / mailer / your_extension

在代码顶部添加以下行

  include_once Yii::getPathOfAlias('application.extensions.mailer') . '/Emailer.php';

//然后是你的其余代码。

答案 2 :(得分:0)

您收到致命 错误,因为您使用的是phpMailer的类方法,而不导入/包含phpMailer类。

在代码的开头导入phpMailer类。

      //As per current phpmailer exentions documentation this line will solve the problem.
      Yii::import('application.extensions.phpmailer.JPhpMailer');