2017-01-16 3 views
1

Я использую php mailer в работе yii frame, может кто-нибудь просить etell меня, как включить файлы php mailer в модель рамки yii для отправки почты?PHP mailer в yii framework

Ниже мой код, но он бросает ошибку

Yii::$app->db->createCommand("update merchant_master set code='$code' where id='$mid'")->execute(); 

include(Url::base()."/PHPMailer/class.PHPMailer.php"); 
include(Url::base().'/PHPMailer/class.smtp.php'); 
include(Url::base().'/PHPMailer/PHPMailerAutoload.php'); 

$name= 'Test'; 
$mail_id ='[email protected]'; 
$idd = 'booking-ticket1475748775322'; 
$url='<a href="http://www.mdcfestival.com/book-now/uploads/'.$mid.'.pdf" target="_blank">here</a>'; 

return $sendmail = '[email protected]'; 
$message="Name:".$name."\r\n"; 
$message .=" "; 
$message .= "EmailId:".$mail_id."\r\n"; 
$message .=" "; 
$message .= "You can get your tickets by clicking this URL: ".$url."\r\n"; 
$email = new PHPMailer(); 
$email->From  = '[email protected]'; 
$email->FromName = 'MDCFestival'; 
$email->Subject = 'MDCFestival Tickets'; 
$email->Body  = $message; 
$email->AddAddress($sendmail); 

//$email->AddAttachment($file_name); 
if($email->Send()) { 
    echo 11; 
} else { 
    echo 00; 
} 
+0

Пожалуйста, добавьте информацию об ошибке на вопрос. –

+0

@DmitryLozhkin его бросает внутреннюю ошибку 500 –

+0

@DmitryLozhkin Я включил этот код в модель. вы можете посоветовать мне, как включить в него библиотеку phpmailer. –

ответ

2

Вы можете сохранить файлы PHPMailer внутри каталога поставщика.

И вы должны включить его в массиве импорта в main.php и console.php

'import'=>array(
    'application.vendor.PHPMailer.*', 

Тогда вы можете назвать это следующим образом в контроллере

$mail = new PHPMailer(true); 

или есть расширения для Yii 1 и Yii 2 вы можете легко настроить и начать отправку писем.

Yii 1 - http://www.yiiframework.com/extension/phpmailer/

Yii 2 - http://www.yiiframework.com/extension/zyx-phpmailer/

0

Эта линия не имеет никакого смысла:

return $sendmail = '[email protected]'; 

код никогда не выйти за пределы этой точки. Измените его на:

$sendmail = '[email protected]'; 

Вы также должны прочитать риое PHPMailer, который говорит вам, как загрузить файлы классов; Используйте один из: композитор (желательно), автозагрузчик или загрузите классы вручную.