Установка yii-mail в существующее веб-приложение
Я только что скачал yii-mail и хотел бы использовать его в своем приложении yii, но я не знаю, где, кроме файлов. Я попытался перейти к документации по ссылке, приведенной на странице yii-mail, но это не помогло. Где я должен поместить файлы и есть ли какая-то строка кода, которую мне нужно добавить в приложение, чтобы я мог использовать функцию mail?
2 ответа
Yii-mail является расширением для инфраструктуры yii (очевидно), поэтому, когда вы загружаете файлы, связанные с этим расширением, вы помещаете их в каталог расширений в вашем "защищенном" каталоге в вашем проекте yii. В частности, ваш каталог расширений должен иметь подкаталоги, каждое из которых имеет имя расширения.
Кроме того, вам, вероятно, также придется перейти в /protected/config/main.php и добавить некоторый код, чтобы разрешить использование расширения. Вероятно, есть "как скопировать / вставить", как это сделать на странице для самого расширения. В частности, вы будете добавлять код в массив "components" в main.php, который сам по себе является большим массивом.
Выполните следующие действия:
- Загрузите расширение PHPMailer для Yii Framework по этой ссылке.
- Создайте каталог "extensions" в "защищенном" каталоге. (Необязательно, если вы создали его раньше)
- Распакуйте сжатые файлы в каталог расширений.
- Теперь создали новый контроллер и сделаем функцию actionSendEmail().
- Поместите коды в тело actionSendMail().
- Вызовите запрос действия своему контроллеру и подождите, пока ваш веб-сервер завершит обработку вашего запроса.
- Если ваше письмо было успешно отправлено, оно будет отображать результат "Сообщение успешно отправлено!" либо будет отображаться сообщение "Не удалось отправить ваше сообщение!"
Код:
<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!";
}
}
?>