在现有Web应用程序中安装yii-mail

时间:2011-04-15 22:31:16

标签: php yii swiftmailer

我刚刚下载了yii-mail并希望在我的yii应用程序中使用它,但我不知道文件的位置。我试着去yii-mail页面上提供的链接上的文档,但它没有帮助。我应该把文件放在哪里,是否需要添加一些代码到应用程序,以便我可以使用邮件功能?

2 个答案:

答案 0 :(得分:6)

请按照以下步骤操作:

  1. 从此link下载Yii Framework的PHPMailer扩展程序。
  2. 在'protected'目录下创建'extensions'目录。 (如果您之前已创建,则可选)
  3. 将压缩文件解压缩到扩展目录。
  4. 现在创建了一个新的控制器并创建了一个函数actionSendEmail()。
  5. 将代码放入actionSendMail()正文中。
  6. 将操作请求调用到您的控制器,并等待您的Web服务器完成处理您的请求。
  7. 如果您的邮件发送成功,它将显示结果'消息已成功发送!',否则它将显示“无法发送您的消息!”
  8. 代码:

    <php
    public function actionSendEmail() {
         $mailer = Yii::createComponent('application.extensions.mailer.EMailer');
         $mailer->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!";
         }
    }
    ?>
    

答案 1 :(得分:5)

Yii-mail是yii框架的扩展(显而易见),因此当您下载与该扩展相关联的文件时,您将把它们放在您的yii项目中“受保护”目录下的extensions目录中。具体来说,你的扩展目录应该有子目录,每个子目录都有一个扩展名。

此外,您可能还需要进入/protected/config/main.php并添加一些代码以允许使用扩展。在扩展本身的页面上可能有“如何,复制/粘贴”如何执行此操作。具体来说,您将在main.php中的“components”数组中添加代码,这本身就是一个很大的数组。