PHPMailer:include(/var/www/sendingmail/protected/extensions/phpmailer/JPhpMailer.php)无法打开流没有这样的文件或目录
问题描述:
I'm using PHPMailer to send mails in Yii.
I have downloaded the extension from Github and included them in /protected/extensions
I have also imported it in main.php
.
But when I try to send mail, it gives me an error
failed to open stream: No such file or directory
My controller:
public function actionContact()
{
$model=new ContactForm;
if(isset($_POST['ContactForm']))
{
$model->attributes=$_POST['ContactForm'];
if($model->validate())
{
Yii::import('application.extensions.phpmailer.JPhpMailer');
$mail = new JPhpMailer;
$mail->IsSMTP();
$mail->SMTPSecure = "ssl";
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->SMTPSecure = true;
$mail->Username = 'from@gmail.com';
$mail->Port = '465';
$mail->Password = 'password';
$mail->SMTPKeepAlive = true;
$mail->Mailer = "smtp";
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true;
$mail->CharSet = 'utf-8';
$mail->SMTPDebug = 0;
$mail->SetFrom('from@gmail.com', 'myname');
$mail->Subject = 'PHPMailer Test Subject via GMail, basic with authentication';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
$mail->MsgHTML('<h1>JUST A TEST!</h1>');
$mail->AddAddress('to@gmail.com', 'John Doe'); $mail->Send();
Yii::app()->user->setFlash('contact','Thank you for... as possible.');
$this->refresh();
}
}
$this->render('contact',array('model'=>$model));
}
There is an error with this line:
$mail = new JPhpMailer;
答
I have figured it by myself,
I have included this line in my controller -:- require("class.phpmailer.php");
Its working now
答
Your phpmailer file should be included in the folder phpmailer which contains extensions as main folder and it contains applications as main folder
phpmailer folder should have the file phpmailer.php
applications->extensions->phpmailer->phpmailer.php is the correct path