Установка yii-mail в существующее веб-приложение

Я только что скачал yii-mail и хотел бы использовать его в своем приложении yii, но я не знаю, где, кроме файлов. Я попытался перейти к документации по ссылке, приведенной на странице yii-mail, но это не помогло. Где я должен поместить файлы и есть ли какая-то строка кода, которую мне нужно добавить в приложение, чтобы я мог использовать функцию mail?

2 ответа

Решение

Yii-mail является расширением для инфраструктуры yii (очевидно), поэтому, когда вы загружаете файлы, связанные с этим расширением, вы помещаете их в каталог расширений в вашем "защищенном" каталоге в вашем проекте yii. В частности, ваш каталог расширений должен иметь подкаталоги, каждое из которых имеет имя расширения.

Кроме того, вам, вероятно, также придется перейти в /protected/config/main.php и добавить некоторый код, чтобы разрешить использование расширения. Вероятно, есть "как скопировать / вставить", как это сделать на странице для самого расширения. В частности, вы будете добавлять код в массив "components" в main.php, который сам по себе является большим массивом.

Выполните следующие действия:

  1. Загрузите расширение PHPMailer для Yii Framework по этой ссылке.
  2. Создайте каталог "extensions" в "защищенном" каталоге. (Необязательно, если вы создали его раньше)
  3. Распакуйте сжатые файлы в каталог расширений.
  4. Теперь создали новый контроллер и сделаем функцию actionSendEmail().
  5. Поместите коды в тело actionSendMail().
  6. Вызовите запрос действия своему контроллеру и подождите, пока ваш веб-сервер завершит обработку вашего запроса.
  7. Если ваше письмо было успешно отправлено, оно будет отображать результат "Сообщение успешно отправлено!" либо будет отображаться сообщение "Не удалось отправить ваше сообщение!"

Код:

<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!";
     }
}
?>
Другие вопросы по тегам