2014-12-02 3 views
0

Я пытаюсь отправить электронную почту через сайт/контакт с помощью PHPMailer. В моем действииContact у меня есть код:Использование PHPMailer с yii2

require '/../../common/phpmailer/PHPMailerAutoload.php'; 
//Create a new PHPMailer instance 
$mail = new PHPMailer; 
... 

Я поместил все в общий каталог/phpmailer. В «общем» каталоге в корневой папке расширенного шаблона. Я получаю ошибку

Class 'backend\controllers\PHPMailer' not found 

Этот способ работал хорошо в yii1, но не в yii2

+0

Невозможно, потому что класс PHPMailer не является частью SiteController. PHPMailer находится в файле class.phpmailer.php в общей папке/phpmailer расширенного шаблона yii2 –

ответ

2

вы должны сделать

use [NAMESPACE]/PHPMailer; 

в верхней части файла.

Также Yii поставляется уже с Swiftmailer, если вы не хотите использовать его, вы всегда можете просто установить новую почтовую программу

это те приходят с PHPMailer уже в пакете. Он также поставляется с cronjob, потому что вы действительно не хотите отправлять электронные письма напрямую, это занимает слишком много времени.
https://packagist.org/packages/rmrevin/yii2-postman

это те лучше интегрируется с Yii как компонент
http://www.yiiframework.com/extension/zyx-phpmailer/

Я лично использую Mailchimp, как это делает отправки электронной почты легко, и я не хочу отладить MailServer, когда дела идут не так хорошо, или когда вы попадаете в списки спама.

+0

Привет, вы можете уточнить, что использовать [NAMESPACE]? – Chisskarzz

Смежные вопросы